This is just a minor update on the patch since the function SYMBOL_PRINT_NAME was removed with commit 987012b89bce7f6385ed88585547f852a8005a3f I replaced it with sym->print_name (), otherwise the patch is unchanged. On 10/31/19 8:19 PM, Bernd Edlinger wrote: > On 10/31/19 7:00 PM, Pedro Alves wrote: >> On 10/31/19 4:53 PM, Simon Marchi wrote: >>> On 2019-10-31 12:42 p.m., Pedro Alves wrote: >>>> On 10/30/19 9:56 PM, Bernd Edlinger wrote: >>>>> +if { [prepare_for_testing "failed to prepare" "skip2" \ >>>>> + {skip2.c skip1.c } \ >>>>> + {debug nowarnings optimize=-O2}] } { >>>> >>>> Instead of -O2, could you make this use -O0 (the default), >>>> and then use attribute((always_inline)) to force inlining? >>>> We do that in some tests. E.g., gdb.opt/inline-locals.c. >>> >>> I think that's a good suggestion, but just be aware that there used to be >>> some problems with always_inline, e.g.: >> >> I don't think always_inline changes anything in the debug info special, >> it just tells the compiler to inline the function even at -O0, which is >> what we're after. >> >>> >>> https://sourceware.org/bugzilla/show_bug.cgi?id=13263 >> >> This one seems to be about attribute((artificial)), and the desire >> to not step into such functions automatically: >> >> "Given that I marked the function always_inline and artificial, I >> was expecting not to step into its body." >> >>> https://sourceware.org/bugzilla/show_bug.cgi?id=12429 >>> >> >> This one seems like a generic inlining issue. >> >>> I'm not sure if those are still valid. If they are, it might be more difficult >>> that expected to use always_inline. >> I don't think always_inline is anything special compared to inlining >> because of -O2. >> >> Thanks, >> Pedro Alves >> > > Ah, thanks for that hint! > > always_inline works quite well. > > The debug session started (using gcc 4.8.4) with -O2 -g on the line with "{" in main, > and with -O0 -g at the first real statement, so I had to remove one step. > I did not worry about it initially, but now I agree that would have caused trouble. > > > I attached both parts of the patch, the fist part unchanged from previous. > The test case now makes sure to not repeat the names. > > > Thanks > Bernd. >