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