aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2009-03-20 21:53:12 +0000
committerMike Stump <mrs@apple.com>2009-03-20 21:53:12 +0000
commit6cc88f78fd36d3511b89412b193494b3e423cbff (patch)
tree1e15a06b97d146a052973e948b20e6ebe778c5b1 /lib/CodeGen/CodeGenFunction.h
parent082d936a5b8323ac2c04558d8bca277a647831a3 (diff)
Fix codegen for support for super inside block literal expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67406 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenFunction.h')
-rw-r--r--lib/CodeGen/CodeGenFunction.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h
index a54e187658..9771c83d84 100644
--- a/lib/CodeGen/CodeGenFunction.h
+++ b/lib/CodeGen/CodeGenFunction.h
@@ -72,7 +72,8 @@ public:
typedef std::pair<llvm::Value *, llvm::Value *> ComplexPairTy;
CGBuilderTy Builder;
- // Holds the Decl for the current function or method
+ /// CurFuncDecl - Holds the Decl for the current function or method. This
+ /// excludes BlockDecls.
const Decl *CurFuncDecl;
const CGFunctionInfo *CurFnInfo;
QualType FnRetTy;
@@ -272,11 +273,13 @@ public:
llvm::Function *GenerateBlockFunction(const BlockExpr *BExpr,
const BlockInfo& Info,
+ const Decl *OuterFuncDecl,
llvm::DenseMap<const Decl*, llvm::Value*> ldm,
uint64_t &Size, uint64_t &Align,
llvm::SmallVector<const Expr *, 8> &subBlockDeclRefDecls,
bool &subBlockHasCopyDispose);
+ void BlockForwardSelf();
llvm::Value *LoadBlockStruct();
llvm::Value *GetAddrOfBlockDecl(const BlockDeclRefExpr *E);