llvm.org GIT mirror llvm / 29a5944
llvm-undname: Support demangling the spaceship operator Also add a test for demanling the co_await operator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359007 91177308-0d34-0410-b5e6-96231b3b80d8 Nico Weber 1 year, 7 months ago
4 changed file(s) with 16 addition(s) and 7 deletion(s). Raw diff Collapse all Expand all
169169 VectorCopyCtorIter, // ?__G vector copy constructor iterator
170170 VectorVbaseCopyCtorIter, // ?__H vector vbase copy constructor iterator
171171 ManVectorVbaseCopyCtorIter, // ?__I managed vector vbase copy constructor
172 CoAwait, // ?__L co_await
173 Spaceship, // operator<=>
172 CoAwait, // ?__L operator co_await
173 Spaceship, // ?__M operator<=>
174174 MaxIntrinsic
175175 };
176176
625625 // iter
626626 IFK::None, // ?__J local static thread guard
627627 IFK::None, // ?__K operator ""_name
628 IFK::CoAwait, // ?__L co_await
629 IFK::None, // ?__M
628 IFK::CoAwait, // ?__L operator co_await
629 IFK::Spaceship, // ?__M operator<=>
630630 IFK::None, // ?__N
631631 IFK::None, // ?__O
632632 IFK::None, // ?__P
686686 translateIntrinsicFunctionCode(CH, Group));
687687 }
688688 }
689 // No Mangling Yet: Spaceship, // operator<=>
690689
691690 DEMANGLE_UNREACHABLE;
692691 }
336336 "`vector vbase copy constructor iterator'");
337337 OUTPUT_ENUM_CLASS_VALUE(IntrinsicFunctionKind, ManVectorVbaseCopyCtorIter,
338338 "`managed vector vbase copy constructor iterator'");
339 OUTPUT_ENUM_CLASS_VALUE(IntrinsicFunctionKind, CoAwait, "co_await");
340 OUTPUT_ENUM_CLASS_VALUE(IntrinsicFunctionKind, Spaceship, "operator <=>");
339 OUTPUT_ENUM_CLASS_VALUE(IntrinsicFunctionKind, CoAwait,
340 "operator co_await");
341 OUTPUT_ENUM_CLASS_VALUE(IntrinsicFunctionKind, Spaceship, "operator<=>");
341342 case IntrinsicFunctionKind::MaxIntrinsic:
342343 case IntrinsicFunctionKind::None:
343344 break;
0 ; RUN: llvm-undname < %s | FileCheck %s
1
2 ; CHECK-NOT: Invalid mangled name
3
4 ??__LA@@QEAA?AUno_suspend@@XZ
5 ; CHECK: struct no_suspend __cdecl A::operator co_await(void)
6
7 ??__MS@@QEAA?AVstrong_ordering@std@@AEBU0@@Z'
8 ; CHECK: class std::strong_ordering __cdecl S::operator<=>(struct S const &)