summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Demangle
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2019-04-10 17:31:34 +0000
committerNico Weber <nicolasweber@gmx.de>2019-04-10 17:31:34 +0000
commit5f6eb1817af8d525ee93ac8a1f0cf9c881b3ebd3 (patch)
tree4ae8cad081f0ad5f35a02b2236bc65d1b752e446 /llvm/lib/Demangle
parent2064e45ce35a58d706b9b0601e785f94e3afe871 (diff)
downloadbcm5719-llvm-5f6eb1817af8d525ee93ac8a1f0cf9c881b3ebd3.tar.gz
bcm5719-llvm-5f6eb1817af8d525ee93ac8a1f0cf9c881b3ebd3.zip
llvm-undname: Fix another crash-on-invalid
This fixes a regression from https://reviews.llvm.org/D60354. We used to SymbolNode *Symbol = demangleEncodedSymbol(MangledName, QN); if (Symbol) { Symbol->Name = QN; } but changed that to SymbolNode *Symbol = demangleEncodedSymbol(MangledName, QN); if (Error) return nullptr; Symbol->Name = QN; and one branch somewhere returned a nullptr without setting Error. Looking at the code changed in r340083 and r340710 that branch looks like a remnant from an earlier attempt to demangle RTTI descriptors that has since been rewritten -- so just remove this branch. It shouldn't change behavior for correctly mangled symbols. llvm-svn: 358112
Diffstat (limited to 'llvm/lib/Demangle')
-rw-r--r--llvm/lib/Demangle/MicrosoftDemangle.cpp2
1 files changed, 0 insertions, 2 deletions
diff --git a/llvm/lib/Demangle/MicrosoftDemangle.cpp b/llvm/lib/Demangle/MicrosoftDemangle.cpp
index b0f4d9a8a8f..c649552051f 100644
--- a/llvm/lib/Demangle/MicrosoftDemangle.cpp
+++ b/llvm/lib/Demangle/MicrosoftDemangle.cpp
@@ -696,8 +696,6 @@ SymbolNode *Demangler::demangleEncodedSymbol(StringView &MangledName,
StorageClass SC = demangleVariableStorageClass(MangledName);
return demangleVariableEncoding(MangledName, SC);
}
- case '8':
- return nullptr;
}
FunctionSymbolNode *FSN = demangleFunctionEncoding(MangledName);
OpenPOWER on IntegriCloud