Commit baed70ac by Arnaud Charlet

[multiple changes]

2013-07-05  Robert Dewar  <dewar@adacore.com>

	* a-cfhase.adb, sem_prag.adb, a-cfhama.adb: Minor reformatting.

2013-07-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Copy_Generic_Node): Check that name in function
	call is a valid entity name before preserving entity in generic
	copy.

2013-07-05  Thomas Quinot  <quinot@adacore.com>

	* par-ch5.adb: Minor reformatting.

2013-07-05  Thomas Quinot  <quinot@adacore.com>

	* sinfo.ads: Minor clarification to documentation for
	N_Implicit_Label_Declaration.

2013-07-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* a-except-2005.adb, a-except.adb: Add constant Rmsg_17. Correct the
	values of all remaining constants.
	(Rcheck_35): New routine along with pragmas Export and No_Return.
	(Rcheck_PE_Aliased_Parameters): New routine along with pragmas
	Export and No_Return.
	(Rcheck_PE_All_Guards_Closed,
	Rcheck_PE_Bad_Predicated_Generic_Type,
	Rcheck_PE_Current_Task_In_Entry_Body,
	Rcheck_PE_Duplicated_Entry_Address, Rcheck_PE_Explicit_Raise,
	Rcheck_PE_Implicit_Return, Rcheck_PE_Misaligned_Address_Value,
	Rcheck_PE_Missing_Return, Rcheck_PE_Overlaid_Controlled_Object,
	Rcheck_PE_Potentially_Blocking_Operation
	Rcheck_PE_Stubbed_Subprogram_Called,
	Rcheck_PE_Unchecked_Union_Restriction,
	Rcheck_PE_Non_Transportable_Actual, Rcheck_SE_Empty_Storage_Pool,
	Rcheck_SE_Explicit_Raise, Rcheck_SE_Infinite_Recursion,
	Rcheck_SE_Object_Too_Large, Rcheck_PE_Finalize_Raised_Exception):
	Update the use of Rmsg_XX.
	(Rcheck_17, Rcheck_18, Rcheck_19,
	Rcheck_20, Rcheck_21, Rcheck_22, Rcheck_23, Rcheck_24, Rcheck_25,
	Rcheck_26, Rcheck_27, Rcheck_28, Rcheck_29, Rcheck_30, Rcheck_31,
	Rcheck_32, Rcheck_33, Rcheck_34, Rcheck_35): Update corresponding
	renamed subprograms.
	* checks.adb: Add with and use clause for Stringt.
	(Apply_Parameter_Aliasing_Checks): Make constant Loc visible in
	all subprograms of Apply_Parameter_Aliasing_Checks. Remove local
	variable Cond. Initialize Check at the start of the routine. Use
	routine Overlap_Check to construct a simple or a detailed run-time
	check. Update the creation of the simple check.
	(Overlap_Check): New routine.
	* exp_ch11.adb (Get_RT_Exception_Name): Add a value for
	PE_Aliased_Parameters.
	* types.ads: Add new enumeration literal
	PE_Aliased_Parameters. Update the corresponding integer values
	of all RT_Exception_Code literals.
	* types.h: Add new constant PE_Aliased_Parameters. Correct the
	values of all remaining constants.

2013-07-05  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi: Minor renaming of SPARK into SPARK 2005 in
	documentation.

