[lld] r270907 - Update for llvm change.
Rafael Espindola via llvm-commits
llvm-commits at lists.llvm.org
Thu May 26 13:31:06 PDT 2016
Author: rafael
Date: Thu May 26 15:31:06 2016
New Revision: 270907
URL: http://llvm.org/viewvc/llvm-project?rev=270907&view=rev
Log:
Update for llvm change.
Modified:
lld/trunk/COFF/SymbolTable.cpp
Modified: lld/trunk/COFF/SymbolTable.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/SymbolTable.cpp?rev=270907&r1=270906&r2=270907&view=diff
==============================================================================
--- lld/trunk/COFF/SymbolTable.cpp (original)
+++ lld/trunk/COFF/SymbolTable.cpp Thu May 26 15:31:06 2016
@@ -338,18 +338,22 @@ void SymbolTable::addCombinedLTOObject(O
// diagnose them later in reportRemainingUndefines().
StringRef Name = Body->getName();
Symbol *Sym = insert(Body);
+ SymbolBody *Existing = Sym->Body;
+
+ if (Existing == Body)
+ continue;
- if (isa<DefinedBitcode>(Sym->Body)) {
+ if (isa<DefinedBitcode>(Existing)) {
Sym->Body = Body;
continue;
}
- if (auto *L = dyn_cast<Lazy>(Sym->Body)) {
+ if (auto *L = dyn_cast<Lazy>(Existing)) {
// We may see new references to runtime library symbols such as __chkstk
// here. These symbols must be wholly defined in non-bitcode files.
addMemberFile(L);
continue;
}
- SymbolBody *Existing = Sym->Body;
+
int Comp = Existing->compare(Body);
if (Comp == 0)
error(Twine("LTO: unexpected duplicate symbol: ") + Name);
More information about the llvm-commits
mailing list