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