1// PR middle-end/15069 2// { dg-do run } 3// { dg-options "-O2" } 4 5extern "C" void abort (void); 6 7typedef enum { 8 FOUR = 4, 9 FIVE = 5 10} direction_t; 11 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