diff options
| author | Kate Stone <katherine.stone@apple.com> | 2014-12-06 01:42:41 +0000 |
|---|---|---|
| committer | Kate Stone <katherine.stone@apple.com> | 2014-12-06 01:42:41 +0000 |
| commit | 641e9f8c69700e489e9d8c0ee6395c2b02cd0c91 (patch) | |
| tree | dbb608ec32c0d311890da1860a53a47e07aab647 | |
| parent | 4623b9d3e2bf1d19a46461745b9cf1047e67abd2 (diff) | |
| download | bcm5719-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.cpp | 4 |
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; |

