[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