diff options
author | Robert Dewar <dewar@adacore.com> | 2005-06-16 10:30:34 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2005-06-16 10:30:34 +0200 |
commit | a3a95769ebf003082f7cc02156e8e1bd3b7ef108 (patch) | |
tree | a1befbb3e243601fba4c17fa63ff9262720f9213 /gcc | |
parent | 99b97b2e96674bbb43bcd9509009fd2e2663c287 (diff) | |
download | gcc-a3a95769ebf003082f7cc02156e8e1bd3b7ef108.zip gcc-a3a95769ebf003082f7cc02156e8e1bd3b7ef108.tar.gz gcc-a3a95769ebf003082f7cc02156e8e1bd3b7ef108.tar.bz2 |
a-except.adb (Exception_Identity): return Null_Id for null occurrence instead of raising CE (AI-241) Add warnings...
2005-06-14 Robert Dewar <dewar@adacore.com>
* a-except.adb (Exception_Identity): return Null_Id for null occurrence
instead of raising CE (AI-241)
Add warnings off to allow categorization violations for AI-362
From-SVN: r101021
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/a-except.adb | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/gcc/ada/a-except.adb b/gcc/ada/a-except.adb index 7470d54..9c8256e 100644 --- a/gcc/ada/a-except.adb +++ b/gcc/ada/a-except.adb @@ -664,15 +664,18 @@ package body Ada.Exceptions is ------------------------ function Exception_Identity - (X : Exception_Occurrence) - return Exception_Id + (X : Exception_Occurrence) return Exception_Id is begin - if X.Id = Null_Id then - raise Constraint_Error; - else - return X.Id; - end if; + -- Note that the following test used to be here for the original + -- Ada 95 semantics, but these were modified by AI-241 to require + -- returning Null_Id instead of raising Constraint_Error. + + -- if X.Id = Null_Id then + -- raise Constraint_Error; + -- end if; + + return X.Id; end Exception_Identity; --------------------------- @@ -1259,12 +1262,8 @@ package body Ada.Exceptions is Save_Occurrence_No_Private (Target, Source); end Save_Occurrence; - function Save_Occurrence - (Source : Exception_Occurrence) - return EOA - is + function Save_Occurrence (Source : Exception_Occurrence) return EOA is Target : EOA := new Exception_Occurrence; - begin Save_Occurrence (Target.all, Source); return Target; @@ -1394,6 +1393,11 @@ package body Ada.Exceptions is end ZZZ; begin + pragma Warnings (Off); + -- Allow calls to non-static subprograms in Ada 2005 mode where this + -- package will be implicitly categorized as Preelaborate. See AI-362 for + -- details. It is safe in the context of the run-time to violate the rules! + -- Allocate the Non-Tasking Machine_State Set_Machine_State_Addr_NT (System.Address (Allocate_Machine_State)); @@ -1403,4 +1407,6 @@ begin AAA; ZZZ; + + pragma Warnings (On); end Ada.Exceptions; |