Modify gcc for use with gdb (issue5132047)
Richard Guenther
richard.guenther@gmail.com
Thu Oct 6 09:18:00 GMT 2011
On Wed, Oct 5, 2011 at 6:53 PM, Diego Novillo <dnovillo@google.com> wrote:
> On Wed, Oct 5, 2011 at 11:28, Diego Novillo <dnovillo@google.com> wrote:
>> On Wed, Oct 5, 2011 at 10:51, Richard Guenther
>> <richard.guenther@gmail.com> wrote:
>>
>>> Did you also mark the function with always_inline? That's a requirement
>>> as artificial only works for inlined function bodies.
>>
>> Yeah. It doesn't quite work as I expect it to. It steps into the
>> function at odd places.
>
> So, I played with this some more with this, and there seems to be some
> inconsistency in how these attributes get handled.
> http://sourceware.org/bugzilla/show_bug.cgi?id=13263
>
> static inline int foo (int) __attribute__((always_inline,artificial));
>
> static inline int foo (int x)
> {
> int y = x - 3;
> return y;
> }
>
> int bar (int y)
> {
> return y == 0;
> }
>
> main ()
> {
> foo (10);
> return bar (foo (3));
> }
>
> With GCC 4.7, the stand alone call foo(10) is not ignored by 'step'.
> However, the embedded call bar(foo(3)) is ignored as I was expecting.
Hm, nothing is ignored for me with gcc 4.6.
>
> Diego.
>
More information about the Gcc-patches
mailing list