diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2010-07-09 18:44:02 +0000 | 
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-07-09 18:44:02 +0000 | 
| commit | 1babe7778d4bf186129049b7b69692d6bec187b1 (patch) | |
| tree | b9116439e2723f3b94c07f246ba81533c163e4d3 /clang/lib/Sema/SemaExpr.cpp | |
| parent | 79edde88ed2ac245642e8358ee868af3e517dd15 (diff) | |
| download | bcm5719-llvm-1babe7778d4bf186129049b7b69692d6bec187b1.tar.gz bcm5719-llvm-1babe7778d4bf186129049b7b69692d6bec187b1.zip | |
Instantiation of block literal expressions. wip.
llvm-svn: 108000
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 66369674f25..dfa472cc26b 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -7074,7 +7074,10 @@ void Sema::ActOnBlockStart(SourceLocation CaretLoc, Scope *BlockScope) {    BlockDecl *Block = BlockDecl::Create(Context, CurContext, CaretLoc);    PushBlockScope(BlockScope, Block);    CurContext->addDecl(Block); -  PushDeclContext(BlockScope, Block); +  if (BlockScope) +    PushDeclContext(BlockScope, Block); +  else +    CurContext = Block;  }  void Sema::ActOnBlockArguments(Declarator &ParamInfo, Scope *CurScope) { @@ -7199,7 +7202,7 @@ Sema::OwningExprResult Sema::ActOnBlockStmtExpr(SourceLocation CaretLoc,      Diag(CaretLoc, diag::err_blocks_disable);    BlockScopeInfo *BSI = cast<BlockScopeInfo>(FunctionScopes.back()); - +      PopDeclContext();    QualType RetTy = Context.VoidTy; | 

