summaryrefslogtreecommitdiff
path: root/gcc/ada/inline.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/inline.ads')
-rw-r--r--gcc/ada/inline.ads37
1 files changed, 15 insertions, 22 deletions
diff --git a/gcc/ada/inline.ads b/gcc/ada/inline.ads
index edab7833f4a..632cbc2c2e5 100644
--- a/gcc/ada/inline.ads
+++ b/gcc/ada/inline.ads
@@ -134,18 +134,6 @@ package Inline is
-- The following should be initialized in an init call in Frontend, we
-- have thoughts of making the frontend reusable in future ???
- Inlined_Calls : Elist_Id := No_Elist;
- -- List of frontend inlined calls
-
- Backend_Calls : Elist_Id := No_Elist;
- -- List of inline calls passed to the backend
-
- Backend_Inlined_Subps : Elist_Id := No_Elist;
- -- List of subprograms inlined by the backend
-
- Backend_Not_Inlined_Subps : Elist_Id := No_Elist;
- -- List of subprograms that cannot be inlined by the backend
-
-----------------
-- Subprograms --
-----------------
@@ -171,7 +159,7 @@ package Inline is
-- At end of compilation, analyze the bodies of all units that contain
-- inlined subprograms that are actually called.
- procedure Build_Body_To_Inline (N : Node_Id; Subp : Entity_Id);
+ procedure Build_Body_To_Inline (N : Node_Id; Spec_Id : Entity_Id);
-- If a subprogram has pragma Inline and inlining is active, use generic
-- machinery to build an unexpanded body for the subprogram. This body is
-- subsequently used for inline expansions at call sites. If subprogram can
@@ -189,16 +177,17 @@ package Inline is
-- This procedure is called if the node N, an instance of a call to
-- subprogram Subp, cannot be inlined. Msg is the message to be issued,
-- which ends with ? (it does not end with ?p?, this routine takes care of
- -- the need to change ? to ?p?). Temporarily the behavior of this routine
- -- depends on the value of -gnatd.k:
+ -- the need to change ? to ?p?). The behavior of this routine depends on
+ -- the value of Back_End_Inlining:
--
- -- * If -gnatd.k is not set (ie. old inlining model) then if Subp has
- -- a pragma Always_Inlined, then an error message is issued (by
- -- removing the last character of Msg). If Subp is not Always_Inlined,
- -- then a warning is issued if the flag Ineffective_Inline_Warnings
- -- is set, adding ?p to the msg, and if not, the call has no effect.
+ -- * If Back_End_Inlining is not set (ie. legacy frontend inlining model)
+ -- then if Subp has a pragma Always_Inlined, then an error message is
+ -- issued (by removing the last character of Msg). If Subp is not
+ -- Always_Inlined, then a warning is issued if the flag Ineffective_
+ -- Inline_Warnings is set, adding ?p to the msg, and if not, the call
+ -- has no effect.
--
- -- * If -gnatd.k is set (ie. new inlining model) then:
+ -- * If Back_End_Inlining is set then:
-- - If Is_Serious is true, then an error is reported (by removing the
-- last character of Msg);
--
@@ -214,7 +203,7 @@ package Inline is
-- flag Ineffective_Inline_Warnings is set (adding p?); otherwise
-- no effect since inlining may be performed by the backend.
- procedure Check_And_Build_Body_To_Inline
+ procedure Check_And_Split_Unconstrained_Function
(N : Node_Id;
Spec_Id : Entity_Id;
Body_Id : Entity_Id);
@@ -254,6 +243,10 @@ package Inline is
-- Check a list of statements, Stats, that make inlining of Subp not
-- worthwhile, including any tasking statement, nested at any level.
+ procedure List_Inlining_Info;
+ -- Generate listing of calls inlined by the frontend plus listing of
+ -- calls to inline subprograms passed to the backend.
+
procedure Register_Backend_Call (N : Node_Id);
-- Append N to the list Backend_Calls