]> granicus.if.org Git - clang/commit
[CodeGen][ObjC] Emit the retainRV marker as a module flag instead of
authorAkira Hatanaka <ahatanaka@apple.com>
Wed, 10 Apr 2019 06:20:23 +0000 (06:20 +0000)
committerAkira Hatanaka <ahatanaka@apple.com>
Wed, 10 Apr 2019 06:20:23 +0000 (06:20 +0000)
commit3b60e174bc742d9ec313dd008b2b90a74406a314
tree3462e79b1f023b8ddc5001c39075306b04b875e5
parent1c5a77ab63d1abd64398ea2f76721e59d4517ad5
[CodeGen][ObjC] Emit the retainRV marker as a module flag instead of
named metadata.

This fixes a bug where ARC contract wasn't inserting the retainRV
marker when LTO was enabled, which caused objects returned from a
function to be auto-released.

rdar://problem/49464214

Differential Revision: https://reviews.llvm.org/D60302

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@358048 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGObjC.cpp
test/CodeGenObjC/arc-unsafeclaim.m