summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGBlocks.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-05-21 04:11:14 +0000
committerJohn McCall <rjmccall@apple.com>2010-05-21 04:11:14 +0000
commit9d42f0f174aa86e7434b0e385469bd0db6dc66cf (patch)
treea1755bad3ccab617d6bf8735c9a025b599215b06 /clang/lib/CodeGen/CGBlocks.h
parentd5f0998c6e84d4412007e8bbc732b7d5f7820a9c (diff)
downloadbcm5719-llvm-9d42f0f174aa86e7434b0e385469bd0db6dc66cf.tar.gz
bcm5719-llvm-9d42f0f174aa86e7434b0e385469bd0db6dc66cf.zip
Allocate space in a block record for implicit references to the Objective C
'self' variable arising from uses of the 'super' keyword. Also reorganize some code so that BlockInfo (now CGBlockInfo) can be opaque outside of CGBlocks.cpp. Fixes rdar://problem/8010633. llvm-svn: 104312
Diffstat (limited to 'clang/lib/CodeGen/CGBlocks.h')
-rw-r--r--clang/lib/CodeGen/CGBlocks.h24
1 files changed, 0 insertions, 24 deletions
diff --git a/clang/lib/CodeGen/CGBlocks.h b/clang/lib/CodeGen/CGBlocks.h
index 067dfc7fdfd..e9b2bd549af 100644
--- a/clang/lib/CodeGen/CGBlocks.h
+++ b/clang/lib/CodeGen/CGBlocks.h
@@ -148,30 +148,6 @@ public:
BLOCK_BYREF_CURRENT_MAX = 256
};
- /// BlockInfo - Information to generate a block literal.
- struct BlockInfo {
- /// BlockLiteralTy - The type of the block literal.
- const llvm::Type *BlockLiteralTy;
-
- /// Name - the name of the function this block was created for, if any.
- const char *Name;
-
- /// ByCopyDeclRefs - Variables from parent scopes that have been imported
- /// into this block.
- llvm::SmallVector<const BlockDeclRefExpr *, 8> DeclRefs;
-
- /// CXXThisRef - An expression referring to the required 'this'
- /// expression.
- const CXXThisExpr *CXXThisRef;
-
- BlockInfo(const llvm::Type *blt, const char *n)
- : BlockLiteralTy(blt), Name(n), CXXThisRef(0) {
- // Skip asm prefix, if any.
- if (Name && Name[0] == '\01')
- ++Name;
- }
- };
-
CGBuilderTy &Builder;
BlockFunction(CodeGenModule &cgm, CodeGenFunction &cgf, CGBuilderTy &B);
OpenPOWER on IntegriCloud