diff options
| author | Rui Ueyama <ruiu@google.com> | 2016-12-07 23:17:05 +0000 |
|---|---|---|
| committer | Rui Ueyama <ruiu@google.com> | 2016-12-07 23:17:05 +0000 |
| commit | 4c5b8cea0208c5c9b847f6234f0a108127dd326a (patch) | |
| tree | b2fb94c87afe47ed2bb7296b35054ece131b24b7 /lld/ELF/SymbolTable.cpp | |
| parent | a45d45e231a6ef811c75f4da8edb8b81cdca2841 (diff) | |
| download | bcm5719-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/SymbolTable.cpp')
| -rw-r--r-- | lld/ELF/SymbolTable.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lld/ELF/SymbolTable.cpp b/lld/ELF/SymbolTable.cpp index 6734e54a135..2b0bf42eda1 100644 --- a/lld/ELF/SymbolTable.cpp +++ b/lld/ELF/SymbolTable.cpp @@ -576,7 +576,10 @@ void SymbolTable<ELFT>::initDemangledSyms() { for (Symbol *Sym : SymVector) { SymbolBody *B = Sym->body(); - (*DemangledSyms)[demangle(B->getName())].push_back(B); + if (Optional<std::string> S = demangle(B->getName())) + (*DemangledSyms)[*S].push_back(B); + else + (*DemangledSyms)[B->getName()].push_back(B); } } |

