/* { dg-do compile } */ /* { dg-options "-Ofast" } */ enum b { c, d }; struct e { enum b code; }; struct f { unsigned g; }; int h, i; struct a { struct e common; struct f j; }; struct a k (void) { struct a *l; do if (l->common.code == d && l->j.g * 4) ; else i = l->j.g | (l->common.code && l); while (h && l->common.code == c); }