[libcxx-commits] [libcxxabi] r364677 - [demangle] Support for C++2a char8_t
Erik Pilkington via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Jun 28 12:54:19 PDT 2019
Author: epilk
Date: Fri Jun 28 12:54:19 2019
New Revision: 364677
URL: http://llvm.org/viewvc/llvm-project?rev=364677&view=rev
Log:
[demangle] Support for C++2a char8_t
Modified:
libcxxabi/trunk/src/demangle/ItaniumDemangle.h
libcxxabi/trunk/test/test_demangle.pass.cpp
Modified: libcxxabi/trunk/src/demangle/ItaniumDemangle.h
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/demangle/ItaniumDemangle.h?rev=364677&r1=364676&r2=364677&view=diff
==============================================================================
--- libcxxabi/trunk/src/demangle/ItaniumDemangle.h (original)
+++ libcxxabi/trunk/src/demangle/ItaniumDemangle.h Fri Jun 28 12:54:19 2019
@@ -3624,6 +3624,10 @@ Node *AbstractManglingParser<Derived, Al
case 's':
First += 2;
return make<NameType>("char16_t");
+ // ::= Du # char8_t (C++2a, not yet in the Itanium spec)
+ case 'u':
+ First += 2;
+ return make<NameType>("char8_t");
// ::= Da # auto (in dependent new-expressions)
case 'a':
First += 2;
Modified: libcxxabi/trunk/test/test_demangle.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/test/test_demangle.pass.cpp?rev=364677&r1=364676&r2=364677&view=diff
==============================================================================
--- libcxxabi/trunk/test/test_demangle.pass.cpp (original)
+++ libcxxabi/trunk/test/test_demangle.pass.cpp Fri Jun 28 12:54:19 2019
@@ -29772,6 +29772,9 @@ const char* cases[][2] =
{"_ZN3FooIXu8__uuidofzdeL_Z3sucEEEC1Ev", "Foo<__uuidof(*(suc))>::Foo()"},
{"_ZN3FooIXu8__uuidoft13SomeUUIDClassEEC1Ev", "Foo<__uuidof(SomeUUIDClass)>::Foo()"},
+
+ // C++2a char8_t:
+ {"_ZTSPDu", "typeinfo name for char8_t*"},
};
const unsigned N = sizeof(cases) / sizeof(cases[0]);
More information about the libcxx-commits
mailing list