summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGBlocks.h
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2009-03-06 06:12:24 +0000
committerMike Stump <mrs@apple.com>2009-03-06 06:12:24 +0000
commitf89230d93b0dd72394ba2edf0de38b9e3134f603 (patch)
treee4ea795aaa94adabd2b4ce5c59ed78c830be6846 /clang/lib/CodeGen/CGBlocks.h
parentc8e5085cd3b737cfdd2f21075ce67cd9f854b5b0 (diff)
downloadbcm5719-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.h10
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);
OpenPOWER on IntegriCloud