1; These tests are based on clang/test/CodeGenCXX/mangle-ms-arg-qualifiers.cpp 2; RUN: llvm-undname < %s | FileCheck %s 3 4; CHECK-NOT: Invalid mangled name 5 6??$x@X@@3HA 7; CHECK: int x<void> 8 9?FunctionWithLocalType@@YA?A?<auto>@@XZ 10; CHECK: <auto> __cdecl FunctionWithLocalType(void) 11 12?ValueFromFunctionWithLocalType@@3ULocalType@?1??FunctionWithLocalType@@YA?A?<auto>@@XZ@A 13; CHECK: struct `<auto> __cdecl FunctionWithLocalType(void)'::`2'::LocalType ValueFromFunctionWithLocalType 14 15??R<lambda_0>@@QBE?A?<auto>@@XZ 16; CHECK: <auto> __thiscall <lambda_0>::operator()(void) const 17 18?ValueFromLambdaWithLocalType@@3ULocalType@?1???R<lambda_0>@@QBE?A?<auto>@@XZ@A 19; CHECK: struct `public: <auto> __thiscall <lambda_0>::operator()(void) const'::`2'::LocalType ValueFromLambdaWithLocalType 20 21?ValueFromTemplateFuncionWithLocalLambda@@3ULocalType@?2???R<lambda_1>@?0???$TemplateFuncionWithLocalLambda@H@@YA?A?<auto>@@H@Z@QBE?A?3@XZ@A 22; CHECK: struct `public: <auto> __thiscall `<auto> __cdecl TemplateFuncionWithLocalLambda<int>(int)'::`1'::<lambda_1>::operator()(void) const'::`3'::LocalType ValueFromTemplateFuncionWithLocalLambda 23 24??$TemplateFuncionWithLocalLambda@H@@YA?A?<auto>@@H@Z 25; CHECK: <auto> __cdecl TemplateFuncionWithLocalLambda<int>(int) 26 27??R<lambda_1>@?0???$TemplateFuncionWithLocalLambda@H@@YA?A?<auto>@@H@Z@QBE?A?1@XZ 28; CHECK: <auto> __thiscall `<auto> __cdecl TemplateFuncionWithLocalLambda<int>(int)'::`1'::<lambda_1>::operator()(void) const 29 30??$WithPMD@$GA@A@?0@@3HA 31; CHECK: int WithPMD<{0, 0, -1}> 32 33?Zoo@@3U?$Foo@$1??$x@H@@3HA$1?1@3HA@@A 34; CHECK: struct Foo<&int x<int>, &int x<int>> Zoo 35 36??$unaligned_x@PFAH@@3PFAHA 37; CHECK: int __unaligned *unaligned_x<int __unaligned *> 38