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 | d9c2607014664ad7428844e23c32956de69a74c3 (patch) | |
| tree | a12e447b132a4e1bd4ab3936711733c85119ff6f /clang/lib | |
| parent | 3e1852fa7ee4a225c1a351bc76752e91a7f18b1f (diff) | |
| download | bcm5719-llvm-d9c2607014664ad7428844e23c32956de69a74c3.tar.gz bcm5719-llvm-d9c2607014664ad7428844e23c32956de69a74c3.zip | |
Parser::ParseObjCSynchronizedStmt() needs to Enter/Exit a decl scope.
llvm-svn: 51963
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Parse/ParseObjc.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseObjc.cpp b/clang/lib/Parse/ParseObjc.cpp index 933a7a606c0..17450747e0d 100644 --- a/clang/lib/Parse/ParseObjc.cpp +++ b/clang/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); |

