mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
extern_weak linkage. fixes PR1038
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32603 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c8782ad4ee
commit
8753c447a5
@ -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!");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user