http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57347
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2013-05-21 CC| |jakub at gcc dot gnu.org Target Milestone|--- |4.8.1 Summary|wrong code for bitfield on |[4.8/4.9 Regression] wrong |x86_64-linux at -Os and |code for bitfield on |above |x86_64-linux at -Os and | |above Ever confirmed|0 |1 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Started with r193298 . struct S1 { int f0; int f1 : 10; int f2 : 13; }; int i; int *j = &i; static void foo (struct S1 s) { int *p; int l[88]; int **pp = &p; *pp = &l[1]; l[0] = 1; *j = 1 && s.f2; } int main () { struct S1 s = { 0, 0, 1 }; foo (s); if (i != 1) __builtin_abort (); return 0; }