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