1 // { dg-do run }
2 
3 typedef enum { zero = 0, one = 1, two = 2, ENUM_MAX = 3 } my_enum;
4 my_enum e;
5 extern "C" void abort (void);
foo()6 int __attribute__((noinline)) foo() { return 10; }
main()7 int 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