Declarators can have grouping parens. This fixes rdar://7608537.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95246 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/ParseDeclCXX.cpp b/lib/Parse/ParseDeclCXX.cpp
index cb180ab..f95fedc 100644
--- a/lib/Parse/ParseDeclCXX.cpp
+++ b/lib/Parse/ParseDeclCXX.cpp
@@ -942,6 +942,7 @@
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 7ec2a3c..6dd32d9 100644
--- a/test/Parser/declarators.c
+++ b/test/Parser/declarators.c
@@ -80,3 +80,6 @@
void test12() {
(void)__builtin_offsetof(struct { char c; int i; }, i);
}
+
+// rdar://7608537
+struct test13 { int a; } (test13x);