annotate gcc/testsuite/gcc.dg/enum-incomplete-2.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 /* PR c/52085 */
kono
parents:
diff changeset
2 /* { dg-do compile } */
kono
parents:
diff changeset
3 /* { dg-options "" } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 #define SA(X) _Static_assert((X),#X)
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 enum e1;
kono
parents:
diff changeset
8 enum e1 { A } __attribute__ ((__packed__));
kono
parents:
diff changeset
9 enum e2 { B } __attribute__ ((__packed__));
kono
parents:
diff changeset
10 SA (sizeof (enum e1) == sizeof (enum e2));
kono
parents:
diff changeset
11 SA (_Alignof (enum e1) == _Alignof (enum e2));
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 enum e3;
kono
parents:
diff changeset
14 enum e3 { C = 256 } __attribute__ ((__packed__));
kono
parents:
diff changeset
15 enum e4 { D = 256 } __attribute__ ((__packed__));
kono
parents:
diff changeset
16 SA (sizeof (enum e3) == sizeof (enum e4));
kono
parents:
diff changeset
17 SA (_Alignof (enum e3) == _Alignof (enum e4));
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 enum e5;
kono
parents:
diff changeset
20 enum e5 { E = __INT_MAX__ } __attribute__ ((__packed__));
kono
parents:
diff changeset
21 enum e6 { F = __INT_MAX__ } __attribute__ ((__packed__));
kono
parents:
diff changeset
22 SA (sizeof (enum e5) == sizeof (enum e6));
kono
parents:
diff changeset
23 SA (_Alignof (enum e5) == _Alignof (enum e6));
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 enum e7;
kono
parents:
diff changeset
26 enum e7 { G } __attribute__ ((__mode__(__byte__)));
kono
parents:
diff changeset
27 enum e8 { H } __attribute__ ((__mode__(__byte__)));
kono
parents:
diff changeset
28 SA (sizeof (enum e7) == sizeof (enum e8));
kono
parents:
diff changeset
29 SA (_Alignof (enum e7) == _Alignof (enum e8));
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 enum e9;
kono
parents:
diff changeset
32 enum e9 { I } __attribute__ ((__packed__, __mode__(__byte__)));
kono
parents:
diff changeset
33 enum e10 { J } __attribute__ ((__packed__, __mode__(__byte__)));
kono
parents:
diff changeset
34 SA (sizeof (enum e9) == sizeof (enum e10));
kono
parents:
diff changeset
35 SA (_Alignof (enum e9) == _Alignof (enum e10));
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37 enum e11;
kono
parents:
diff changeset
38 enum e11 { K } __attribute__ ((__mode__(__word__)));
kono
parents:
diff changeset
39 enum e12 { L } __attribute__ ((__mode__(__word__)));
kono
parents:
diff changeset
40 SA (sizeof (enum e11) == sizeof (enum e12));
kono
parents:
diff changeset
41 SA (_Alignof (enum e11) == _Alignof (enum e12));