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