]> granicus.if.org Git - clang/commit
Under ARC, when we're passing the address of a strong variable
authorJohn McCall <rjmccall@apple.com>
Sat, 23 Mar 2013 02:35:54 +0000 (02:35 +0000)
committerJohn McCall <rjmccall@apple.com>
Sat, 23 Mar 2013 02:35:54 +0000 (02:35 +0000)
commitb6a6079449a5275c283982e19b0c38e165833bb2
treec5448c62a1faeaada372f8d7a08dfdf85293a7fc
parent060fe33d41ea975db519c96def5c2d2b1da7a78f
Under ARC, when we're passing the address of a strong variable
to an out-parameter using the indirect-writeback conversion,
and we copied the current value of the variable to the temporary,
make sure that we register an intrinsic use of that value with
the optimizer so that the value won't get released until we have
a chance to retain it.

rdar://13195034

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177813 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGCall.cpp
lib/CodeGen/CGCall.h
lib/CodeGen/CGObjC.cpp
lib/CodeGen/CodeGenFunction.h
lib/CodeGen/CodeGenModule.h
test/CodeGenObjC/arc-blocks.m
test/CodeGenObjC/arc-ternary-op.m
test/CodeGenObjC/arc.m
test/CodeGenObjCXX/arc.mm