diff options
| -rw-r--r-- | lld/COFF/SymbolTable.cpp | 13 | ||||
| -rw-r--r-- | lld/COFF/SymbolTable.h | 2 |
2 files changed, 4 insertions, 11 deletions
diff --git a/lld/COFF/SymbolTable.cpp b/lld/COFF/SymbolTable.cpp index 56298b960bc..015d7075dca 100644 --- a/lld/COFF/SymbolTable.cpp +++ b/lld/COFF/SymbolTable.cpp @@ -22,9 +22,9 @@ namespace lld { namespace coff { SymbolTable::SymbolTable() { - addSymbol(new DefinedAbsolute("__ImageBase", Config->ImageBase)); + resolve(new (Alloc) DefinedAbsolute("__ImageBase", Config->ImageBase)); if (!Config->EntryName.empty()) - addUndefined(Config->EntryName); + resolve(new (Alloc) Undefined(Config->EntryName)); } std::error_code SymbolTable::addFile(std::unique_ptr<InputFile> File) { @@ -192,7 +192,7 @@ ErrorOr<StringRef> SymbolTable::findDefaultEntry() { return StringRef(E[1]); if (!find(E[0])) continue; - if (auto EC = addSymbol(new Undefined(E[1]))) + if (auto EC = resolve(new (Alloc) Undefined(E[1]))) return EC; return StringRef(E[1]); } @@ -201,7 +201,7 @@ ErrorOr<StringRef> SymbolTable::findDefaultEntry() { } std::error_code SymbolTable::addUndefined(StringRef Name) { - return addSymbol(new Undefined(Name)); + return resolve(new (Alloc) Undefined(Name)); } // Resolve To, and make From an alias to To. @@ -213,11 +213,6 @@ std::error_code SymbolTable::rename(StringRef From, StringRef To) { return std::error_code(); } -std::error_code SymbolTable::addSymbol(SymbolBody *Body) { - OwningSymbols.push_back(std::unique_ptr<SymbolBody>(Body)); - return resolve(Body); -} - void SymbolTable::dump() { for (auto &P : Symtab) { Symbol *Ref = P.second; diff --git a/lld/COFF/SymbolTable.h b/lld/COFF/SymbolTable.h index bb50cd3dea7..0c5e795d79c 100644 --- a/lld/COFF/SymbolTable.h +++ b/lld/COFF/SymbolTable.h @@ -84,12 +84,10 @@ private: std::error_code resolve(SymbolBody *Body); std::error_code addMemberFile(Lazy *Body); - std::error_code addSymbol(SymbolBody *Body); std::unordered_map<StringRef, Symbol *> Symtab; std::vector<std::unique_ptr<ArchiveFile>> ArchiveFiles; std::vector<std::unique_ptr<BitcodeFile>> BitcodeFiles; - std::vector<std::unique_ptr<SymbolBody>> OwningSymbols; std::unique_ptr<MemoryBuffer> LTOObjectFile; llvm::BumpPtrAllocator Alloc; }; |

