aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/types.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-07-29 16:02:19 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-29 16:02:19 +0200
commita2cc9797dfc084b28934de307d1e0254753121f8 (patch)
tree9723a3f297dac2fd5458dd36e7bef0a0d2bf8cdf /gcc/ada/types.ads
parenteffdbb7d578ab9e8122f17b7249c107a93e685ba (diff)
downloadgcc-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.ads89
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;