[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Fri, 20 Feb 2015 09:48:22 +0000 (10:48 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 20 Feb 2015 09:48:22 +0000 (10:48 +0100)
commit17ce1f52fe78bfdc63dfe941a272a1ffdea605a7
treec48f5ec002d929397a7d3b385e81dff00a2940cc
parentcf27c5a2bcf21d320a6d82de255f01e43a17a473
[multiple changes]

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.

From-SVN: r220842
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