https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45221
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |8.0 Resolution|--- |FIXED Known to work| |8.1.0, 9.1.0 Status|NEW |RESOLVED --- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> --- foo1 is fixed in GCC 8. foo2 (and foo1 before GCC 8) produces a trap instruction since GCC 4.9.0. That is foo2 produces: testq %rdi, %rdi je .L4 movl 4(%rdi), %eax ret .L4: movl 8, %eax ud2 So I think I can close this as fixed.