summaryrefslogtreecommitdiff
path: root/test/Parser/declarators.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/Parser/declarators.c')
-rw-r--r--test/Parser/declarators.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/Parser/declarators.c b/test/Parser/declarators.c
index 210a8e2befc7b..39d9dc94490df 100644
--- a/test/Parser/declarators.c
+++ b/test/Parser/declarators.c
@@ -100,6 +100,7 @@ long struct X { int x; } test15(); // expected-error {{'long struct' is invalid}
void test16(i) int i j; { } // expected-error {{expected ';' at end of declaration}}
void test17(i, j) int i, j k; { } // expected-error {{expected ';' at end of declaration}}
+void knrNoSemi(i) int i { } // expected-error {{expected ';' at end of declaration}}
// PR12595
@@ -113,3 +114,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
+};