On Mon, Nov 23, 2020 at 2:02 PM Martin Liška <mli...@suse.cz> wrote:
>
> On 11/23/20 12:00 PM, Richard Biener wrote:
> > Can you split out the unifying of -[gf]record-gcc-switches processing
> > and the target hook adjustment from the change introducing
> > -frecord-gcc-switches-format?
>
> Sure.
>
> >
> > dwarf2out.c seems to retain its gen_producer_string () even though
> > you duplicate it elsewhere and it is now unused?  Please retain
> > the gen_producer_string name since the function does actual
> > processing and not just fetch a precomputed string from somewhere.
>
> Yep, please take a look at the attached patch.
>
> >
> > I'd like somebody else chime in on the -frecord-gcc-switches-format
> > driver handling but will happily work with getting the unification part 
> > merged.
>
> May I apply the patch after it finishes regression tests and bootstrap?

@@ -1523,8 +1378,9 @@ process_options (void)
   if (version_flag)
     {
       print_version (stderr, "", true);
-      if (! quiet_flag)
-       print_switch_values (print_to_stderr);
+      if (!quiet_flag)
+       fputs (gen_producer_string (lang_hooks.name, save_decoded_options,
+                                   save_decoded_options_count), stderr);
     }


so I wonder whether this regresses (no newlines anymore, no separate
printing of options passed/enabled).  Previously with -Q -v you'll get sth
like

options passed:  -v
 -iprefix 
/home/rguenther/obj-gcc2-g/gcc/../lib64/gcc/x86_64-pc-linux-gnu/11.0.0/
 -isystem ./include -isystem ./include-fixed t.c -mtune=generic
 -march=x86-64 -O2
options enabled:  -faggressive-loop-optimizations -falign-functions
 -falign-jumps -falign-labels -falign-loops -fallocation-dce
 -fasynchronous-unwind-tables -fauto-inc-dec -fbranch-count-reg
 -fcaller-saves -fcode-hoisting -fcombine-stack-adjustments -fcompare-elim
 -fcprop-registers -fcrossjumping -fcse-follow-jumps -fdefer-pop
 -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively
 -fdwarf2-cfi-asm -fearly-inlining -feliminate-unused-debug-symbols
...

but after the change it will most definitely _not_ include all the -f options
implied by -O2?  So how does a standard -O2 -fverbose-asm compare?
How does -Q -v compare?  How does the producer string in dwarf
compare (I guess that's actually equal since we now use that reporting style).

Thanks,
Richard.

> Thanks,
> Martin
>
> >
> > Richard.
>

Reply via email to