| ; These tests are based on clang/test/CodeGenCXX/mangle-ms-arg-qualifiers.cpp |
| ; RUN: llvm-undname < %s | FileCheck %s |
| |
| ; CHECK-NOT: Invalid mangled name |
| |
| ??$x@X@@3HA |
| ; CHECK: int x<void> |
| |
| ?FunctionWithLocalType@@YA?A?<auto>@@XZ |
| ; CHECK: <auto> __cdecl FunctionWithLocalType(void) |
| |
| ?ValueFromFunctionWithLocalType@@3ULocalType@?1??FunctionWithLocalType@@YA?A?<auto>@@XZ@A |
| ; CHECK: struct `<auto> __cdecl FunctionWithLocalType(void)'::`2'::LocalType ValueFromFunctionWithLocalType |
| |
| ??R<lambda_0>@@QBE?A?<auto>@@XZ |
| ; CHECK: <auto> __thiscall <lambda_0>::operator()(void) const |
| |
| ?ValueFromLambdaWithLocalType@@3ULocalType@?1???R<lambda_0>@@QBE?A?<auto>@@XZ@A |
| ; CHECK: struct `public: <auto> __thiscall <lambda_0>::operator()(void) const'::`2'::LocalType ValueFromLambdaWithLocalType |
| |
| ?ValueFromTemplateFuncionWithLocalLambda@@3ULocalType@?2???R<lambda_1>@?0???$TemplateFuncionWithLocalLambda@H@@YA?A?<auto>@@H@Z@QBE?A?3@XZ@A |
| ; CHECK: struct `public: <auto> __thiscall `<auto> __cdecl TemplateFuncionWithLocalLambda<int>(int)'::`1'::<lambda_1>::operator()(void) const'::`3'::LocalType ValueFromTemplateFuncionWithLocalLambda |
| |
| ??$TemplateFuncionWithLocalLambda@H@@YA?A?<auto>@@H@Z |
| ; CHECK: <auto> __cdecl TemplateFuncionWithLocalLambda<int>(int) |
| |
| ??R<lambda_1>@?0???$TemplateFuncionWithLocalLambda@H@@YA?A?<auto>@@H@Z@QBE?A?1@XZ |
| ; CHECK: <auto> __thiscall `<auto> __cdecl TemplateFuncionWithLocalLambda<int>(int)'::`1'::<lambda_1>::operator()(void) const |
| |
| ??$WithPMD@$GA@A@?0@@3HA |
| ; CHECK: int WithPMD<{0, 0, -1}> |
| |
| ?Zoo@@3U?$Foo@$1??$x@H@@3HA$1?1@3HA@@A |
| ; CHECK: struct Foo<&int x<int>, &int x<int>> Zoo |
| |
| ??$unaligned_x@PFAH@@3PFAHA |
| ; CHECK: int __unaligned *unaligned_x<int __unaligned *> |