On Sep 26, 2018, Pierre-Marie de Rodat <dero...@adacore.com> wrote: > This will allow us to remove the import of flag_compare_debug in > lib-writ.adb in a second stage.
And here's the second stage. Tested on x86_64-linux-gnu. Ok to install? [Ada] use -gnatd_A to disable .ali on -fcompare-debug recompile From: Alexandre Oliva <ol...@adacore.com> for gcc/ada/ChangeLog * gcc-interface/lang-specs.h (default_compilers): When given fcompare-debug-second, adjust auxbase like cc1, and pass gnatd_A. * gcc-interface/misc.c (flag_compare_debug): Remove variable. (gnat_post_options): Do not set it. * lib-writ.adb (flag_compare_debug): Remove import. (Write_ALI): Do not test it. --- gcc/ada/gcc-interface/lang-specs.h | 3 ++- gcc/ada/gcc-interface/misc.c | 4 ---- gcc/ada/lib-writ.adb | 8 +------- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/gcc/ada/gcc-interface/lang-specs.h b/gcc/ada/gcc-interface/lang-specs.h index eece809343d13..c7bf32c03905d 100644 --- a/gcc/ada/gcc-interface/lang-specs.h +++ b/gcc/ada/gcc-interface/lang-specs.h @@ -35,7 +35,8 @@ gnat1 %{I*} %{k8:-gnatk8} %{Wall:-gnatwa} %{w:-gnatws} %{!Q:-quiet}\ %{nostdinc*} %{nostdlib*}\ -dumpbase %{.adb:%b.adb}%{.ads:%b.ads}%{!.adb:%{!.ads:%b.ada}}\ - %{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase %b}} \ + %{fcompare-debug-second:%:compare-debug-auxbase-opt(%b) -gnatd_A} \ + %{!fcompare-debug-second:%{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase %b}}} \ %{O*} %{W*} %{w} %{p} %{pg:-p} %{d*} \ %{coverage:-fprofile-arcs -ftest-coverage} " #if defined(TARGET_VXWORKS_RTP) diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 16a9d2ccf8e0a..98ec2778d56d7 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -77,9 +77,6 @@ int optimize; #undef optimize_size int optimize_size; -#undef flag_compare_debug -int flag_compare_debug; - #undef flag_short_enums int flag_short_enums; @@ -284,7 +281,6 @@ gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED) gnat_encodings = global_options.x_gnat_encodings; optimize = global_options.x_optimize; optimize_size = global_options.x_optimize_size; - flag_compare_debug = global_options.x_flag_compare_debug; flag_stack_check = global_options.x_flag_stack_check; flag_short_enums = global_options.x_flag_short_enums; diff --git a/gcc/ada/lib-writ.adb b/gcc/ada/lib-writ.adb index f035b45e91331..ce35c9e8fa58c 100644 --- a/gcc/ada/lib-writ.adb +++ b/gcc/ada/lib-writ.adb @@ -226,10 +226,6 @@ package body Lib.Writ is Num_Sdep : Nat := 0; -- Number of active entries in Sdep_Table - flag_compare_debug : Int; - pragma Import (C, flag_compare_debug); - -- Import from toplev.c - ----------------------- -- Local Subprograms -- ----------------------- @@ -1079,9 +1075,7 @@ package body Lib.Writ is -- We never write an ALI file if the original operating mode was -- syntax-only (-gnats switch used in compiler invocation line) - if Original_Operating_Mode = Check_Syntax - or flag_compare_debug /= 0 - then + if Original_Operating_Mode = Check_Syntax then return; end if; -- Alexandre Oliva, freedom fighter https://FSFLA.org/blogs/lxo Be the change, be Free! FSF Latin America board member GNU Toolchain Engineer Free Software Evangelist