aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-06-24 23:21:27 +0000
committerJohn McCall <rjmccall@apple.com>2011-06-24 23:21:27 +0000
commit1bd2556cccdb1336bf05e2e34d2d972ea484046e (patch)
treec1757685102650639bc3d8dc5a15fcc77018152f /clang/lib/CodeGen/CodeGenFunction.h
parent6e3dfa6025c301df749adb1251a9ea592bffb391 (diff)
downloadllvm-1bd2556cccdb1336bf05e2e34d2d972ea484046e.zip
llvm-1bd2556cccdb1336bf05e2e34d2d972ea484046e.tar.gz
llvm-1bd2556cccdb1336bf05e2e34d2d972ea484046e.tar.bz2
Honor objc_precise_lifetime in GC mode by feeding the value
in the variable to an inline asm which gets run when the variable goes out of scope. llvm-svn: 133840
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index fea2e61..717f319 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -2146,6 +2146,10 @@ public:
void EmitGCMemmoveCollectable(llvm::Value *DestPtr, llvm::Value *SrcPtr,
QualType Ty);
+ /// EmitExtendGCLifetime - Given a pointer to an Objective-C object,
+ /// make sure it survives garbage collection until this point.
+ void EmitExtendGCLifetime(llvm::Value *object);
+
/// EmitComplexExpr - Emit the computation of the specified expression of
/// complex type, returning the result.
ComplexPairTy EmitComplexExpr(const Expr *E,