diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-10 14:39:18 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-10 14:39:18 +0000 |
commit | 1ce752d5cbd9d26c1c57811908a878ce2eba6afb (patch) | |
tree | 10be45611439a9dc1345244140d4d64df444b229 /gcc/ada/sinfo.ads | |
parent | 8164f7baee85074c4b10ed7d506b8126b7b421da (diff) | |
download | gcc-1ce752d5cbd9d26c1c57811908a878ce2eba6afb.tar.gz |
2009-04-10 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document that postconditions are tested on implicit
returns.
* sem_aux.adb: Minor reformatting
2009-04-10 Gary Dismukes <dismukes@adacore.com>
* itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
setting Etype.
* par-ch3.adb (P_Access_Type_Definition): Set new attribute
Null_Exclusion_In_Return_Present when an access-to-function type has a
result type with an explicit not null.
* sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
given on the result type, then create a null-excluding itype for the
function.
* sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
the case where a null exclusion is imposed on a named access type.
(Analyze_Subprogram_Specification): Push and pop the scope of the
function around the call to Analyze_Return_Type in the case of no
formals, for consistency with handling when formals are present
(Process_Formals does this). Ensures that any itype created for the
return type will be associated with the proper scope.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
exclusion is given on a generic function's result type, then create a
null-excluding itype for the generic function.
(Instantiate_Object): Set Null_Exclusion_Present of a constant created
for an actual for a formal in object according to the setting on the
formal. Ensures null exclusion checks are done when the association is
elaborated.
* sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
N_Access_Function_Definition.
* sinfo.adb: Add Get_ and Set_ operations for
Null_Exclusion_In_Return_Present.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145912 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sinfo.ads')
-rw-r--r-- | gcc/ada/sinfo.ads | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads index 9ef69c5ae63..90c10f90575 100644 --- a/gcc/ada/sinfo.ads +++ b/gcc/ada/sinfo.ads @@ -2883,6 +2883,7 @@ package Sinfo is -- N_Access_Function_Definition -- Sloc points to ACCESS -- Null_Exclusion_Present (Flag11) + -- Null_Exclusion_In_Return_Present (Flag14) -- Protected_Present (Flag6) -- Parameter_Specifications (List3) (set to No_List if no formal part) -- Result_Definition (Node4) result subtype (subtype mark or access def) @@ -8088,6 +8089,9 @@ package Sinfo is function Null_Exclusion_Present (N : Node_Id) return Boolean; -- Flag11 + function Null_Exclusion_In_Return_Present + (N : Node_Id) return Boolean; -- Flag14 + function Null_Record_Present (N : Node_Id) return Boolean; -- Flag17 @@ -8970,6 +8974,9 @@ package Sinfo is procedure Set_Null_Exclusion_Present (N : Node_Id; Val : Boolean := True); -- Flag11 + procedure Set_Null_Exclusion_In_Return_Present + (N : Node_Id; Val : Boolean := True); -- Flag14 + procedure Set_Null_Record_Present (N : Node_Id; Val : Boolean := True); -- Flag17 @@ -11062,6 +11069,7 @@ package Sinfo is pragma Inline (No_Truncation); pragma Inline (Null_Present); pragma Inline (Null_Exclusion_Present); + pragma Inline (Null_Exclusion_In_Return_Present); pragma Inline (Null_Record_Present); pragma Inline (Object_Definition); pragma Inline (Original_Discriminant); @@ -11353,6 +11361,7 @@ package Sinfo is pragma Inline (Set_No_Truncation); pragma Inline (Set_Null_Present); pragma Inline (Set_Null_Exclusion_Present); + pragma Inline (Set_Null_Exclusion_In_Return_Present); pragma Inline (Set_Null_Record_Present); pragma Inline (Set_Object_Definition); pragma Inline (Set_Original_Discriminant); |