1// Matching
2enum E1 {
3  E1Enumerator1,
4  E1Enumerator2 = 3,
5  E1Enumerator3
6} x1;
7
8// Value mismatch
9enum E2 {
10  E2Enumerator1,
11  E2Enumerator2 = 4,
12  E2Enumerator3
13} x2;
14
15// Name mismatch
16enum E3 {
17  E3Enumerator1,
18  E3Enumerator = 3,
19  E3Enumerator3
20} x3;
21
22// Missing enumerator
23enum E4 {
24  E4Enumerator1,
25  E4Enumerator2
26} x4;
27
28// Extra enumerator
29enum E5 {
30  E5Enumerator1,
31  E5Enumerator2,
32  E5Enumerator3,
33  E5Enumerator4
34} x5;
35
36// Matching, with typedef
37typedef enum {
38  E6Enumerator1,
39  E6Enumerator2
40} E6;
41
42E6 x6;
43