diff options
author | Steve Naroff <snaroff@apple.com> | 2008-06-04 20:36:13 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2008-06-04 20:36:13 +0000 |
commit | 3ac438c383a4a9a73c76a05c76ec5d02f10a3c52 (patch) | |
tree | 24b6096b9d8aff7977fd306e79a9141f334ae97b /lib/Parse/ParseObjc.cpp | |
parent | 0e72401c647cff2f1fe493fab75ecdccb829d1d1 (diff) |
Parser::ParseObjCSynchronizedStmt() needs to Enter/Exit a decl scope.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51963 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseObjc.cpp')
-rw-r--r-- | lib/Parse/ParseObjc.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Parse/ParseObjc.cpp b/lib/Parse/ParseObjc.cpp index 933a7a606c..17450747e0 100644 --- a/lib/Parse/ParseObjc.cpp +++ b/lib/Parse/ParseObjc.cpp @@ -1143,7 +1143,13 @@ Parser::StmtResult Parser::ParseObjCSynchronizedStmt(SourceLocation atLoc) { Diag (Tok, diag::err_expected_lbrace); return true; } + // Enter a scope to hold everything within the compound stmt. Compound + // statements can always hold declarations. + EnterScope(Scope::DeclScope); + StmtResult SynchBody = ParseCompoundStatementBody(); + + ExitScope(); if (SynchBody.isInvalid) SynchBody = Actions.ActOnNullStmt(Tok.getLocation()); return Actions.ActOnObjCAtSynchronizedStmt(atLoc, Res.Val, SynchBody.Val); |