summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2014-03-03 21:53:57 +0000
committerFariborz Jahanian <fjahanian@apple.com>2014-03-03 21:53:57 +0000
commit1d5c1fad68e198e802c1fd7642876716ab1b2841 (patch)
treee8cd7c5c078cc63602585fdf4ff2f843cac09b15 /clang/lib/CodeGen
parentf72eeaa4380cd990a1f0fb3135f6bfa409189861 (diff)
downloadbcm5719-llvm-1d5c1fad68e198e802c1fd7642876716ab1b2841.tar.gz
bcm5719-llvm-1d5c1fad68e198e802c1fd7642876716ab1b2841.zip
Objective-C. Fixes a regression when figuring out linkage
for metadata symbols for forward referenced protocols which are never defined. // rdar://16203115 llvm-svn: 202761
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGObjCMac.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp
index 044bc18c1e7..7f2432c08c7 100644
--- a/clang/lib/CodeGen/CGObjCMac.cpp
+++ b/clang/lib/CodeGen/CGObjCMac.cpp
@@ -2660,6 +2660,7 @@ llvm::Constant *CGObjCMac::GetOrEmitProtocol(const ObjCProtocolDecl *PD) {
if (Entry) {
// Already created, fix the linkage and update the initializer.
+ Entry->setLinkage(llvm::GlobalValue::PrivateLinkage);
Entry->setInitializer(Init);
} else {
Entry =
@@ -6357,7 +6358,7 @@ llvm::Constant *CGObjCNonFragileABIMac::GetOrEmitProtocol(
if (Entry) {
// Already created, fix the linkage and update the initializer.
- assert(Entry->getLinkage() == llvm::GlobalValue::WeakAnyLinkage);
+ Entry->setLinkage(llvm::GlobalValue::WeakAnyLinkage);
Entry->setInitializer(Init);
} else {
Entry =
OpenPOWER on IntegriCloud