OSDN Git Service

2009-04-10 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 10 Apr 2009 14:39:18 +0000 (14:39 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 10 Apr 2009 14:39:18 +0000 (14:39 +0000)
commit1ce752d5cbd9d26c1c57811908a878ce2eba6afb
tree10be45611439a9dc1345244140d4d64df444b229
parent8164f7baee85074c4b10ed7d506b8126b7b421da
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
gcc/ada/ChangeLog
gcc/ada/gnat_rm.texi
gcc/ada/itypes.adb
gcc/ada/par-ch3.adb
gcc/ada/sem_aux.adb
gcc/ada/sem_ch12.adb
gcc/ada/sem_ch3.adb
gcc/ada/sem_ch6.adb
gcc/ada/sinfo.adb
gcc/ada/sinfo.ads