mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-30 17:33:24 +00:00
Another work around for the 'symbols with different types can have the same
name' issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26149 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
40ec5037fa
commit
ed1e1e232f
@ -161,6 +161,10 @@ void Mangler::InsertName(GlobalValue *GV,
|
|||||||
if (GV->hasExternalLinkage() && !ExistingValue->hasExternalLinkage()) {
|
if (GV->hasExternalLinkage() && !ExistingValue->hasExternalLinkage()) {
|
||||||
MangledGlobals.insert(ExistingValue);
|
MangledGlobals.insert(ExistingValue);
|
||||||
ExistingValue = GV;
|
ExistingValue = GV;
|
||||||
|
} else if (GV->hasExternalLinkage() && ExistingValue->hasExternalLinkage()&&
|
||||||
|
GV->isExternal() && ExistingValue->isExternal()) {
|
||||||
|
// If the two globals both have external inkage, and are both external,
|
||||||
|
// don't mangle either of them, we just have some silly type mismatch.
|
||||||
} else {
|
} else {
|
||||||
// Otherwise, mangle GV
|
// Otherwise, mangle GV
|
||||||
MangledGlobals.insert(GV);
|
MangledGlobals.insert(GV);
|
||||||
|
Loading…
Reference in New Issue
Block a user