diff options
-rw-r--r-- | lib/Sema/Sema.h | 4 | ||||
-rw-r--r-- | lib/Sema/SemaExpr.cpp | 6 |
2 files changed, 3 insertions, 7 deletions
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h index ead93cb749..3e9d07aefb 100644 --- a/lib/Sema/Sema.h +++ b/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/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index e34a22e039..1a93039b03 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/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; |