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