diff options
author | Mike Stump <mrs@apple.com> | 2009-03-06 06:12:24 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-03-06 06:12:24 +0000 |
commit | f89230d93b0dd72394ba2edf0de38b9e3134f603 (patch) | |
tree | e4ea795aaa94adabd2b4ce5c59ed78c830be6846 /clang/lib/CodeGen/CGBlocks.h | |
parent | c8e5085cd3b737cfdd2f21075ce67cd9f854b5b0 (diff) | |
download | bcm5719-llvm-f89230d93b0dd72394ba2edf0de38b9e3134f603.tar.gz bcm5719-llvm-f89230d93b0dd72394ba2edf0de38b9e3134f603.zip |
Complete __Block_byref_id_object_copy cogegen for block literals.
llvm-svn: 66257
Diffstat (limited to 'clang/lib/CodeGen/CGBlocks.h')
-rw-r--r-- | clang/lib/CodeGen/CGBlocks.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CGBlocks.h b/clang/lib/CodeGen/CGBlocks.h index 9763a1f32af..e915a512b78 100644 --- a/clang/lib/CodeGen/CGBlocks.h +++ b/clang/lib/CodeGen/CGBlocks.h @@ -94,6 +94,7 @@ public: int GlobalUniqueCount; } Block; + llvm::Value *BlockObjectAssign; llvm::Value *BlockObjectDispose; const llvm::Type *PtrToInt8Ty; @@ -102,7 +103,7 @@ public: : Context(C), TheModule(M), TheTargetData(TD), Types(T), CGM(CodeGen), NSConcreteGlobalBlock(0), NSConcreteStackBlock(0), BlockDescriptorType(0), - GenericBlockLiteralType(0), BlockObjectDispose(0) { + GenericBlockLiteralType(0), BlockObjectAssign(0), BlockObjectDispose(0) { Block.GlobalUniqueCount = 0; PtrToInt8Ty = llvm::PointerType::getUnqual(llvm::Type::Int8Ty); } @@ -163,12 +164,13 @@ public: llvm::Constant *BuildCopyHelper(); llvm::Constant *BuildDestroyHelper(); - llvm::Constant *GeneratebyrefCopyHelperFunction(); + llvm::Constant *GeneratebyrefCopyHelperFunction(const llvm::Type *, int flag); llvm::Constant *GeneratebyrefDestroyHelperFunction(const llvm::Type *T, int); - llvm::Constant *BuildbyrefCopyHelper(int flag); - llvm::Constant *BuildbyrefDestroyHelper(const llvm::Type*, int flag); + llvm::Constant *BuildbyrefCopyHelper(const llvm::Type *T, int flag); + llvm::Constant *BuildbyrefDestroyHelper(const llvm::Type *T, int flag); + llvm::Value *getBlockObjectAssign(); llvm::Value *getBlockObjectDispose(); void BuildBlockRelease(llvm::Value *DeclPtr, int flag = BLOCK_FIELD_IS_BYREF); |