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