From 3ab26de1c003d0ac640eaa114e041bf78fb151ac Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Tue, 28 Jan 2020 14:13:14 -0500 Subject: [PATCH] [Ada] Get rid of Disable_FE_Inline_Always 2020-06-04 Arnaud Charlet gcc/ada/ * adabkend.adb, back_end.ads, opt.ads, sem_ch6.adb: Get rid of Disable_FE_Inline_Always. --- gcc/ada/adabkend.adb | 1 - gcc/ada/back_end.ads | 1 - gcc/ada/opt.ads | 7 +++---- gcc/ada/sem_ch6.adb | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/gcc/ada/adabkend.adb b/gcc/ada/adabkend.adb index 12521ef..6fb4a84 100644 --- a/gcc/ada/adabkend.adb +++ b/gcc/ada/adabkend.adb @@ -189,7 +189,6 @@ package body Adabkend is elsif Switch_Chars (First .. Last) = "fno-inline" then Lib.Store_Compilation_Switch (Switch_Chars); Opt.Disable_FE_Inline := True; - Opt.Disable_FE_Inline_Always := True; return; -- Similar processing for -fpreserve-control-flow diff --git a/gcc/ada/back_end.ads b/gcc/ada/back_end.ads index 009d039..05f6e5b 100644 --- a/gcc/ada/back_end.ads +++ b/gcc/ada/back_end.ads @@ -67,7 +67,6 @@ package Back_End is -- default for all of these in Opt is False). -- -- Opt.Disable_FE_Inline - -- Opt.Disable_FE_Inline_Always -- Opt.Suppress_Control_Float_Optimizations -- Opt.Generate_SCO -- Opt.Generate_SCO_Instance_Table diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads index 298da8b..2bf95e8 100644 --- a/gcc/ada/opt.ads +++ b/gcc/ada/opt.ads @@ -493,11 +493,10 @@ package Opt is -- Set to False with switch -f of gnatclean and gprclean Disable_FE_Inline : Boolean := False; - Disable_FE_Inline_Always : Boolean := False; -- GNAT - -- Request to disable front end inlining from pragma Inline or pragma - -- Inline_Always out of the presence of the -fno-inline back end flag - -- on the command line, regardless of any other switches that are set. + -- Request to disable front end inlining from pragma Inline in the + -- presence of the -fno-inline back end flag on the command line, + -- regardless of any other switches that are set. -- It remains the back end's reponsibility to honor -fno-inline at the -- back end level. diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index a01fe00..03211c1 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -4289,8 +4289,7 @@ package body Sem_Ch6 is -- Legacy implementation (relying on front-end inlining) if not Back_End_Inlining then - if (Has_Pragma_Inline_Always (Spec_Id) - and then not Opt.Disable_FE_Inline_Always) + if Has_Pragma_Inline_Always (Spec_Id) or else (Front_End_Inlining and then not Opt.Disable_FE_Inline) then -- 2.7.4