diff options
Diffstat (limited to 'lld/ELF/SymbolTable.cpp')
| -rw-r--r-- | lld/ELF/SymbolTable.cpp | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/lld/ELF/SymbolTable.cpp b/lld/ELF/SymbolTable.cpp index 2feb1a9b12f..a0ebb0257c5 100644 --- a/lld/ELF/SymbolTable.cpp +++ b/lld/ELF/SymbolTable.cpp @@ -242,9 +242,11 @@ SymbolTable<ELFT>::insert(StringRef Name, uint8_t Type, uint8_t Visibility,  template <typename ELFT>  std::string SymbolTable<ELFT>::conflictMsg(SymbolBody *Existing,                                             InputFile *NewFile) { -  StringRef Sym = Existing->getName(); -  return demangle(Sym) + " in " + getFilename(Existing->getSourceFile<ELFT>()) + -         " and " + getFilename(NewFile); +  std::string Sym = Existing->getName(); +  if (Config->Demangle) +    Sym = demangle(Sym); +  return Sym + " in " + getFilename(Existing->getSourceFile<ELFT>()) + " and " + +         getFilename(NewFile);  }  template <class ELFT> Symbol *SymbolTable<ELFT>::addUndefined(StringRef Name) { | 

