http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52244
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org, | |jamborm at gcc dot gnu.org Target Milestone|--- |4.5.4 --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-02-14 10:51:53 UTC --- Confirmed, testcase for x86_64-linux: extern void abort (void); union U { _Bool b; unsigned char c; }; union U bar (void) { union U u; u.c = 0xaa; return u; } union U __attribute__ ((noinline)) foo (void) { union U u; u.b = 1; u = bar (); return u; } int main () { union U u = foo (); if (u.c != 0xaa) abort (); return 0; } Started with http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147980