diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-29 16:02:19 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-29 16:02:19 +0200 |
commit | a2cc9797dfc084b28934de307d1e0254753121f8 (patch) | |
tree | 9723a3f297dac2fd5458dd36e7bef0a0d2bf8cdf /gcc/ada/types.ads | |
parent | effdbb7d578ab9e8122f17b7249c107a93e685ba (diff) | |
download | gcc-a2cc9797dfc084b28934de307d1e0254753121f8.zip gcc-a2cc9797dfc084b28934de307d1e0254753121f8.tar.gz gcc-a2cc9797dfc084b28934de307d1e0254753121f8.tar.bz2 |
[multiple changes]
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): If the target type
is a null-excluding access type, do not generate a constraint
check if Suppress_Assignment_Checks is set on assignment node.
* exp_ch9.adb (Build_Simple_Entry_Call): If actual is an out
parameter of a null-excluding access type, there is access check
on entry, so set Suppress_Assignment_Checks on generated statement
that assigns actual to parameter block.
* sinfo.ads: Document additional use of Suppress_Assignment_Checks.
2014-07-29 Javier Miranda <miranda@adacore.com>
* types.ads (Kind): Renamed as Rkind to avoid crashing ASIS.
* exp_ch11.adb, tbuild.adb Update references to Types.Kind
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* par-ch3.adb (P_Type_Declaration): Create end label for
limited record declaration, previously omitted.
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Complete list of implementation pragmas Add
dummy sections for impl pragmas needing documentation.
From-SVN: r213195
Diffstat (limited to 'gcc/ada/types.ads')
-rw-r--r-- | gcc/ada/types.ads | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/gcc/ada/types.ads b/gcc/ada/types.ads index c228740..bc28010 100644 --- a/gcc/ada/types.ads +++ b/gcc/ada/types.ads @@ -855,17 +855,18 @@ package Types is CE_Length_Check_Failed, -- 07 CE_Null_Exception_Id, -- 08 CE_Null_Not_Allowed, -- 09 + CE_Overflow_Check_Failed, -- 10 CE_Partition_Check_Failed, -- 11 CE_Range_Check_Failed, -- 12 CE_Tag_Check_Failed, -- 13 - PE_Access_Before_Elaboration, -- 14 PE_Accessibility_Check_Failed, -- 15 PE_Address_Of_Intrinsic, -- 16 PE_Aliased_Parameters, -- 17 PE_All_Guards_Closed, -- 18 PE_Bad_Predicated_Generic_Type, -- 19 + PE_Current_Task_In_Entry_Body, -- 20 PE_Duplicated_Entry_Address, -- 21 PE_Explicit_Raise, -- 22 @@ -876,60 +877,60 @@ package Types is PE_Overlaid_Controlled_Object, -- 27 PE_Potentially_Blocking_Operation, -- 28 PE_Stubbed_Subprogram_Called, -- 29 + PE_Unchecked_Union_Restriction, -- 30 PE_Non_Transportable_Actual, -- 31 - SE_Empty_Storage_Pool, -- 32 SE_Explicit_Raise, -- 33 SE_Infinite_Recursion, -- 34 SE_Object_Too_Large, -- 35 - PE_Stream_Operation_Not_Allowed); -- 36 Last_Reason_Code : constant := 36; -- Last reason code type Reason_Kind is (CE_Reason, PE_Reason, SE_Reason); - - Kind : array (RT_Exception_Code range <>) of Reason_Kind := - (CE_Access_Check_Failed => CE_Reason, - CE_Access_Parameter_Is_Null => CE_Reason, - CE_Discriminant_Check_Failed => CE_Reason, - CE_Divide_By_Zero => CE_Reason, - CE_Explicit_Raise => CE_Reason, - CE_Index_Check_Failed => CE_Reason, - CE_Invalid_Data => CE_Reason, - CE_Length_Check_Failed => CE_Reason, - CE_Null_Exception_Id => CE_Reason, - CE_Null_Not_Allowed => CE_Reason, - CE_Overflow_Check_Failed => CE_Reason, - CE_Partition_Check_Failed => CE_Reason, - CE_Range_Check_Failed => CE_Reason, - CE_Tag_Check_Failed => CE_Reason, - - PE_Access_Before_Elaboration => PE_Reason, - PE_Accessibility_Check_Failed => PE_Reason, - PE_Address_Of_Intrinsic => PE_Reason, - PE_Aliased_Parameters => PE_Reason, - PE_All_Guards_Closed => PE_Reason, - PE_Bad_Predicated_Generic_Type => PE_Reason, - PE_Current_Task_In_Entry_Body => PE_Reason, - PE_Duplicated_Entry_Address => PE_Reason, - PE_Explicit_Raise => PE_Reason, - PE_Finalize_Raised_Exception => PE_Reason, - PE_Implicit_Return => PE_Reason, - PE_Misaligned_Address_Value => PE_Reason, - PE_Missing_Return => PE_Reason, - PE_Overlaid_Controlled_Object => PE_Reason, - PE_Potentially_Blocking_Operation => PE_Reason, - PE_Stubbed_Subprogram_Called => PE_Reason, - PE_Unchecked_Union_Restriction => PE_Reason, - PE_Non_Transportable_Actual => PE_Reason, - PE_Stream_Operation_Not_Allowed => PE_Reason, - - SE_Empty_Storage_Pool => SE_Reason, - SE_Explicit_Raise => SE_Reason, - SE_Infinite_Recursion => SE_Reason, - SE_Object_Too_Large => SE_Reason); + -- Categorization of reason codes by exception raised + + Rkind : array (RT_Exception_Code range <>) of Reason_Kind := + (CE_Access_Check_Failed => CE_Reason, + CE_Access_Parameter_Is_Null => CE_Reason, + CE_Discriminant_Check_Failed => CE_Reason, + CE_Divide_By_Zero => CE_Reason, + CE_Explicit_Raise => CE_Reason, + CE_Index_Check_Failed => CE_Reason, + CE_Invalid_Data => CE_Reason, + CE_Length_Check_Failed => CE_Reason, + CE_Null_Exception_Id => CE_Reason, + CE_Null_Not_Allowed => CE_Reason, + CE_Overflow_Check_Failed => CE_Reason, + CE_Partition_Check_Failed => CE_Reason, + CE_Range_Check_Failed => CE_Reason, + CE_Tag_Check_Failed => CE_Reason, + + PE_Access_Before_Elaboration => PE_Reason, + PE_Accessibility_Check_Failed => PE_Reason, + PE_Address_Of_Intrinsic => PE_Reason, + PE_Aliased_Parameters => PE_Reason, + PE_All_Guards_Closed => PE_Reason, + PE_Bad_Predicated_Generic_Type => PE_Reason, + PE_Current_Task_In_Entry_Body => PE_Reason, + PE_Duplicated_Entry_Address => PE_Reason, + PE_Explicit_Raise => PE_Reason, + PE_Finalize_Raised_Exception => PE_Reason, + PE_Implicit_Return => PE_Reason, + PE_Misaligned_Address_Value => PE_Reason, + PE_Missing_Return => PE_Reason, + PE_Overlaid_Controlled_Object => PE_Reason, + PE_Potentially_Blocking_Operation => PE_Reason, + PE_Stubbed_Subprogram_Called => PE_Reason, + PE_Unchecked_Union_Restriction => PE_Reason, + PE_Non_Transportable_Actual => PE_Reason, + PE_Stream_Operation_Not_Allowed => PE_Reason, + + SE_Empty_Storage_Pool => SE_Reason, + SE_Explicit_Raise => SE_Reason, + SE_Infinite_Recursion => SE_Reason, + SE_Object_Too_Large => SE_Reason); end Types; |