diff options
Diffstat (limited to 'clang/test/Parser')
-rw-r--r-- | clang/test/Parser/cxx0x-ambig.cpp | 4 | ||||
-rw-r--r-- | clang/test/Parser/declarators.c | 34 |
2 files changed, 36 insertions, 2 deletions
diff --git a/clang/test/Parser/cxx0x-ambig.cpp b/clang/test/Parser/cxx0x-ambig.cpp index 4c22ed3a9bb..b06f432c435 100644 --- a/clang/test/Parser/cxx0x-ambig.cpp +++ b/clang/test/Parser/cxx0x-ambig.cpp @@ -48,7 +48,7 @@ namespace bitfield { }; // This could be a bit-field. struct S2 { - enum E : T { a = 1, b = 2, c = 3, 4 }; // expected-error {{non-integral type}} expected-error {{expected '}'}} expected-note {{to match}} + enum E : T { a = 1, b = 2, c = 3, 4 }; // expected-error {{non-integral type}} expected-error {{expected identifier}} }; struct S3 { enum E : int { a = 1, b = 2, c = 3, d }; // ok, defines an enum @@ -64,7 +64,7 @@ namespace bitfield { }; // This could be a bit-field. struct S6 { - enum E : int { 1 }; // expected-error {{expected '}'}} expected-note {{to match}} + enum E : int { 1 }; // expected-error {{expected identifier}} }; struct U { diff --git a/clang/test/Parser/declarators.c b/clang/test/Parser/declarators.c index 210a8e2befc..f77c2d2192f 100644 --- a/clang/test/Parser/declarators.c +++ b/clang/test/Parser/declarators.c @@ -113,3 +113,37 @@ struct EnumBitfield { // expected-warning {{struct without named members is a GN struct S { int n; }: // expected-error {{expected ';'}} }; + +// PR10982 +enum E11 { + A1 = 1, +}; + +enum E12 { + , // expected-error{{expected identifier}} + A2 +}; +void func_E12(enum E12 *p) { *p = A2; } + +enum E13 { + 1D, // expected-error{{expected identifier}} + A3 +}; +void func_E13(enum E13 *p) { *p = A3; } + +enum E14 { + A4 12, // expected-error{{expected '= constant-expression' or end of enumerator definition}} + A4a +}; +void func_E14(enum E14 *p) { *p = A4a; } + +enum E15 { + A5=12 4, // expected-error{{expected '}' or ','}} + A5a +}; +void func_E15(enum E15 *p) { *p = A5a; } + +enum E16 { + A6; // expected-error{{expected '= constant-expression' or end of enumerator definition}} + A6a +}; |