[cfe-commits] r66342 - in /cfe/trunk/lib/CodeGen: CGObjCMac.cpp CodeGenModule.cpp
Mike Stump
mrs at apple.com
Sat Mar 7 08:33:28 PST 2009
Author: mrs
Date: Sat Mar 7 10:33:28 2009
New Revision: 66342
URL: http://llvm.org/viewvc/llvm-project?rev=66342&view=rev
Log:
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.
Modified:
cfe/trunk/lib/CodeGen/CGObjCMac.cpp
cfe/trunk/lib/CodeGen/CodeGenModule.cpp
Modified: cfe/trunk/lib/CodeGen/CGObjCMac.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCMac.cpp?rev=66342&r1=66341&r2=66342&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGObjCMac.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGObjCMac.cpp Sat Mar 7 10:33:28 2009
@@ -3885,7 +3885,9 @@
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 @@
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 @@
// __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 @@
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 @@
Entry =
new llvm::GlobalVariable(ObjCTypes.EHTypeTy, false,
- llvm::GlobalValue::WeakLinkage,
+ llvm::GlobalValue::WeakAnyLinkage,
Init,
(std::string("OBJC_EHTYPE_$_") +
ID->getIdentifier()->getName()),
Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=66342&r1=66341&r2=66342&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Sat Mar 7 10:33:28 2009
@@ -270,7 +270,7 @@
D->getAttr<WeakImportAttr>()) {
// "extern_weak" is overloaded in LLVM; we probably should have
// separate linkage types for this.
- GV->setLinkage(llvm::Function::ExternalWeakLinkage);
+ GV->setLinkage(llvm::Function::ExternalWeakAnyLinkage);
}
} else {
if (IsInternal) {
@@ -285,7 +285,7 @@
GV->setLinkage(llvm::Function::DLLExportLinkage);
} else if (D->getAttr<WeakAttr>() || D->getAttr<WeakImportAttr>() ||
IsInline)
- GV->setLinkage(llvm::Function::WeakLinkage);
+ GV->setLinkage(llvm::Function::WeakAnyLinkage);
}
}
@@ -611,7 +611,7 @@
setGlobalVisibility(GV, VisibilityAttr::HiddenVisibility);
if (D->getAttr<WeakAttr>() || D->getAttr<WeakImportAttr>())
- GV->setLinkage(llvm::GlobalValue::ExternalWeakLinkage);
+ GV->setLinkage(llvm::GlobalValue::ExternalWeakAnyLinkage);
if (const AsmLabelAttr *ALA = D->getAttr<AsmLabelAttr>()) {
// Prefaced with special LLVM marker to indicate that the name
@@ -746,7 +746,7 @@
else if (D->getAttr<DLLExportAttr>())
GV->setLinkage(llvm::Function::DLLExportLinkage);
else if (D->getAttr<WeakAttr>() || D->getAttr<WeakImportAttr>())
- GV->setLinkage(llvm::GlobalVariable::WeakLinkage);
+ GV->setLinkage(llvm::GlobalVariable::WeakAnyLinkage);
else {
// FIXME: This isn't right. This should handle common linkage and other
// stuff.
@@ -757,7 +757,7 @@
assert(0 && "Can't have auto or register globals");
case VarDecl::None:
if (!D->getInit())
- GV->setLinkage(llvm::GlobalVariable::CommonLinkage);
+ GV->setLinkage(llvm::GlobalVariable::CommonAnyLinkage);
else
GV->setLinkage(llvm::GlobalVariable::ExternalLinkage);
break;
More information about the cfe-commits
mailing list