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);