[lld] r268353 - ELF: Remove the function SymbolTable<ELFT>::findFile.

Peter Collingbourne via llvm-commits llvm-commits at lists.llvm.org
Mon May 2 18:48:25 PDT 2016


Author: pcc
Date: Mon May  2 20:48:25 2016
New Revision: 268353

URL: http://llvm.org/viewvc/llvm-project?rev=268353&view=rev
Log:
ELF: Remove the function SymbolTable<ELFT>::findFile.

We already have the function SymbolBody::getSourceFile which does the same thing.

Modified:
    lld/trunk/ELF/SymbolTable.cpp
    lld/trunk/ELF/SymbolTable.h
    lld/trunk/ELF/Writer.cpp

Modified: lld/trunk/ELF/SymbolTable.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolTable.cpp?rev=268353&r1=268352&r2=268353&view=diff
==============================================================================
--- lld/trunk/ELF/SymbolTable.cpp (original)
+++ lld/trunk/ELF/SymbolTable.cpp Mon May  2 20:48:25 2016
@@ -164,23 +164,6 @@ template <class ELFT> void SymbolTable<E
   memcpy(Sym->Body.buffer, Wrap->Body.buffer, sizeof(Wrap->Body));
 }
 
-// Returns a file from which symbol B was created.
-// If B does not belong to any file, returns a nullptr.
-template <class ELFT> InputFile *SymbolTable<ELFT>::findFile(SymbolBody *B) {
-  // If this symbol has a definition, follow pointers in the symbol to its
-  // defining file.
-  if (auto *R = dyn_cast<DefinedRegular<ELFT>>(B))
-    if (auto *S = R->Section)
-      return S->getFile();
-  if (auto *SS = dyn_cast<SharedSymbol<ELFT>>(B))
-    return SS->File;
-  if (auto *BC = dyn_cast<DefinedBitcode>(B))
-    return BC->File;
-  if (auto *U = dyn_cast<Undefined>(B))
-    return U->File;
-  return nullptr;
-}
-
 static uint8_t getMinVisibility(uint8_t VA, uint8_t VB) {
   if (VA == STV_DEFAULT)
     return VB;

Modified: lld/trunk/ELF/SymbolTable.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolTable.h?rev=268353&r1=268352&r2=268353&view=diff
==============================================================================
--- lld/trunk/ELF/SymbolTable.h (original)
+++ lld/trunk/ELF/SymbolTable.h Mon May  2 20:48:25 2016
@@ -84,7 +84,6 @@ public:
   void scanVersionScript();
   SymbolBody *find(StringRef Name);
   void wrap(StringRef Name);
-  InputFile *findFile(SymbolBody *B);
 
 private:
   std::pair<Symbol *, bool> insert(StringRef Name);

Modified: lld/trunk/ELF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=268353&r1=268352&r2=268353&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Mon May  2 20:48:25 2016
@@ -785,7 +785,7 @@ static void reportUndefined(SymbolTable<
   }
 
   std::string Msg = "undefined symbol: " + Sym->getName().str();
-  if (InputFile *File = Symtab.findFile(Sym))
+  if (InputFile *File = Sym->getSourceFile<ELFT>())
     Msg += " in " + File->getName().str();
   if (Config->NoinhibitExec)
     warning(Msg);




More information about the llvm-commits mailing list