Re: [PATCHv2] Make "skip" work on inline frames

Pedro Alves
2019-10-31T18:00:56Z

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