summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-02-03 01:45:03 +0000
committerChris Lattner <sabre@nondot.org>2010-02-03 01:45:03 +0000
commit35af0ab3eb6ed1faa28233b8a0384c06aef87681 (patch)
treec6d6ddaaa86c25b9ddff3ce506062d41b9b4276c /clang
parentaaa1db66a1225faf2c84dfa1d02b92d9a50e4843 (diff)
downloadbcm5719-llvm-35af0ab3eb6ed1faa28233b8a0384c06aef87681.tar.gz
bcm5719-llvm-35af0ab3eb6ed1faa28233b8a0384c06aef87681.zip
fix PR6216
llvm-svn: 95185
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Parse/ParseDeclCXX.cpp1
-rw-r--r--clang/test/Parser/declarators.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp
index 371aba17199..cb180ab7d32 100644
--- a/clang/lib/Parse/ParseDeclCXX.cpp
+++ b/clang/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::comma: // __builtin_offsetof(struct foo{...} ,
// Storage-class specifiers
case tok::kw_static: // struct foo {...} static x;
case tok::kw_extern: // struct foo {...} extern x;
diff --git a/clang/test/Parser/declarators.c b/clang/test/Parser/declarators.c
index edd68cc28c2..7ec2a3c1ebb 100644
--- a/clang/test/Parser/declarators.c
+++ b/clang/test/Parser/declarators.c
@@ -75,3 +75,8 @@ struct test9 {
// PR6208
struct test10 { int a; } static test10x;
struct test11 { int a; } const test11x;
+
+// PR6216
+void test12() {
+ (void)__builtin_offsetof(struct { char c; int i; }, i);
+}
OpenPOWER on IntegriCloud