aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGObjCMac.cpp
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2009-03-07 16:33:28 +0000
committerMike Stump <mrs@apple.com>2009-03-07 16:33:28 +0000
commit286acbdbe0c82e9a6bcad5fca3c4fa582f3f1a2c (patch)
tree72e2b3e141e7cbdc59312b6f02711751b6c5361e /lib/CodeGen/CGObjCMac.cpp
parenta91b5905755a9066576db16f1d3ac0ffb9e43e09 (diff)
Fixup our uses of various linkages to match how llvm now works. I think they are all
correct, but an extra set of ObjC eyes would be good. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66342 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGObjCMac.cpp')
-rw-r--r--lib/CodeGen/CGObjCMac.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index 11836adf56..e48b6c0914 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -3885,7 +3885,9 @@ llvm::Value *CGObjCNonFragileABIMac::GenerateProtocolRef(CGBuilderTy &Builder,
return Builder.CreateLoad(PTGV, false, "tmp");
PTGV = new llvm::GlobalVariable(
Init->getType(), false,
- llvm::GlobalValue::WeakLinkage,
+ // FIXME: review, was WeakLinkage,
+ // also review all other WeakLinkage changes
+ llvm::GlobalValue::WeakAnyLinkage,
Init,
ProtocolName,
&CGM.getModule());
@@ -4308,12 +4310,12 @@ llvm::Constant *CGObjCNonFragileABIMac::GetOrEmitProtocol(
if (Entry) {
// Already created, fix the linkage and update the initializer.
- Entry->setLinkage(llvm::GlobalValue::WeakLinkage);
+ Entry->setLinkage(llvm::GlobalValue::WeakAnyLinkage);
Entry->setInitializer(Init);
} else {
Entry =
new llvm::GlobalVariable(ObjCTypes.ProtocolnfABITy, false,
- llvm::GlobalValue::WeakLinkage,
+ llvm::GlobalValue::WeakAnyLinkage,
Init,
std::string("\01l_OBJC_PROTOCOL_$_")+ProtocolName,
&CGM.getModule());
@@ -4327,7 +4329,7 @@ llvm::Constant *CGObjCNonFragileABIMac::GetOrEmitProtocol(
// __DATA, __objc_protolist
llvm::GlobalVariable *PTGV = new llvm::GlobalVariable(
ObjCTypes.ProtocolnfABIPtrTy, false,
- llvm::GlobalValue::WeakLinkage,
+ llvm::GlobalValue::WeakAnyLinkage,
Entry,
std::string("\01l_OBJC_LABEL_PROTOCOL_$_")
+ProtocolName,
@@ -4547,7 +4549,7 @@ CodeGen::RValue CGObjCNonFragileABIMac::EmitMessageSend(
Values[1] = GetMethodVarName(Sel);
llvm::Constant *Init = llvm::ConstantStruct::get(Values);
GV = new llvm::GlobalVariable(Init->getType(), false,
- llvm::GlobalValue::WeakLinkage,
+ llvm::GlobalValue::WeakAnyLinkage,
Init,
Name,
&CGM.getModule());
@@ -5108,7 +5110,7 @@ CGObjCNonFragileABIMac::GetInterfaceEHType(const ObjCInterfaceType *IT) {
Entry =
new llvm::GlobalVariable(ObjCTypes.EHTypeTy, false,
- llvm::GlobalValue::WeakLinkage,
+ llvm::GlobalValue::WeakAnyLinkage,
Init,
(std::string("OBJC_EHTYPE_$_") +
ID->getIdentifier()->getName()),