From: Argyrios Kyrtzidis Date: Sun, 7 Sep 2008 18:58:01 +0000 (+0000) Subject: Support C++'s declaration-statement. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dcdd55fb4d28de8c314d6c6c1a38aa6aba76d431;p=clang Support C++'s declaration-statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55888 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Parse/ParseStmt.cpp b/lib/Parse/ParseStmt.cpp index e20e056ebd..5b2d3a3e0f 100644 --- a/lib/Parse/ParseStmt.cpp +++ b/lib/Parse/ParseStmt.cpp @@ -35,6 +35,7 @@ using namespace clang; /// selection-statement /// iteration-statement /// jump-statement +/// [C++] declaration-statement /// [OBC] objc-throw-statement /// [OBC] objc-try-catch-statement /// [OBC] objc-synchronized-statement @@ -93,7 +94,7 @@ Parser::StmtResult Parser::ParseStatementOrDeclaration(bool OnlyStatement) { // PASS THROUGH. default: - if (!OnlyStatement && isDeclarationSpecifier()) { + if ((getLang().CPlusPlus || !OnlyStatement) && isDeclarationSpecifier()) { SourceLocation DeclStart = Tok.getLocation(); DeclTy *Res = ParseDeclaration(Declarator::BlockContext); // FIXME: Pass in the right location for the end of the declstmt.