From-SVN: r200690
parent 45c9ce98
2013-07-05 Robert Dewar <dewar@adacore.com>
* a-cfhase.adb, sem_prag.adb, a-cfhama.adb: Minor reformatting.
2013-07-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Copy_Generic_Node): Check that name in function
call is a valid entity name before preserving entity in generic
copy.
2013-07-05 Thomas Quinot <quinot@adacore.com>
* par-ch5.adb: Minor reformatting.
2013-07-05 Thomas Quinot <quinot@adacore.com>
* sinfo.ads: Minor clarification to documentation for
N_Implicit_Label_Declaration.
2013-07-05 Hristian Kirtchev <kirtchev@adacore.com>
* a-except-2005.adb, a-except.adb: Add constant Rmsg_17. Correct the
values of all remaining constants.
(Rcheck_35): New routine along with pragmas Export and No_Return.
(Rcheck_PE_Aliased_Parameters): New routine along with pragmas
Export and No_Return.
(Rcheck_PE_All_Guards_Closed,
Rcheck_PE_Bad_Predicated_Generic_Type,
Rcheck_PE_Current_Task_In_Entry_Body,
Rcheck_PE_Duplicated_Entry_Address, Rcheck_PE_Explicit_Raise,
Rcheck_PE_Implicit_Return, Rcheck_PE_Misaligned_Address_Value,
Rcheck_PE_Missing_Return, Rcheck_PE_Overlaid_Controlled_Object,
Rcheck_PE_Potentially_Blocking_Operation
Rcheck_PE_Stubbed_Subprogram_Called,
Rcheck_PE_Unchecked_Union_Restriction,
Rcheck_PE_Non_Transportable_Actual, Rcheck_SE_Empty_Storage_Pool,
Rcheck_SE_Explicit_Raise, Rcheck_SE_Infinite_Recursion,
Rcheck_SE_Object_Too_Large, Rcheck_PE_Finalize_Raised_Exception):
Update the use of Rmsg_XX.
(Rcheck_17, Rcheck_18, Rcheck_19,
Rcheck_20, Rcheck_21, Rcheck_22, Rcheck_23, Rcheck_24, Rcheck_25,
Rcheck_26, Rcheck_27, Rcheck_28, Rcheck_29, Rcheck_30, Rcheck_31,
Rcheck_32, Rcheck_33, Rcheck_34, Rcheck_35): Update corresponding
renamed subprograms.
* checks.adb: Add with and use clause for Stringt.
(Apply_Parameter_Aliasing_Checks): Make constant Loc visible in
all subprograms of Apply_Parameter_Aliasing_Checks. Remove local
variable Cond. Initialize Check at the start of the routine. Use
routine Overlap_Check to construct a simple or a detailed run-time
check. Update the creation of the simple check.
(Overlap_Check): New routine.
* exp_ch11.adb (Get_RT_Exception_Name): Add a value for
PE_Aliased_Parameters.
* types.ads: Add new enumeration literal
PE_Aliased_Parameters. Update the corresponding integer values
of all RT_Exception_Code literals.
* types.h: Add new constant PE_Aliased_Parameters. Correct the
values of all remaining constants.
2013-07-05 Yannick Moy <moy@adacore.com>
* gnat_rm.texi: Minor renaming of SPARK into SPARK 2005 in
documentation.
2013-07-05 Ed Schonberg <schonberg@adacore.com> 2013-07-05 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_PPC_In_Decl_Part): For a class-wide * sem_prag.adb (Analyze_PPC_In_Decl_Part): For a class-wide
......
...@@ -488,7 +488,6 @@ package body Ada.Containers.Formal_Hashed_Maps is ...@@ -488,7 +488,6 @@ package body Ada.Containers.Formal_Hashed_Maps is
Insert (Container, Key, New_Item, Position, Inserted); Insert (Container, Key, New_Item, Position, Inserted);
if not Inserted then if not Inserted then
declare declare
N : Node_Type renames Container.Nodes (Position.Node); N : Node_Type renames Container.Nodes (Position.Node);
begin begin
......
...@@ -687,7 +687,6 @@ package body Ada.Containers.Formal_Hashed_Sets is ...@@ -687,7 +687,6 @@ package body Ada.Containers.Formal_Hashed_Sets is
Insert (Container, New_Item, Position, Inserted); Insert (Container, New_Item, Position, Inserted);
if not Inserted then if not Inserted then
Container.Nodes (Position.Node).Element := New_Item; Container.Nodes (Position.Node).Element := New_Item;
end if; end if;
end Include; end Include;
......
...@@ -58,6 +58,7 @@ with Sinput; use Sinput; ...@@ -58,6 +58,7 @@ with Sinput; use Sinput;
with Snames; use Snames; with Snames; use Snames;
with Sprint; use Sprint; with Sprint; use Sprint;
with Stand; use Stand; with Stand; use Stand;
with Stringt; use Stringt;
with Targparm; use Targparm; with Targparm; use Targparm;
with Tbuild; use Tbuild; with Tbuild; use Tbuild;
with Ttypes; use Ttypes; with Ttypes; use Ttypes;
...@@ -2093,6 +2094,8 @@ package body Checks is ...@@ -2093,6 +2094,8 @@ package body Checks is
(Call : Node_Id; (Call : Node_Id;
Subp : Entity_Id) Subp : Entity_Id)
is is
Loc : constant Source_Ptr := Sloc (Call);
function May_Cause_Aliasing function May_Cause_Aliasing
(Formal_1 : Entity_Id; (Formal_1 : Entity_Id;
Formal_2 : Entity_Id) return Boolean; Formal_2 : Entity_Id) return Boolean;
...@@ -2105,6 +2108,20 @@ package body Checks is ...@@ -2105,6 +2108,20 @@ package body Checks is
-- it does not share the address of the actual. This routine attempts -- it does not share the address of the actual. This routine attempts
-- to retrieve the original actual. -- to retrieve the original actual.
procedure Overlap_Check
(Actual_1 : Node_Id;
Actual_2 : Node_Id;
Formal_1 : Entity_Id;
Formal_2 : Entity_Id;
Check : in out Node_Id);
-- Create a check to determine whether Actual_1 overlaps with Actual_2.
-- If detailed exception messages are enabled, the check is augmented to
-- provide information about the names of the corresponding formals. See
-- the body for details. Actual_1 and Actual_2 denote the two actuals to
-- be tested. Formal_1 and Formal_2 denote the corresponding formals.
-- Check contains all and-ed simple tests generated so far or remains
-- unchanged in the case of detailed exception messaged.
------------------------ ------------------------
-- May_Cause_Aliasing -- -- May_Cause_Aliasing --
------------------------ ------------------------
...@@ -2161,20 +2178,89 @@ package body Checks is ...@@ -2161,20 +2178,89 @@ package body Checks is
return N; return N;
end Original_Actual; end Original_Actual;
-------------------
-- Overlap_Check --
-------------------
procedure Overlap_Check
(Actual_1 : Node_Id;
Actual_2 : Node_Id;
Formal_1 : Entity_Id;
Formal_2 : Entity_Id;
Check : in out Node_Id)
is
Cond : Node_Id;
begin
-- Generate:
-- Actual_1'Overlaps_Storage (Actual_2)
Cond :=
Make_Attribute_Reference (Loc,
Prefix => New_Copy_Tree (Original_Actual (Actual_1)),
Attribute_Name => Name_Overlaps_Storage,
Expressions =>
New_List (New_Copy_Tree (Original_Actual (Actual_2))));
-- Generate the following check when detailed exception messages are
-- enabled:
-- if Actual_1'Overlaps_Storage (Actual_2) then
-- raise Program_Error with <detailed message>;
-- end if;
if Exception_Extra_Info then
Start_String;
-- Do not generate location information for internal calls
if Comes_From_Source (Call) then
Store_String_Chars (Build_Location_String (Loc));
Store_String_Char (' ');
end if;
Store_String_Chars ("aliased parameters, actuals for """);
Store_String_Chars (Get_Name_String (Chars (Formal_1)));
Store_String_Chars (""" and """);
Store_String_Chars (Get_Name_String (Chars (Formal_2)));
Store_String_Chars (""" overlap");
Insert_Action (Call,
Make_If_Statement (Loc,
Condition => Cond,
Then_Statements => New_List (
Make_Raise_Statement (Loc,
Name =>
New_Reference_To (Standard_Program_Error, Loc),
Expression => Make_String_Literal (Loc, End_String)))));
-- Create a sequence of overlapping checks by and-ing them all
-- together.
else
if No (Check) then
Check := Cond;
else
Check :=
Make_And_Then (Loc,
Left_Opnd => Check,
Right_Opnd => Cond);
end if;
end if;
end Overlap_Check;
-- Local variables -- Local variables
Loc : constant Source_Ptr := Sloc (Call);
Actual_1 : Node_Id; Actual_1 : Node_Id;
Actual_2 : Node_Id; Actual_2 : Node_Id;
Check : Node_Id; Check : Node_Id;
Cond : Node_Id;
Formal_1 : Entity_Id; Formal_1 : Entity_Id;
Formal_2 : Entity_Id; Formal_2 : Entity_Id;
-- Start of processing for Apply_Parameter_Aliasing_Checks -- Start of processing for Apply_Parameter_Aliasing_Checks
begin begin
Cond := Empty; Check := Empty;
Actual_1 := First_Actual (Call); Actual_1 := First_Actual (Call);
Formal_1 := First_Formal (Subp); Formal_1 := First_Formal (Subp);
...@@ -2200,25 +2286,12 @@ package body Checks is ...@@ -2200,25 +2286,12 @@ package body Checks is
Is_Elementary_Type (Etype (Original_Actual (Actual_2))) Is_Elementary_Type (Etype (Original_Actual (Actual_2)))
and then May_Cause_Aliasing (Formal_1, Formal_2) and then May_Cause_Aliasing (Formal_1, Formal_2)
then then
-- Generate: Overlap_Check
-- Actual_1'Overlaps_Storage (Actual_2) (Actual_1 => Actual_1,
Actual_2 => Actual_2,
Check := Formal_1 => Formal_1,
Make_Attribute_Reference (Loc, Formal_2 => Formal_2,
Prefix => Check => Check);
New_Copy_Tree (Original_Actual (Actual_1)),
Attribute_Name => Name_Overlaps_Storage,
Expressions =>
New_List (New_Copy_Tree (Original_Actual (Actual_2))));
if No (Cond) then
Cond := Check;
else
Cond :=
Make_And_Then (Loc,
Left_Opnd => Cond,
Right_Opnd => Check);
end if;
end if; end if;
Next_Actual (Actual_2); Next_Actual (Actual_2);
...@@ -2230,13 +2303,13 @@ package body Checks is ...@@ -2230,13 +2303,13 @@ package body Checks is
Next_Formal (Formal_1); Next_Formal (Formal_1);
end loop; end loop;
-- Place the check right before the call -- Place a simple check right before the call
if Present (Cond) then if Present (Check) and then not Exception_Extra_Info then
Insert_Action (Call, Insert_Action (Call,
Make_Raise_Program_Error (Loc, Make_Raise_Program_Error (Loc,
Condition => Cond, Condition => Check,
Reason => PE_Explicit_Raise)); Reason => PE_Aliased_Parameters));
end if; end if;
end Apply_Parameter_Aliasing_Checks; end Apply_Parameter_Aliasing_Checks;
......
...@@ -2132,6 +2132,8 @@ package body Exp_Ch11 is ...@@ -2132,6 +2132,8 @@ package body Exp_Ch11 is
Add_Str_To_Name_Buffer ("PE_Accessibility_Check"); Add_Str_To_Name_Buffer ("PE_Accessibility_Check");
when PE_Address_Of_Intrinsic => when PE_Address_Of_Intrinsic =>
Add_Str_To_Name_Buffer ("PE_Address_Of_Intrinsic"); Add_Str_To_Name_Buffer ("PE_Address_Of_Intrinsic");
when PE_Aliased_Parameters =>
Add_Str_To_Name_Buffer ("PE_Aliased_Parameters");
when PE_All_Guards_Closed => when PE_All_Guards_Closed =>
Add_Str_To_Name_Buffer ("PE_All_Guards_Closed"); Add_Str_To_Name_Buffer ("PE_All_Guards_Closed");
when PE_Bad_Predicated_Generic_Type => when PE_Bad_Predicated_Generic_Type =>
......
...@@ -9185,11 +9185,8 @@ type @code{Character}). ...@@ -9185,11 +9185,8 @@ type @code{Character}).
@unnumberedsubsec SPARK @unnumberedsubsec SPARK
@findex SPARK @findex SPARK
[GNAT] This restriction checks at compile time that some constructs [GNAT] This restriction checks at compile time that some constructs
forbidden in SPARK are not present. The SPARK version used as a forbidden in SPARK 2005 are not present. Error messages related to
reference is the same as the Ada mode for the unit, so a unit compiled SPARK restriction have the form:
in Ada 95 mode with SPARK restrictions will be checked for constructs
forbidden in SPARK 95. Error messages related to SPARK restriction have
the form:
@smallexample @smallexample
violation of restriction "SPARK" at <file> violation of restriction "SPARK" at <file>
...@@ -9198,18 +9195,22 @@ violation of restriction "SPARK" at <file> ...@@ -9198,18 +9195,22 @@ violation of restriction "SPARK" at <file>
This is not a replacement for the semantic checks performed by the This is not a replacement for the semantic checks performed by the
SPARK Examiner tool, as the compiler only deals currently with code, SPARK Examiner tool, as the compiler only deals currently with code,
not at all with SPARK annotations and does not guarantee catching all not at all with SPARK 2005 annotations and does not guarantee catching all
cases of constructs forbidden by SPARK. cases of constructs forbidden by SPARK 2005.
Thus it may well be the case that code which Thus it may well be the case that code which passes the compiler with
passes the compiler in SPARK mode is rejected by the SPARK Examiner, the SPARK restriction is rejected by the SPARK Examiner, e.g. due to
e.g. due to the different visibility rules of the Examiner based on the different visibility rules of the Examiner based on SPARK 2005
SPARK @code{inherit} annotations. @code{inherit} annotations.
This restriction can be useful in providing an initial filter for This restriction can be useful in providing an initial filter for code
code developed using SPARK, or in examining legacy code to see how far developed using SPARK 2005, or in examining legacy code to see how far
it is from meeting SPARK restrictions. it is from meeting SPARK restrictions.
Note that if a unit is compiled in Ada 95 mode with SPARK restriction,
violations will be reported for constructs forbidden in SPARK 95,
instead of SPARK 2005.
@c ------------------------ @c ------------------------
@node Implementation Advice @node Implementation Advice
@chapter Implementation Advice @chapter Implementation Advice
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. -- -- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -595,8 +595,7 @@ package body Ch5 is ...@@ -595,8 +595,7 @@ package body Ch5 is
-- For statement (labeled loop statement with FOR) -- For statement (labeled loop statement with FOR)
elsif Token = Tok_For then elsif Token = Tok_For then
Append_To (Statement_List, Append_To (Statement_List, P_For_Statement (Id_Node));
P_For_Statement (Id_Node));
-- Improper statement follows label. If we have an -- Improper statement follows label. If we have an
-- expression token, then assume the colon was part -- expression token, then assume the colon was part
......
...@@ -6577,7 +6577,13 @@ package body Sem_Ch12 is ...@@ -6577,7 +6577,13 @@ package body Sem_Ch12 is
Set_Entity (New_N, Entity (Assoc)); Set_Entity (New_N, Entity (Assoc));
Check_Private_View (N); Check_Private_View (N);
elsif Nkind (Assoc) = N_Function_Call then -- The name in the call may be a selected component if the
-- call has not been analyzed yet, as may be the case for
-- pre/post conditions in a generic unit.
elsif Nkind (Assoc) = N_Function_Call
and then Is_Entity_Name (Name (Assoc))
then
Set_Entity (New_N, Entity (Name (Assoc))); Set_Entity (New_N, Entity (Name (Assoc)));
elsif Nkind_In (Assoc, N_Defining_Identifier, elsif Nkind_In (Assoc, N_Defining_Identifier,
......
...@@ -1751,7 +1751,7 @@ package body Sem_Prag is ...@@ -1751,7 +1751,7 @@ package body Sem_Prag is
-- defined for a primitive subprogram of a type descended from T. -- defined for a primitive subprogram of a type descended from T.
-- Note that this replacement is not done for selector names in -- Note that this replacement is not done for selector names in
-- parameter associations. These carry an entity for reference -- parameter associations. These carry an entity for reference
-- purposes, but they semantically they are just identifiers. -- purposes, but semantically they are just identifiers.
------------- -------------
-- Get_ACW -- -- Get_ACW --
...@@ -1795,7 +1795,7 @@ package body Sem_Prag is ...@@ -1795,7 +1795,7 @@ package body Sem_Prag is
and then Nkind (Parent (N)) /= N_Type_Conversion and then Nkind (Parent (N)) /= N_Type_Conversion
and then and then
(Nkind (Parent (N)) /= N_Parameter_Association (Nkind (Parent (N)) /= N_Parameter_Association
or else N /= Selector_Name (Parent (N))) or else N /= Selector_Name (Parent (N)))
then then
if Etype (Entity (N)) = T then if Etype (Entity (N)) = T then
Typ := Class_Wide_Type (T); Typ := Class_Wide_Type (T);
......
...@@ -7225,7 +7225,8 @@ package Sinfo is ...@@ -7225,7 +7225,8 @@ package Sinfo is
-- Sprint syntax: labelname : label; -- Sprint syntax: labelname : label;
-- N_Implicit_Label_Declaration -- N_Implicit_Label_Declaration
-- Sloc points to the << of the label -- Sloc points to the << token for a statement identifier, or to the
-- LOOP, DECLARE, or BEGIN token for a loop or block identifier
-- Defining_Identifier (Node1) -- Defining_Identifier (Node1)
-- Label_Construct (Node2-Sem) -- Label_Construct (Node2-Sem)
......
...@@ -843,25 +843,26 @@ package Types is ...@@ -843,25 +843,26 @@ package Types is
PE_Access_Before_Elaboration, -- 14 PE_Access_Before_Elaboration, -- 14
PE_Accessibility_Check_Failed, -- 15 PE_Accessibility_Check_Failed, -- 15
PE_Address_Of_Intrinsic, -- 16 PE_Address_Of_Intrinsic, -- 16
PE_All_Guards_Closed, -- 17 PE_Aliased_Parameters, -- 17
PE_Bad_Predicated_Generic_Type, -- 18 PE_All_Guards_Closed, -- 18
PE_Current_Task_In_Entry_Body, -- 19 PE_Bad_Predicated_Generic_Type, -- 19
PE_Duplicated_Entry_Address, -- 20 PE_Current_Task_In_Entry_Body, -- 20
PE_Explicit_Raise, -- 21 PE_Duplicated_Entry_Address, -- 21
PE_Finalize_Raised_Exception, -- 22 PE_Explicit_Raise, -- 22
PE_Implicit_Return, -- 23 PE_Finalize_Raised_Exception, -- 23
PE_Misaligned_Address_Value, -- 24 PE_Implicit_Return, -- 24
PE_Missing_Return, -- 25 PE_Misaligned_Address_Value, -- 25
PE_Overlaid_Controlled_Object, -- 26 PE_Missing_Return, -- 26
PE_Potentially_Blocking_Operation, -- 27 PE_Overlaid_Controlled_Object, -- 27
PE_Stubbed_Subprogram_Called, -- 28 PE_Potentially_Blocking_Operation, -- 28
PE_Unchecked_Union_Restriction, -- 29 PE_Stubbed_Subprogram_Called, -- 29
PE_Non_Transportable_Actual, -- 30 PE_Unchecked_Union_Restriction, -- 30
PE_Non_Transportable_Actual, -- 31
SE_Empty_Storage_Pool, -- 31
SE_Explicit_Raise, -- 32 SE_Empty_Storage_Pool, -- 32
SE_Infinite_Recursion, -- 33 SE_Explicit_Raise, -- 33
SE_Object_Too_Large); -- 34 SE_Infinite_Recursion, -- 34
SE_Object_Too_Large); -- 35
subtype RT_CE_Exceptions is RT_Exception_Code range subtype RT_CE_Exceptions is RT_Exception_Code range
CE_Access_Check_Failed .. CE_Access_Check_Failed ..
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* * * *
* C Header File * * C Header File *
* * * *
* Copyright (C) 1992-2012, Free Software Foundation, Inc. * * Copyright (C) 1992-2013, Free Software Foundation, Inc. *
* * * *
* GNAT is free software; you can redistribute it and/or modify it under * * GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- * * terms of the GNU General Public License as published by the Free Soft- *
...@@ -363,24 +363,25 @@ typedef Int Mechanism_Type; ...@@ -363,24 +363,25 @@ typedef Int Mechanism_Type;
#define PE_Access_Before_Elaboration 14 #define PE_Access_Before_Elaboration 14
#define PE_Accessibility_Check_Failed 15 #define PE_Accessibility_Check_Failed 15
#define PE_Address_Of_Intrinsic 16 #define PE_Address_Of_Intrinsic 16
#define PE_All_Guards_Closed 17 #define PE_Aliased_Parameters 17
#define PE_Bad_Attribute_For_Predicate 18 #define PE_All_Guards_Closed 18
#define PE_Current_Task_In_Entry_Body 19 #define PE_Bad_Attribute_For_Predicate 19
#define PE_Duplicated_Entry_Address 20 #define PE_Current_Task_In_Entry_Body 20
#define PE_Explicit_Raise 21 #define PE_Duplicated_Entry_Address 21
#define PE_Finalize_Raised_Exception 22 #define PE_Explicit_Raise 22
#define PE_Implicit_Return 23 #define PE_Finalize_Raised_Exception 23
#define PE_Misaligned_Address_Value 24 #define PE_Implicit_Return 24
#define PE_Missing_Return 25 #define PE_Misaligned_Address_Value 25
#define PE_Overlaid_Controlled_Object 26 #define PE_Missing_Return 26
#define PE_Potentially_Blocking_Operation 27 #define PE_Overlaid_Controlled_Object 27
#define PE_Stubbed_Subprogram_Called 28 #define PE_Potentially_Blocking_Operation 28
#define PE_Unchecked_Union_Restriction 29 #define PE_Stubbed_Subprogram_Called 29
#define PE_Non_Transportable_Actual 30 #define PE_Unchecked_Union_Restriction 30
#define PE_Non_Transportable_Actual 31
#define SE_Empty_Storage_Pool 31
#define SE_Explicit_Raise 32 #define SE_Empty_Storage_Pool 32
#define SE_Infinite_Recursion 33 #define SE_Explicit_Raise 33
#define SE_Object_Too_Large 34 #define SE_Infinite_Recursion 34
#define SE_Object_Too_Large 35
#define LAST_REASON_CODE 34
#define LAST_REASON_CODE 35
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment