diff options
Diffstat (limited to 'gcc/ada/libgnat/a-except.adb')
-rw-r--r-- | gcc/ada/libgnat/a-except.adb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ada/libgnat/a-except.adb b/gcc/ada/libgnat/a-except.adb index c776623..d0a1d7f 100644 --- a/gcc/ada/libgnat/a-except.adb +++ b/gcc/ada/libgnat/a-except.adb @@ -450,6 +450,8 @@ package body Ada.Exceptions is (File : System.Address; Line : Integer); procedure Rcheck_CE_Tag_Check (File : System.Address; Line : Integer); + procedure Rcheck_PE_Abstract_Type_Component + (File : System.Address; Line : Integer); procedure Rcheck_PE_Access_Before_Elaboration (File : System.Address; Line : Integer); procedure Rcheck_PE_Accessibility_Check @@ -542,6 +544,8 @@ package body Ada.Exceptions is "__gnat_rcheck_CE_Range_Check"); pragma Export (C, Rcheck_CE_Tag_Check, "__gnat_rcheck_CE_Tag_Check"); + pragma Export (C, Rcheck_PE_Abstract_Type_Component, + "__gnat_rcheck_PE_Abstract_Type_Component"); pragma Export (C, Rcheck_PE_Access_Before_Elaboration, "__gnat_rcheck_PE_Access_Before_Elaboration"); pragma Export (C, Rcheck_PE_Accessibility_Check, @@ -620,6 +624,7 @@ package body Ada.Exceptions is pragma No_Return (Rcheck_CE_Partition_Check); pragma No_Return (Rcheck_CE_Range_Check); pragma No_Return (Rcheck_CE_Tag_Check); + pragma No_Return (Rcheck_PE_Abstract_Type_Component); pragma No_Return (Rcheck_PE_Access_Before_Elaboration); pragma No_Return (Rcheck_PE_Accessibility_Check); pragma No_Return (Rcheck_PE_Address_Of_Intrinsic); @@ -683,6 +688,8 @@ package body Ada.Exceptions is "expected_throw"); pragma Machine_Attribute (Rcheck_CE_Tag_Check, "expected_throw"); + pragma Machine_Attribute (Rcheck_PE_Abstract_Type_Component, + "expected_throw"); pragma Machine_Attribute (Rcheck_PE_Access_Before_Elaboration, "expected_throw"); pragma Machine_Attribute (Rcheck_PE_Accessibility_Check, @@ -775,6 +782,8 @@ package body Ada.Exceptions is "strub", "callable"); pragma Machine_Attribute (Rcheck_CE_Tag_Check, "strub", "callable"); + pragma Machine_Attribute (Rcheck_PE_Abstract_Type_Component, + "strub", "callable"); pragma Machine_Attribute (Rcheck_PE_Access_Before_Elaboration, "strub", "callable"); pragma Machine_Attribute (Rcheck_PE_Accessibility_Check, @@ -885,6 +894,8 @@ package body Ada.Exceptions is Rmsg_36 : constant String := "stream operation not allowed" & NUL; Rmsg_37 : constant String := "build-in-place mismatch" & NUL; Rmsg_38 : constant String := "raise check failed" & NUL; + Rmsg_39 : constant String := "initialization of abstract type" & + " component not allowed" & NUL; --------- -- AAA -- @@ -1471,6 +1482,13 @@ package body Ada.Exceptions is Raise_Constraint_Error_Msg (File, Line, 0, Rmsg_13'Address); end Rcheck_CE_Tag_Check; + procedure Rcheck_PE_Abstract_Type_Component + (File : System.Address; Line : Integer) + is + begin + Raise_Program_Error_Msg (File, Line, Rmsg_39'Address); + end Rcheck_PE_Abstract_Type_Component; + procedure Rcheck_PE_Access_Before_Elaboration (File : System.Address; Line : Integer) is |