2015-02-20 Eric Botcazou <ebotcazou@adacore.com>
commitc918b5ca3d2242f927f699e7bc5375339a730164
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Feb 2015 09:48:22 +0000 (20 09:48 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Feb 2015 09:48:22 +0000 (20 09:48 +0000)
treec48f5ec002d929397a7d3b385e81dff00a2940cc
parent32d2c8a5af35c468abfb3e65d79b65993a6bcfeb
2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>

* sinfo.ads: Add comment.

2015-02-20  Olivier Hainque  <hainque@adacore.com>

* opt.ads: Replace Opt.Suppress_All_Inlining by two separate
flags controlling the actual FE inlining out of pragma Inline
and pragma Inline_Always.
* adabkend.adb (Scan_Compiler_Arguments): Set both flags to True
on -fno-inline, which disables all inlining in compilers with
an Ada back-end and without back-end inlining support.
* back_end.adb (Scan_Back_End_Switches): Set the Inline related
flag to True on -fno-inline and leave Inline_Always alone for
gcc back-ends.
* back_end.ads (Scan_Compiler_Arguments): Adjust spec wrt the
names of the Opt flags it sets.
* gnat1drv.adb (Adjust_Global_Switches): Remove test on
Opt.Suppress_All_Inlining in the Back_End_Inlining computation.
* sem_prag.adb (Make_Inline): Remove early return conditioned
on Opt.Suppress_All_Inlining.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the flags to
disable the calls to Build_Body_To_Inline otherwise triggered
by pragma Inline or Inline_Always. This will prevent actual
front-end inlining of the subprogram on calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220842 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/adabkend.adb
gcc/ada/back_end.adb
gcc/ada/back_end.ads
gcc/ada/gnat1drv.adb
gcc/ada/opt.ads
gcc/ada/sem_ch6.adb
gcc/ada/sem_prag.adb
gcc/ada/sinfo.ads