layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to Result_Definition.
authorGary Dismukes <dismukes@adacore.com>
Mon, 5 Sep 2005 07:55:06 +0000 (09:55 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 5 Sep 2005 07:55:06 +0000 (09:55 +0200)
commit244480db09260422e323000b8106bfbf951762ce
treeca03f56b83fd1b69463f7671fb71cbbae90118a0
parentec53a6da66d89c335c60585eb62ad469cf9922f2
layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to Result_Definition.

2005-09-01  Gary Dismukes  <dismukes@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Hristian Kirtchev  <kirtchev@adacore.com>

* layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
Result_Definition.

* par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
function specs.
Call Set_Result_Definition instead of Set_Subtype_Mark.
(P_Subprogram_Specification): Add parsing of anonymous access result
plus null exclusions. Call Set_Result_Definition instead of
Set_Subtype_Mark.

* par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
(P_Access_Type_Definition): Add parsing for an anonymous access result
subtype, plus parsing for null exclusions. Call Set_Result_Definition
instead of Set_Subtype_Mark.

* sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
(Null_Exclusion_Present): Allow this flag for N_Function_Specification.
(Result_Definition): New function for N_Function_Specifications.
(Subtype_Mark): No longer allowed for N_Access_Function_Definition and
N_Function_Specification.
(Set_Null_Exclusion_Present): Allow this flag for
N_Function_Specification.
(Set_Result_Definition): New procedure for N_Function_Specifications.
(Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
and N_Function_Specification.

* sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
Add support for LIMITED NEW for Ada 2005 AI-419
Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
syntax for anonymous access results.
Replace Subtype_Mark field by Result_Definition in
N_Function_Specification and N_Access_Definition specs.
Add Null_Exclusion_Present to spec of N_Function_Specification.
(Result_Definition): New function for N_Function_Specification and
N_Access_Function_Definition.
(Set_Result_Definition): New procedure for N_Function_Specification and
N_Access_Function_Definition.

* sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
Result_Definition for cases of N_Access_Function_Definition and
N_Function_Specification.
Print "not null" if Null_Exclusion_Present on N_Function_Specification.

From-SVN: r103869
gcc/ada/layout.adb
gcc/ada/par-ch3.adb
gcc/ada/par-ch6.adb
gcc/ada/sinfo.adb
gcc/ada/sinfo.ads
gcc/ada/sprint.adb