summaryrefslogtreecommitdiff
path: root/gcc/ada/s-valuti.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-15 09:46:41 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-15 09:46:41 +0000
commit9ce02b233ca3dcfa6be1a342fb0747113b3c7693 (patch)
treecc8ecc6bf75735f2544635ed3a30db37cf84caf2 /gcc/ada/s-valuti.ads
parenta6eae12a1d4f6ac29bab2e0eeb21f6a937a4e7f2 (diff)
downloadgcc-9ce02b233ca3dcfa6be1a342fb0747113b3c7693.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111101 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-valuti.ads')
-rw-r--r--gcc/ada/s-valuti.ads10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ada/s-valuti.ads b/gcc/ada/s-valuti.ads
index ac905096862..944b945a2ae 100644
--- a/gcc/ada/s-valuti.ads
+++ b/gcc/ada/s-valuti.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -70,6 +70,14 @@ package System.Val_Util is
-- is greater than Max as required in this case. Constraint_Error is
-- also raised in this case.
+ procedure Scan_Plus_Sign
+ (Str : String;
+ Ptr : access Integer;
+ Max : Integer;
+ Start : out Positive);
+ -- Same as Scan_Sign, but allows only plus, not minus.
+ -- This is used for modular types.
+
function Scan_Exponent
(Str : String;
Ptr : access Integer;