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