1// { dg-do run }
2
3typedef enum { zero = 0, one = 1, two = 2, ENUM_MAX = 3 } my_enum;
4my_enum e;
5extern "C" void abort (void);
6int __attribute__((noinline)) foo() { return 10; }
7int main()
8{
9  int r;
10  r = foo();
11  if ((r < 0) || (r >= ENUM_MAX))
12    return 0;
13  e = (my_enum)r;
14  abort ();
15}
16