diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-09-28 20:42:35 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-09-28 20:42:35 +0000 |
commit | c5be7b0fc804d8e6f87298ec03c94d8cccd74f29 (patch) | |
tree | 58e08f5b9acae774be52b0421a073a673a291ab1 /lib/Parse/Parser.cpp | |
parent | 2cf9d656f6283f2a8be0549da110d7cfbb1ea4b2 (diff) |
vla expressions used in __typeof__ must be evaluated.
Fixes rdar://8476159.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114982 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/Parser.cpp')
-rw-r--r-- | lib/Parse/Parser.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp index cd4f342042..33c7b7dcb4 100644 --- a/lib/Parse/Parser.cpp +++ b/lib/Parse/Parser.cpp @@ -519,14 +519,16 @@ Parser::DeclGroupPtrTy Parser::ParseExternalDeclaration(CXX0XAttributeList Attr, // A function definition cannot start with a these keywords. { SourceLocation DeclEnd; - return ParseDeclaration(Declarator::FileContext, DeclEnd, Attr); + StmtVector Stmts(Actions); + return ParseDeclaration(Stmts, Declarator::FileContext, DeclEnd, Attr); } case tok::kw_inline: if (getLang().CPlusPlus && NextToken().is(tok::kw_namespace)) { // Inline namespaces. Allowed as an extension even in C++03. SourceLocation DeclEnd; - return ParseDeclaration(Declarator::FileContext, DeclEnd, Attr); + StmtVector Stmts(Actions); + return ParseDeclaration(Stmts, Declarator::FileContext, DeclEnd, Attr); } goto dont_know; |