diff options
Diffstat (limited to 'lib/CodeGen/CGBlocks.h')
-rw-r--r-- | lib/CodeGen/CGBlocks.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/CodeGen/CGBlocks.h b/lib/CodeGen/CGBlocks.h index 24b0cc9e5b..84ad190d6f 100644 --- a/lib/CodeGen/CGBlocks.h +++ b/lib/CodeGen/CGBlocks.h @@ -110,6 +110,7 @@ public: class BlockFunction : public BlockBase { CodeGenModule &CGM; + CodeGenFunction &CGF; ASTContext &getContext() const; public: @@ -148,16 +149,19 @@ public: CGBuilderTy &Builder; - BlockFunction(CodeGenModule &cgm, CGBuilderTy &B) - : CGM(cgm), Builder(B) { + BlockFunction(CodeGenModule &cgm, CodeGenFunction &cgf, CGBuilderTy &B) + : CGM(cgm), CGF(cgf), Builder(B) { PtrToInt8Ty = llvm::PointerType::getUnqual(llvm::Type::Int8Ty); } ImplicitParamDecl *BlockStructDecl; ImplicitParamDecl *getBlockStructDecl() { return BlockStructDecl; } - llvm::Value *BuildCopyHelper(int flag); - llvm::Value *BuildDestroyHelper(int flag); + llvm::Constant *GenerateCopyHelperFunction(); + llvm::Constant *GenerateDestroyHelperFunction(); + + llvm::Constant *BuildCopyHelper(int flag); + llvm::Constant *BuildDestroyHelper(int flag); llvm::Value *getBlockObjectDispose(); void BuildBlockRelease(const VarDecl &D, llvm::Value *DeclPtr); |