diff options
author | John McCall <rjmccall@apple.com> | 2010-05-21 04:11:14 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-05-21 04:11:14 +0000 |
commit | 9d42f0f174aa86e7434b0e385469bd0db6dc66cf (patch) | |
tree | a1755bad3ccab617d6bf8735c9a025b599215b06 /clang/lib/CodeGen/CGBlocks.h | |
parent | d5f0998c6e84d4412007e8bbc732b7d5f7820a9c (diff) | |
download | bcm5719-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.h | 24 |
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); |