>> 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?
This is OK, thanks. > [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