Zachary Turner | b4a81ed | 2018-07-31 17:16:44 +0000 | [diff] [blame] | 1 | ; These tests are based on clang/test/CodeGenCXX/mangle-ms-template-callback.cpp |
| 2 | |
| 3 | ; RUN: llvm-undname < %s | FileCheck %s |
| 4 | |
| 5 | ; CHECK-NOT: Invalid mangled name |
| 6 | |
| 7 | ?callback_void@@3V?$C@$$A6AXXZ@@A |
| 8 | ; CHECK: class C<void __cdecl(void)> callback_void |
| 9 | |
| 10 | ?callback_void_volatile@@3V?$C@$$A6AXXZ@@C |
| 11 | ; CHECK: class C<void __cdecl(void)> volatile callback_void_volatile |
| 12 | |
| 13 | ?callback_int@@3V?$C@$$A6AHXZ@@A |
| 14 | ; CHECK: C<int __cdecl(void)> callback_int |
| 15 | |
| 16 | ?callback_Type@@3V?$C@$$A6A?AVType@@XZ@@A |
| 17 | ; CHECK: C<class Type __cdecl(void)> callback_Type |
| 18 | |
| 19 | ?callback_void_int@@3V?$C@$$A6AXH@Z@@A |
| 20 | ; CHECK: C<void __cdecl(int)> callback_void_int |
| 21 | |
| 22 | ?callback_int_int@@3V?$C@$$A6AHH@Z@@A |
| 23 | ; CHECK: C<int __cdecl(int)> callback_int_int |
| 24 | |
| 25 | ?callback_void_Type@@3V?$C@$$A6AXVType@@@Z@@A |
| 26 | ; CHECK: C<void __cdecl(class Type)> callback_void_Type |
| 27 | |
| 28 | ?foo@@YAXV?$C@$$A6AXXZ@@@Z |
| 29 | ; CHECK: void __cdecl foo(class C<void __cdecl(void)>) |
| 30 | |
| 31 | ?function@@YAXV?$C@$$A6AXXZ@@@Z |
| 32 | ; CHECK: void __cdecl function(class C<void __cdecl(void)>) |
| 33 | |
| 34 | ?function_pointer@@YAXV?$C@P6AXXZ@@@Z |
| 35 | ; CHECK: void __cdecl function_pointer(class C<void (__cdecl *)(void)>) |
| 36 | |
| 37 | ?member_pointer@@YAXV?$C@P8Z@@AEXXZ@@@Z |
| 38 | ; CHECK: void __cdecl member_pointer(class C<void (__thiscall Z::*)(void)>) |
| 39 | |
| 40 | ??$bar@P6AHH@Z@@YAXP6AHH@Z@Z |
| 41 | ; CHECK: void __cdecl bar<int (__cdecl *)(int)>(int (__cdecl *)(int)) |
| 42 | |
| 43 | ??$WrapFnPtr@$1?VoidFn@@YAXXZ@@YAXXZ |
| 44 | ; CHECK: void __cdecl WrapFnPtr<&void __cdecl VoidFn(void)>(void) |
| 45 | |
| 46 | ??$WrapFnRef@$1?VoidFn@@YAXXZ@@YAXXZ |
| 47 | ; CHECK: void __cdecl WrapFnRef<&void __cdecl VoidFn(void)>(void) |
| 48 | |
| 49 | ??$WrapFnPtr@$1?VoidStaticMethod@Thing@@SAXXZ@@YAXXZ |
Nico Weber | 65bbcca | 2018-11-13 20:18:26 +0000 | [diff] [blame] | 50 | ; CHECK: void __cdecl WrapFnPtr<&public: static void __cdecl Thing::VoidStaticMethod(void)>(void) |
Zachary Turner | b4a81ed | 2018-07-31 17:16:44 +0000 | [diff] [blame] | 51 | |
| 52 | ??$WrapFnRef@$1?VoidStaticMethod@Thing@@SAXXZ@@YAXXZ |
Nico Weber | 65bbcca | 2018-11-13 20:18:26 +0000 | [diff] [blame] | 53 | ; CHECK: void __cdecl WrapFnRef<&public: static void __cdecl Thing::VoidStaticMethod(void)>(void) |