1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00

extern_weak linkage. fixes PR1038

llvm-svn: 32603
This commit is contained in:
Andrew Lenharth 2006-12-15 17:35:32 +00:00
parent 1898131d04
commit 3033b03f33

View File

@ -365,6 +365,10 @@ static bool GetLinkageResult(GlobalValue *Dest, GlobalValue *Src,
LinkFromSrc = true;
LT = Src->getLinkage();
}
} else if (Dest->hasExternalWeakLinkage()) {
//If the Dest is weak, use the source linkage
LinkFromSrc = true;
LT = Src->getLinkage();
} else {
LinkFromSrc = false;
LT = Dest->getLinkage();
@ -446,7 +450,7 @@ static bool LinkGlobals(Module *Dest, Module *Src,
if (DGV && DGV->hasInternalLinkage())
DGV = 0;
assert(SGV->hasInitializer() ||
assert(SGV->hasInitializer() || SGV->hasExternalWeakLinkage() ||
SGV->hasExternalLinkage() || SGV->hasDLLImportLinkage() &&
"Global must either be external or have an initializer!");