1 // PR middle-end/15069 2 // { dg-do run } 3 // { dg-options "-O2" } 4 5 extern "C" void abort (void); 6 7 typedef enum { 8 FOUR = 4, 9 FIVE = 5 10 } direction_t; 11 main()12int main () 13 { 14 direction_t four = FOUR; 15 int flags = (four & 4L) ? (32L | 128L) : 0; 16 flags &= 32L; 17 18 if (flags == 0) 19 abort (); 20 } 21 22