diff options
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Sema/Sema.h | 4 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 6 |
2 files changed, 3 insertions, 7 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index ead93cb7494..3e9d07aefb6 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -2069,10 +2069,6 @@ struct BlockSemaInfo { /// arguments etc. Scope *TheScope; - /// PrevFunctionScope - This is the scope for the enclosing function. - /// For global blocks, this will be null. - Scope *PrevFunctionScope; - /// ReturnType - This will get set to block result type, by looking at /// return types, if any, in the block body. Type *ReturnType; diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index e34a22e039b..1a93039b032 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -4404,7 +4404,6 @@ void Sema::ActOnBlockStart(SourceLocation CaretLoc, Scope *BlockScope) { // Add BSI to CurBlock. BSI->PrevBlockInfo = CurBlock; - BSI->PrevFunctionScope = ActiveScope; CurBlock = BSI; ActiveScope = BlockScope; @@ -4501,8 +4500,9 @@ Sema::ExprResult Sema::ActOnBlockStmtExpr(SourceLocation CaretLoc, StmtTy *body, PopDeclContext(); - ActiveScope = CurBlock->PrevFunctionScope; - + // Before poping CurBlock, set ActiveScope to this scopes parent. + ActiveScope = CurBlock->TheScope->getParent(); + // Pop off CurBlock, handle nested blocks. CurBlock = CurBlock->PrevBlockInfo; |

