CodeGen: use `llvm.used` for ObjC protocols
authorSaleem Abdulrasool <compnerd@compnerd.org>
Tue, 23 Jan 2018 19:35:51 +0000 (19:35 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Tue, 23 Jan 2018 19:35:51 +0000 (19:35 +0000)
commitbe2b5cbf5e9403c4d12bd768f15d14193b6530ae
tree5bb16e8ace031782aeb5aaafc73444df507ad275
parent6719e2418c1d8fc20a6a6b6a0540281736b591d6
CodeGen: use `llvm.used` for ObjC protocols

These symbols are supposed to be preserved even by the linker.  Use the
`llvm.used` to ensure that the symbols are not removed by DCE in the
linker.  This should be a no-op change on MachO since the symbols are
annotated as `no_dead_strip`.

llvm-svn: 323247
clang/lib/CodeGen/CGObjCMac.cpp
clang/test/CodeGenObjC/forward-protocol-metadata-symbols.m