[lld] r245844 - Remove a duplicated member variable. NFC.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 24 07:48:18 PDT 2015


Author: rafael
Date: Mon Aug 24 09:48:18 2015
New Revision: 245844

URL: http://llvm.org/viewvc/llvm-project?rev=245844&view=rev
Log:
Remove a duplicated member variable. NFC.

This just makes it clear that, for now, there is only one symbol table.

Modified:
    lld/trunk/ELF/Writer.cpp

Modified: lld/trunk/ELF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=245844&r1=245843&r2=245844&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Mon Aug 24 09:48:18 2015
@@ -123,6 +123,8 @@ public:
 
   void writeTo(uint8_t *Buf) override;
 
+  const SymbolTable &getSymTable() { return Table; }
+
 private:
   SymbolTable &Table;
 };
@@ -133,7 +135,7 @@ public:
   typedef typename llvm::object::ELFFile<ELFT>::uintX_t uintX_t;
   typedef typename llvm::object::ELFFile<ELFT>::Elf_Shdr Elf_Shdr;
   Writer(SymbolTable *T)
-      : Symtab(T), SymTable(*T), StringTable(T->getStringBuilder()) {}
+      : SymTable(*T), StringTable(T->getStringBuilder()) {}
   void run();
 
 private:
@@ -143,7 +145,6 @@ private:
   void writeHeader();
   void writeSections();
 
-  SymbolTable *Symtab;
   std::unique_ptr<llvm::FileOutputBuffer> Buffer;
   llvm::SpecificBumpPtrAllocator<OutputSection<ELFT>> CAlloc;
   std::vector<OutputSectionBase<ELFT::Is64Bits> *> OutputSections;
@@ -289,7 +290,8 @@ template <bool Is64Bits> struct DenseMap
 // Create output section objects and add them to OutputSections.
 template <class ELFT> void Writer<ELFT>::createSections() {
   SmallDenseMap<SectionKey<ELFT::Is64Bits>, OutputSection<ELFT> *> Map;
-  for (std::unique_ptr<ObjectFileBase> &FileB : Symtab->ObjectFiles) {
+  const SymbolTable &Symtab = SymTable.getSymTable();
+  for (const std::unique_ptr<ObjectFileBase> &FileB : Symtab.ObjectFiles) {
     auto &File = cast<ObjectFile<ELFT>>(*FileB);
     for (SectionChunk<ELFT> *C : File.getChunks()) {
       const Elf_Shdr *H = C->getSectionHdr();
@@ -371,7 +373,8 @@ template <class ELFT> void Writer<ELFT>:
   EHdr->e_ident[EI_OSABI] = ELFOSABI_NONE;
 
   EHdr->e_type = ET_EXEC;
-  auto &FirstObj = cast<ObjectFile<ELFT>>(*Symtab->ObjectFiles[0]);
+  const SymbolTable &Symtab = SymTable.getSymTable();
+  auto &FirstObj = cast<ObjectFile<ELFT>>(*Symtab.ObjectFiles[0]);
   EHdr->e_machine = FirstObj.getObj()->getHeader()->e_machine;
   EHdr->e_version = EV_CURRENT;
   EHdr->e_entry = 0x401000;




More information about the llvm-commits mailing list