[llvm] r361839 - llvm-undname: Support demangling char8_t
Nico Weber via llvm-commits
llvm-commits at lists.llvm.org
Tue May 28 08:30:04 PDT 2019
Author: nico
Date: Tue May 28 08:30:04 2019
New Revision: 361839
URL: http://llvm.org/viewvc/llvm-project?rev=361839&view=rev
Log:
llvm-undname: Support demangling char8_t
Ports clang's mangling support added in r354633 to llvm-undname.
Modified:
llvm/trunk/include/llvm/Demangle/MicrosoftDemangleNodes.h
llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp
llvm/trunk/lib/Demangle/MicrosoftDemangleNodes.cpp
llvm/trunk/test/Demangle/ms-cxx20.test
Modified: llvm/trunk/include/llvm/Demangle/MicrosoftDemangleNodes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Demangle/MicrosoftDemangleNodes.h?rev=361839&r1=361838&r2=361839&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Demangle/MicrosoftDemangleNodes.h (original)
+++ llvm/trunk/include/llvm/Demangle/MicrosoftDemangleNodes.h Tue May 28 08:30:04 2019
@@ -82,6 +82,7 @@ enum class PrimitiveKind {
Char,
Schar,
Uchar,
+ Char8,
Char16,
Char32,
Short,
Modified: llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp?rev=361839&r1=361838&r2=361839&view=diff
==============================================================================
--- llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp (original)
+++ llvm/trunk/lib/Demangle/MicrosoftDemangle.cpp Tue May 28 08:30:04 2019
@@ -1944,6 +1944,8 @@ PrimitiveTypeNode *Demangler::demanglePr
return Arena.alloc<PrimitiveTypeNode>(PrimitiveKind::Uint64);
case 'W':
return Arena.alloc<PrimitiveTypeNode>(PrimitiveKind::Wchar);
+ case 'Q':
+ return Arena.alloc<PrimitiveTypeNode>(PrimitiveKind::Char8);
case 'S':
return Arena.alloc<PrimitiveTypeNode>(PrimitiveKind::Char16);
case 'U':
Modified: llvm/trunk/lib/Demangle/MicrosoftDemangleNodes.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Demangle/MicrosoftDemangleNodes.cpp?rev=361839&r1=361838&r2=361839&view=diff
==============================================================================
--- llvm/trunk/lib/Demangle/MicrosoftDemangleNodes.cpp (original)
+++ llvm/trunk/lib/Demangle/MicrosoftDemangleNodes.cpp Tue May 28 08:30:04 2019
@@ -130,6 +130,7 @@ void PrimitiveTypeNode::outputPre(Output
OUTPUT_ENUM_CLASS_VALUE(PrimitiveKind, Char, "char");
OUTPUT_ENUM_CLASS_VALUE(PrimitiveKind, Schar, "signed char");
OUTPUT_ENUM_CLASS_VALUE(PrimitiveKind, Uchar, "unsigned char");
+ OUTPUT_ENUM_CLASS_VALUE(PrimitiveKind, Char8, "char8_t");
OUTPUT_ENUM_CLASS_VALUE(PrimitiveKind, Char16, "char16_t");
OUTPUT_ENUM_CLASS_VALUE(PrimitiveKind, Char32, "char32_t");
OUTPUT_ENUM_CLASS_VALUE(PrimitiveKind, Short, "short");
Modified: llvm/trunk/test/Demangle/ms-cxx20.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Demangle/ms-cxx20.test?rev=361839&r1=361838&r2=361839&view=diff
==============================================================================
--- llvm/trunk/test/Demangle/ms-cxx20.test (original)
+++ llvm/trunk/test/Demangle/ms-cxx20.test Tue May 28 08:30:04 2019
@@ -7,3 +7,6 @@
??__MS@@QEAA?AVstrong_ordering at std@@AEBU0@@Z'
; CHECK: class std::strong_ordering __cdecl S::operator<=>(struct S const &)
+
+?f@@YAX_Q at Z
+; CHECK: void __cdecl f(char8_t)
More information about the llvm-commits
mailing list