1 /* { dg-do run } */ 2 /* { dg-options "-std=gnu89" } */ 3 4 /* In standard C, enumeration constants always have type int. If they 5 are not representables are int, they're ill-formed. In GNU C, we 6 give such ill-formed constructs well-defined meaning. Make sure it 7 works. */ 8 9 #include <stdlib.h> 10 11 enum foo 12 { 13 foo1 = 0, 14 foo2 = 0xffffffffffffffffULL, 15 foo3 = 0xf0fffffffffffffeULL 16 }; 17 18 int main () 19 { 20 if (sizeof (enum foo) != sizeof (unsigned long long)) 21 abort (); 22 exit (0); 23 } 24