s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of Scan_Unsigned...
authorBob Duff <duff@adacore.com>
Wed, 15 Feb 2006 09:46:41 +0000 (10:46 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 15 Feb 2006 09:46:41 +0000 (10:46 +0100)
commitbfe7c10c9b72680d7ecedd5e408499f971097420
treecc8ecc6bf75735f2544635ed3a30db37cf84caf2
parent744ab5804b6c501e99fa2fd16c580904682ba2f9
s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of Scan_Unsigned...

2006-02-13  Bob Duff  <duff@adacore.com>

* s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
Scan_Unsigned, so we do not scan leading blanks and sign twice.
Integer'Value("- 5") and Integer'Value("-+5") now correctly
raise Constraint_Error.

* s-vallli.adb (Scan_Long_Long_Integer): Call
Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
do not scan leading blanks and sign twice.
Integer'Value("- 5") and Integer'Value("-+5") now correctly
raise Constraint_Error.

* s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
Scan_Long_Long_Unsigned): Split out most of the processing from
Scan_Long_Long_Unsigned out into
Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
This prevents scanning leading blanks and sign twice.
Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
See RM-3.5(44).

* s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
out most of the processing from Scan_Unsigned out into
Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
This prevents scanning leading blanks and sign twice.

* s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
use with Modular'Value attribute.
(Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
attribute.

From-SVN: r111101
gcc/ada/s-valint.adb
gcc/ada/s-vallli.adb
gcc/ada/s-valllu.adb
gcc/ada/s-valllu.ads
gcc/ada/s-valuns.adb
gcc/ada/s-valuns.ads
gcc/ada/s-valuti.adb
gcc/ada/s-valuti.ads