[libcxxabi] r338747 - [itanium demangler] Support dot suffixes on block invocation functions
Erik Pilkington via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 2 10:45:01 PDT 2018
Author: epilk
Date: Thu Aug 2 10:45:01 2018
New Revision: 338747
URL: http://llvm.org/viewvc/llvm-project?rev=338747&view=rev
Log:
[itanium demangler] Support dot suffixes on block invocation functions
rdar://32378759
Modified:
libcxxabi/trunk/src/cxa_demangle.cpp
libcxxabi/trunk/test/test_demangle.pass.cpp
Modified: libcxxabi/trunk/src/cxa_demangle.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/cxa_demangle.cpp?rev=338747&r1=338746&r2=338747&view=diff
==============================================================================
--- libcxxabi/trunk/src/cxa_demangle.cpp (original)
+++ libcxxabi/trunk/src/cxa_demangle.cpp Thu Aug 2 10:45:01 2018
@@ -4935,6 +4935,8 @@ Node *Db::parse() {
bool RequireNumber = consumeIf('_');
if (parseNumber().empty() && RequireNumber)
return nullptr;
+ if (look() == '.')
+ First = Last;
if (numLeft() != 0)
return nullptr;
return make<SpecialName>("invocation function for block in ", Encoding);
Modified: libcxxabi/trunk/test/test_demangle.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/test/test_demangle.pass.cpp?rev=338747&r1=338746&r2=338747&view=diff
==============================================================================
--- libcxxabi/trunk/test/test_demangle.pass.cpp (original)
+++ libcxxabi/trunk/test/test_demangle.pass.cpp Thu Aug 2 10:45:01 2018
@@ -29753,6 +29753,8 @@ const char* cases[][2] =
// reference collapsing:
{"_Z1fIR1SEiOT_", "int f<S&>(S&)"},
{"_Z1fIJR1SS0_EEiDpOT_", "int f<S&, S>(S&, S&&)"},
+
+ {"___Z3foo_block_invoke.25", "invocation function for block in foo"},
};
const unsigned N = sizeof(cases) / sizeof(cases[0]);
More information about the cfe-commits
mailing list