[lld] r249843 - Don't silently ignore an error.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 9 09:15:58 PDT 2015


Author: rafael
Date: Fri Oct  9 11:15:57 2015
New Revision: 249843

URL: http://llvm.org/viewvc/llvm-project?rev=249843&view=rev
Log:
Don't silently ignore an error.

Found by inspection.

Modified:
    lld/trunk/ELF/OutputSections.cpp

Modified: lld/trunk/ELF/OutputSections.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/OutputSections.cpp?rev=249843&r1=249842&r2=249843&view=diff
==============================================================================
--- lld/trunk/ELF/OutputSections.cpp (original)
+++ lld/trunk/ELF/OutputSections.cpp Fri Oct  9 11:15:57 2015
@@ -594,12 +594,14 @@ void SymbolTableSection<ELFT>::writeLoca
     auto &File = cast<ObjectFile<ELFT>>(*FileB);
     Elf_Sym_Range Syms = File.getLocalSymbols();
     for (const Elf_Sym &Sym : Syms) {
-      ErrorOr<StringRef> SymName = Sym.getName(File.getStringTable());
-      if (SymName && !shouldKeepInSymtab<ELFT>(*SymName, Sym))
+      ErrorOr<StringRef> SymNameOrErr = Sym.getName(File.getStringTable());
+      error(SymNameOrErr);
+      StringRef SymName = *SymNameOrErr;
+      if (!shouldKeepInSymtab<ELFT>(SymName, Sym))
         continue;
       auto *ESym = reinterpret_cast<Elf_Sym *>(Buf);
       Buf += sizeof(*ESym);
-      ESym->st_name = (SymName) ? StrTabSec.getFileOff(*SymName) : 0;
+      ESym->st_name = StrTabSec.getFileOff(SymName);
       ESym->st_size = Sym.st_size;
       ESym->setBindingAndType(Sym.getBinding(), Sym.getType());
       uint32_t SecIndex = Sym.st_shndx;




More information about the llvm-commits mailing list