diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-15 16:19:12 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-15 16:19:12 +0000 |
commit | 68fa183e21f353a336f5d6343ce64b57179e7df1 (patch) | |
tree | 0922a90c50185c9ebfde2dc85f0649ff0055d342 /gcc | |
parent | 1bd3f33a0b7d708333e4771d9cfe12ad4b6db070 (diff) | |
download | gcc-68fa183e21f353a336f5d6343ce64b57179e7df1.tar.gz |
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96511 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/i-c.adb | 9 | ||||
-rw-r--r-- | gcc/ada/sem_ch7.adb | 2 | ||||
-rw-r--r-- | gcc/ada/usage.adb | 18 |
3 files changed, 25 insertions, 4 deletions
diff --git a/gcc/ada/i-c.adb b/gcc/ada/i-c.adb index da8e3146f66..250344977b5 100644 --- a/gcc/ada/i-c.adb +++ b/gcc/ada/i-c.adb @@ -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; diff --git a/gcc/ada/sem_ch7.adb b/gcc/ada/sem_ch7.adb index b56917d4bad..cf1cc2f5025 100644 --- a/gcc/ada/sem_ch7.adb +++ b/gcc/ada/sem_ch7.adb @@ -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); diff --git a/gcc/ada/usage.adb b/gcc/ada/usage.adb index 4441490ac0c..64bb0b1c892 100644 --- a/gcc/ada/usage.adb +++ b/gcc/ada/usage.adb @@ -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; |