annotate gcc/testsuite/gcc.dg/enum1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do run } */
kono
parents:
diff changeset
2 /* { dg-options "-std=gnu89" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 /* In standard C, enumeration constants always have type int. If they
kono
parents:
diff changeset
5 are not representables are int, they're ill-formed. In GNU C, we
kono
parents:
diff changeset
6 give such ill-formed constructs well-defined meaning. Make sure it
kono
parents:
diff changeset
7 works. */
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 #include <stdlib.h>
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 enum foo
kono
parents:
diff changeset
12 {
kono
parents:
diff changeset
13 foo1 = 0,
kono
parents:
diff changeset
14 foo2 = 0xffffffffffffffffULL,
kono
parents:
diff changeset
15 foo3 = 0xf0fffffffffffffeULL
kono
parents:
diff changeset
16 };
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 int main ()
kono
parents:
diff changeset
19 {
kono
parents:
diff changeset
20 if (sizeof (enum foo) != sizeof (unsigned long long))
kono
parents:
diff changeset
21 abort ();
kono
parents:
diff changeset
22 exit (0);
kono
parents:
diff changeset
23 }