summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKate Stone <katherine.stone@apple.com>2014-12-06 01:42:41 +0000
committerKate Stone <katherine.stone@apple.com>2014-12-06 01:42:41 +0000
commit641e9f8c69700e489e9d8c0ee6395c2b02cd0c91 (patch)
treedbb608ec32c0d311890da1860a53a47e07aab647
parent4623b9d3e2bf1d19a46461745b9cf1047e67abd2 (diff)
downloadbcm5719-llvm-641e9f8c69700e489e9d8c0ee6395c2b02cd0c91.tar.gz
bcm5719-llvm-641e9f8c69700e489e9d8c0ee6395c2b02cd0c91.zip
Improvements to FastDemangler to correct parsing of <local-name> encodings for string literal and parameter/entity cases. Patch courtesy of slydiman.
llvm-svn: 223569
-rw-r--r--lldb/source/Core/FastDemangle.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Core/FastDemangle.cpp b/lldb/source/Core/FastDemangle.cpp
index d696dbd4535..53e8972e804 100644
--- a/lldb/source/Core/FastDemangle.cpp
+++ b/lldb/source/Core/FastDemangle.cpp
@@ -2039,11 +2039,15 @@ private:
switch (*m_read_ptr)
{
case 's':
+ ++m_read_ptr;
TryParseDiscriminator(); // Optional and ignored
WRITE("::string literal");
break;
case 'd':
+ ++m_read_ptr;
TryParseNumber(); // Optional and ignored
+ if (!Parse('_'))
+ return false;
WriteNamespaceSeparator();
if (!ParseName())
return false;
OpenPOWER on IntegriCloud