Generate the conservative objc gc's API for now.

llvm-svn: 65051
This commit is contained in:
Fariborz Jahanian 2009-02-19 18:29:24 +00:00
parent bea465aefb
commit 3114e94e10
1 changed files with 7 additions and 0 deletions

View File

@ -416,10 +416,17 @@ void CodeGenFunction::EmitStoreThroughLValue(RValue Src, LValue Dst,
// load of a __strong object.
llvm::Value *LvalueDst = Dst.getAddress();
llvm::Value *src = Src.getScalarVal();
#if 0
// FIXME. We cannot positively determine if we have an
// 'ivar' assignment, object assignment or an unknown
// assignment. For now, generate call to objc_assign_strongCast
// assignment which is a safe, but consevative assumption.
if (Dst.isObjCIvar())
CGM.getObjCRuntime().EmitObjCIvarAssign(*this, src, LvalueDst);
else
CGM.getObjCRuntime().EmitObjCGlobalAssign(*this, src, LvalueDst);
#endif
CGM.getObjCRuntime().EmitObjCStrongCastAssign(*this, src, LvalueDst);
return;
}