diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-01 08:32:27 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-01 08:32:27 +0000 |
commit | fc615d5ce7d35592d8d5d8b21fedcee8ef8cabdc (patch) | |
tree | 5b86d62bae106b36833d1a544810caf2e3427504 /gcc/ada/inline.ads | |
parent | 76bb84489d4d84ea7035c7f59b12e23cc8090240 (diff) | |
download | gcc-fc615d5ce7d35592d8d5d8b21fedcee8ef8cabdc.tar.gz |
2014-08-01 Arnaud Charlet <charlet@adacore.com>
* exp_vfpt.adb, exp_vfpt.ads: Removed, no longer used.
* gcc-interface/Make-lang.in: Remove exp_vfpt.o
2014-08-01 Javier Miranda <miranda@adacore.com>
* inline.ads (Inlined_Calls, Backend_Calls,
Backend_Inlined_Subps, Backend_Not_Inlined_Subps): Declarations
moved to inline.adb (Cannot_Inline): Update documentation.
(Check_And_Build_Body_To_Inline): Renamed.
(List_Inlining_Info): Subprogram moved here from package exp_ch6.
* inline.adb (Check_Inlining_Restrictions): New local variable.
(Inlined_Calls, Backend_Calls, Backend_Inlined_Subps,
Backend_Not_Inlined_Subps): Declarations moved here
from inline.ads (Number_Of_Statements): Removed.
(Remove_Pragmas): Avoid duplicated version of this subprogram.
(Build_Body_To_Inline): Code cleanup.
(Build_Body_To_Inline.Has_Excluded_Statament): Removed.
(Check_And_Build_Body_To_Inline): Renamed. Code cleanup.
(Check_Body_To_Inline): Removed.
(Generate_Body_To_Inline): Renamed as Generate_Subprogram_Body.
(Has_Excluded_Declaration): No action if not
Check_Inlining_Restrictions.
(Has_Excluded_Statement): No action if not Check_Inlining_Restrictions.
(Initialize): Initialize the lists of inlined calls and subprograms.
(List_Inlining_Info): Subprogram moved here from package exp_ch6.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Update call
to Check_And_Build_Body_To_Inline since it has been renamed as
Check_And_Split_Unconstrained_Function
* exp_ch6.ad[sb] (List_Inlining_Info): Subprogram moved to
package inline.
* gnat1drv.adb Update call to Inline.List_Inlining_Info.
2014-08-01 Vincent Celier <celier@adacore.com>
* debug.adb: Add documentation for new debug switch -ds.
* make.adb (List_Bad_Compilations): Do not issue any message
when switch -ds is specified.
* makeutl.adb (Fail_Program): Do not issue any message when
-ds is specified.
(Finish_Program): Ditto.
2014-08-01 Robert Dewar <dewar@adacore.com>
* s-exnint.adb, s-exnint.ads, s-wwdwch.ads, s-carsi8.ads,
s-casi32.ads, indepsw.adb, a-timoau.ads, s-explli.adb, s-explli.ads,
s-casi16.ads, s-powtab.ads, g-wistsp.ads, a-ztmoau.adb,
indepsw-gnu.adb, s-imgllb.ads, types.adb, gnat.ads, s-proinf.adb,
indepsw-aix.adb, s-caun64.ads, s-imgllw.ads, s-traces-default.adb,
s-vxwork-x86.ads, s-expllu.adb, s-exnlli.adb, s-exnlli.ads,
s-traces.adb, widechar.ads, stand.adb, s-expint.adb,
s-tratas-default.adb, s-expint.ads, s-geveop.ads, s-caun32.ads,
s-expuns.adb, s-mantis.adb, s-mantis.ads, s-caun16.ads, s-tasinf.adb,
s-memcop.ads, s-dsaser.ads, s-imgbiu.ads, a-szmzco.ads, g-strspl.ads,
s-casi64.ads, g-zstspl.ads, indepsw-mingw.adb, tree_io.adb,
s-boarop.ads, uname.ads, s-fore.adb, s-fore.ads, g-timsta.adb,
g-timsta.ads, s-assert.adb, s-vector.ads, s-tratas.adb,
s-tratas.ads: Minor fix to copyright notices.
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
* sinfo.ads: Remove long obsolete comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213423 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/inline.ads')
-rw-r--r-- | gcc/ada/inline.ads | 37 |
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 |