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