diff options
author | Mike Stump <mrs@apple.com> | 2009-03-07 16:33:28 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-03-07 16:33:28 +0000 |
commit | 286acbdbe0c82e9a6bcad5fca3c4fa582f3f1a2c (patch) | |
tree | 72e2b3e141e7cbdc59312b6f02711751b6c5361e /lib/CodeGen/CGObjCMac.cpp | |
parent | a91b5905755a9066576db16f1d3ac0ffb9e43e09 (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.cpp | 14 |
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()), |