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: rur...@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