rt_gccstream/gcc/testsuite/gcc.dg/enum1.c

24 lines
496 B
C

/* { dg-do run } */
/* { dg-options "-std=gnu89" } */
/* In standard C, enumeration constants always have type int. If they
are not representables are int, they're ill-formed. In GNU C, we
give such ill-formed constructs well-defined meaning. Make sure it
works. */
#include <stdlib.h>
enum foo
{
foo1 = 0,
foo2 = 0xffffffffffffffffULL,
foo3 = 0xf0fffffffffffffeULL
};
int main ()
{
if (sizeof (enum foo) != sizeof (unsigned long long))
abort ();
exit (0);
}