[Ada] updates related to -gnat95 and -gnat05 switches
Arnaud Charlet
charlet@adacore.com
Tue Mar 15 15:42:00 GMT 2005
Tested on i686-linux. Committed on mainline.
Minor updates related to the handling of -gnat95 and -gnat05 switches.
2005-03-08 Robert Dewar <dewar@adacore.com>
* usage.adb: Add missing lines for -gnat95 and -gnat05 switches
* sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
* i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
-------------- next part --------------
Index: usage.adb
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/usage.adb,v
retrieving revision 1.21
diff -u -p -r1.21 usage.adb
--- usage.adb 10 Feb 2005 13:56:59 -0000 1.21
+++ usage.adb 15 Mar 2005 13:56:37 -0000
@@ -26,6 +26,7 @@
with Hostparm;
with Namet; use Namet;
+with Opt; use Opt;
with Osint; use Osint;
with Output; use Output;
with System.WCh_Con; use System.WCh_Con;
@@ -466,9 +467,24 @@ begin
Write_Switch_Char ("83");
Write_Line ("Enforce Ada 83 restrictions");
+ -- Line for -gnat95 switch
+
+ Write_Switch_Char ("95");
+
+ if Ada_Version_Default = Ada_95 then
+ Write_Line ("Ada 95 mode (default)");
+ else
+ Write_Line ("Enforce Ada 95 restrictions");
+ end if;
+
-- Line for -gnat05 switch
Write_Switch_Char ("05");
- Write_Line ("Allow Ada 2005 extensions");
+
+ if Ada_Version_Default = Ada_05 then
+ Write_Line ("Ada 2005 mode (default)");
+ else
+ Write_Line ("Allow Ada 2005 extensions");
+ end if;
end Usage;
Index: sem_ch7.adb
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/sem_ch7.adb,v
retrieving revision 1.20
diff -u -p -r1.20 sem_ch7.adb
--- sem_ch7.adb 10 Feb 2005 13:56:10 -0000 1.20
+++ sem_ch7.adb 15 Mar 2005 13:56:37 -0000
@@ -1685,6 +1685,8 @@ package body Sem_Ch7 is
(Full));
Set_Is_Volatile (Priv, Is_Volatile (Full));
Set_Treat_As_Volatile (Priv, Treat_As_Volatile (Full));
+ Set_Is_Ada_2005 (Priv, Is_Ada_2005 (Full));
+ -- Why is atomic not copied here ???
if Referenced (Full) then
Set_Referenced (Priv);
Index: i-c.adb
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/i-c.adb,v
retrieving revision 1.6
diff -u -p -r1.6 i-c.adb
--- i-c.adb 10 Feb 2005 13:50:25 -0000 1.6
+++ i-c.adb 15 Mar 2005 13:56:37 -0000
@@ -504,7 +504,8 @@ package body Interfaces.C is
-- char_array. The lower bound of this array is required to be zero
-- (RM B.3(50)) but that is of course impossible given that size_t
-- is unsigned. According to Ada 2005 AI-258, the result is to raise
- -- Constraint_Error.
+ -- Constraint_Error. This is also the appropriate behavior in Ada 95,
+ -- since nothing else makes sense.
if Item'Length = 0 then
raise Constraint_Error;
@@ -593,7 +594,8 @@ package body Interfaces.C is
-- wchar_array. The lower bound of this array is required to be zero
-- (RM B.3(50)) but that is of course impossible given that size_t
-- is unsigned. According to Ada 2005 AI-258, the result is to raise
- -- Constraint_Error.
+ -- Constraint_Error. This is also the appropriate behavior in Ada 95,
+ -- since nothing else makes sense.
if Item'Length = 0 then
raise Constraint_Error;
@@ -680,7 +682,8 @@ package body Interfaces.C is
-- char16_array. The lower bound of this array is required to be zero
-- (RM B.3(50)) but that is of course impossible given that size_t
-- is unsigned. According to Ada 2005 AI-258, the result is to raise
- -- Constraint_Error.
+ -- Constraint_Error. This is also the appropriate behavior in Ada 95,
+ -- since nothing else makes sense.
if Item'Length = 0 then
raise Constraint_Error;
More information about the Gcc-patches
mailing list