[Bug c/64459] New: __attribute__((returns_nonnull)) creates wrong code on amd64

rurban@x-ray.at gcc-bugzilla@gcc.gnu.org
Wed Dec 31 18:51:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64459

            Bug ID: 64459
           Summary: __attribute__((returns_nonnull)) creates wrong code on
                    amd64
           Product: gcc
           Version: 4.9.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rurban@x-ray.at

I had to disable the new returns_nonnull on parrot with gcc 4.9 on amd64, 
but it does work fine with clang and the MSVC equivalent __notnull.
I tried the gcc optimizations O0 - O3.

The symptom is a double size in some io buffer, so it does not look related,
it's just some weird side-effect. 
But it is.
The patch in question https://gcc.gnu.org/ml/gcc-patches/2013-10/msg00405.html
also looked innocent to me for the beginning.

Since we use 992 returns_nonnull annotated functions in parrot, the bisect
which function and asm exactly is the problem will need some time...

gcc (Debian 4.9.1-19) 4.9.1



More information about the Gcc-bugs mailing list