diff options
| author | Rui Ueyama <ruiu@google.com> | 2016-01-21 03:07:38 +0000 |
|---|---|---|
| committer | Rui Ueyama <ruiu@google.com> | 2016-01-21 03:07:38 +0000 |
| commit | 90f76fbb54f46e566ac9705be6cebdad156640fe (patch) | |
| tree | 7f437eecea9e21ccf997557791d1ff2eee86da6d /lld/ELF/Writer.cpp | |
| parent | b4fc4cbee60b2d8daf34f9e502caba65b790e8b7 (diff) | |
| download | bcm5719-llvm-90f76fbb54f46e566ac9705be6cebdad156640fe.tar.gz bcm5719-llvm-90f76fbb54f46e566ac9705be6cebdad156640fe.zip | |
Return early before iterating over local symbols. NFC.
llvm-svn: 258385
Diffstat (limited to 'lld/ELF/Writer.cpp')
| -rw-r--r-- | lld/ELF/Writer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index a8a5aca6b51..bc2c7ad43f9 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -363,6 +363,8 @@ static void reportUndefined(SymbolTable<ELFT> &Symtab, SymbolBody *Sym) { // Local symbols are not in the linker's symbol table. This function scans // each object file's symbol table to copy local symbols to the output. template <class ELFT> void Writer<ELFT>::copyLocalSymbols() { + if (!Out<ELFT>::SymTab) + return; for (const std::unique_ptr<ObjectFile<ELFT>> &F : Symtab.getObjectFiles()) { for (const Elf_Sym &Sym : F->getLocalSymbols()) { ErrorOr<StringRef> SymNameOrErr = Sym.getName(F->getStringTable()); @@ -370,8 +372,7 @@ template <class ELFT> void Writer<ELFT>::copyLocalSymbols() { StringRef SymName = *SymNameOrErr; if (!shouldKeepInSymtab<ELFT>(*F, SymName, Sym)) continue; - if (Out<ELFT>::SymTab) - Out<ELFT>::SymTab->addLocalSymbol(SymName); + Out<ELFT>::SymTab->addLocalSymbol(SymName); } } } |

