mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
Fix bug: Linker/2003-08-28-TypeResolvesGlobal2.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8206 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2bc065b63a
commit
ad217a4ca2
@ -236,17 +236,12 @@ void SymbolTable::refineAbstractType(const DerivedType *OldType,
|
||||
"Two planes folded together with overlapping value names!");
|
||||
|
||||
// Make sure that ExistGV is the one we want to keep!
|
||||
if (!NewGV->isExternal() || !NewGV->use_empty()) {
|
||||
if (!NewGV->isExternal())
|
||||
std::swap(NewGV, ExistGV);
|
||||
}
|
||||
|
||||
// Ok we have two external global values. Make all uses of the new
|
||||
// one use the old one...
|
||||
//
|
||||
assert(NewGV->use_empty() && "No uses allowed on untyped value!");
|
||||
|
||||
// We cannot replaceAllUsesWith, because they have different types!
|
||||
//NewGV->replaceAllUsesWith(ExistGV);
|
||||
NewGV->uncheckedReplaceAllUsesWith(ExistGV);
|
||||
|
||||
// Now we just convert it to an unnamed method... which won't get
|
||||
// added to our symbol table. The problem is that if we call
|
||||
|
Loading…
Reference in New Issue
Block a user