aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Parse/ParseDeclCXX.cpp1
-rw-r--r--test/Parser/declarators.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/Parse/ParseDeclCXX.cpp b/lib/Parse/ParseDeclCXX.cpp
index cb180ab7d3..f95fedc4e3 100644
--- a/lib/Parse/ParseDeclCXX.cpp
+++ b/lib/Parse/ParseDeclCXX.cpp
@@ -942,6 +942,7 @@ void Parser::ParseClassSpecifier(tok::TokenKind TagTokKind,
case tok::annot_cxxscope: // struct foo {...} a:: b;
case tok::annot_typename: // struct foo {...} a ::b;
case tok::annot_template_id: // struct foo {...} a<int> ::b;
+ case tok::l_paren: // struct foo {...} ( x);
case tok::comma: // __builtin_offsetof(struct foo{...} ,
// Storage-class specifiers
case tok::kw_static: // struct foo {...} static x;
diff --git a/test/Parser/declarators.c b/test/Parser/declarators.c
index 7ec2a3c1eb..6dd32d9676 100644
--- a/test/Parser/declarators.c
+++ b/test/Parser/declarators.c
@@ -80,3 +80,6 @@ struct test11 { int a; } const test11x;
void test12() {
(void)__builtin_offsetof(struct { char c; int i; }, i);
}
+
+// rdar://7608537
+struct test13 { int a; } (test13x);