summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch6.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2015-05-12 10:36:45 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2015-05-12 10:36:45 +0200
commitf8dae9bb29d4dffc332c5a0670ff814816c87731 (patch)
tree57218611df0267da5328f2edf73b0d2ae8c2c482 /gcc/ada/exp_ch6.ads
parent73cc8f6230c672fab16f0d43a661c62744b5f0cb (diff)
downloadgcc-f8dae9bb29d4dffc332c5a0670ff814816c87731.tar.gz
[multiple changes]
2015-05-12 Robert Dewar <dewar@adacore.com> * sem_ch3.adb: Minor reformatting. 2015-05-12 Vincent Celier <celier@adacore.com> * gnatcmd.adb: If we want to invoke gnatmake (gnatclean) with -P, then check if gprbuild (gprclean) is available; if it is, use gprbuild (gprclean) instead of gnatmake (gnatclean). 2015-05-12 Robert Dewar <dewar@adacore.com> * debug.adb: Add flag -gnatd.3 to output diagnostic info from Exp_Unst. * einfo.ad, einfo.adb: Reorganize (and remove most of) flags used by Exp_Unst. * exp_ch6.adb (Unest_Bodies): Table for delayed calls to Unnest_Subprogram (Expand_N_Subprogram_Body): Add entry to table for later call instead of calling Unnest_Subprogram directly (Initialize): New procedure (Unnest_Subprograms): New procedure * exp_ch6.ads (Add_Extra_Actual_To_Call): Move into proper alpha order. (Initialize): New procedure. (Unnest_Subprograms): New procedure. * exp_unst.adb (Unnest_Subprogram): Major rewrite, moving all processing to this routine which is now called late after instantiating bodies. Fully handles the case of generic instantiations now. * exp_unst.ads: Major rewrite, moving all processing to Unnest_Subprogram. * frontend.adb (Frontend): Add call to Exp_Ch6.Initialize. (Frontend): Add call to Unnest_Subprograms. * sem_ch8.adb (Find_Direct_Name): Back to old calling sequence for Check_Nested_Access. * sem_util.adb (Build_Default_Subtype): Minor reformatting (Check_Nested_Access): Back to original VM-only form (we now do all the processing for Unnest_Subprogram at the time it is called. (Denotes_Same_Object): Minor reformatting (Note_Possible_Modification): Old calling sequence for Check_Nested_Access. * sem_util.ads (Check_Nested_Access): Back to original VM-only form (we now do all the processing for Unnest_Subprogram at the time it is called. From-SVN: r223043
Diffstat (limited to 'gcc/ada/exp_ch6.ads')
-rw-r--r--gcc/ada/exp_ch6.ads20
1 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ada/exp_ch6.ads b/gcc/ada/exp_ch6.ads
index 48b98e812e9..5cbcc965cf4 100644
--- a/gcc/ada/exp_ch6.ads
+++ b/gcc/ada/exp_ch6.ads
@@ -97,6 +97,13 @@ package Exp_Ch6 is
--
-- ??? We might also need to be able to pass in a constrained flag.
+ procedure Add_Extra_Actual_To_Call
+ (Subprogram_Call : Node_Id;
+ Extra_Formal : Entity_Id;
+ Extra_Actual : Node_Id);
+ -- Adds Extra_Actual as a named parameter association for the formal
+ -- Extra_Formal in Subprogram_Call.
+
function BIP_Formal_Suffix (Kind : BIP_Formal_Kind) return String;
-- Ada 2005 (AI-318-02): Returns a string to be used as the suffix of names
-- for build-in-place formal parameters of the given kind.
@@ -109,6 +116,9 @@ package Exp_Ch6 is
-- function Func, and returns its Entity_Id. It is a bug if not found; the
-- caller should ensure this is called only when the extra formal exists.
+ procedure Initialize;
+ -- Initialize internal tables
+
function Is_Build_In_Place_Function (E : Entity_Id) return Boolean;
-- Ada 2005 (AI-318-02): Returns True if E denotes a function, generic
-- function, or access-to-function type whose result must be built in
@@ -201,11 +211,9 @@ package Exp_Ch6 is
-- parameter to identify the accessibility level of the function result
-- "determined by the point of call".
- procedure Add_Extra_Actual_To_Call
- (Subprogram_Call : Node_Id;
- Extra_Formal : Entity_Id;
- Extra_Actual : Node_Id);
- -- Adds Extra_Actual as a named parameter association for the formal
- -- Extra_Formal in Subprogram_Call.
+ procedure Unnest_Subprograms;
+ -- Called to unnest subprograms. If we are in unnest subprogram mode, and
+ -- subprograms have been gathered in the Unest_Bodies table, this is the
+ -- call that causes them to be processed for unnesting.
end Exp_Ch6;