summaryrefslogtreecommitdiffstats
path: root/lld/ELF/Symbols.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2016-12-07 23:17:05 +0000
committerRui Ueyama <ruiu@google.com>2016-12-07 23:17:05 +0000
commit4c5b8cea0208c5c9b847f6234f0a108127dd326a (patch)
treeb2fb94c87afe47ed2bb7296b35054ece131b24b7 /lld/ELF/Symbols.cpp
parenta45d45e231a6ef811c75f4da8edb8b81cdca2841 (diff)
downloadbcm5719-llvm-4c5b8cea0208c5c9b847f6234f0a108127dd326a.tar.gz
bcm5719-llvm-4c5b8cea0208c5c9b847f6234f0a108127dd326a.zip
Make demangle() return None instead of "" if a given string is not a mangled symbol.
llvm-svn: 288993
Diffstat (limited to 'lld/ELF/Symbols.cpp')
-rw-r--r--lld/ELF/Symbols.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lld/ELF/Symbols.cpp b/lld/ELF/Symbols.cpp
index 99b84c75779..9fa1ed4f31f 100644
--- a/lld/ELF/Symbols.cpp
+++ b/lld/ELF/Symbols.cpp
@@ -306,7 +306,8 @@ void elf::printTraceSymbol(Symbol *Sym) {
// Returns a symbol for an error message.
std::string elf::toString(const SymbolBody &B) {
if (Config->Demangle)
- return demangle(B.getName());
+ if (Optional<std::string> S = demangle(B.getName()))
+ return *S;
return B.getName();
}
OpenPOWER on IntegriCloud