reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
; These tests are based on clang/test/CodeGenCXX/mangle-ms-template-callback.cpp

; RUN: llvm-undname < %s | FileCheck %s

; CHECK-NOT: Invalid mangled name

?callback_void@@3V?$C@$$A6AXXZ@@A
; CHECK: class C<void __cdecl(void)> callback_void

?callback_void_volatile@@3V?$C@$$A6AXXZ@@C
; CHECK: class C<void __cdecl(void)> volatile callback_void_volatile

?callback_int@@3V?$C@$$A6AHXZ@@A
; CHECK: C<int __cdecl(void)> callback_int

?callback_Type@@3V?$C@$$A6A?AVType@@XZ@@A
; CHECK: C<class Type __cdecl(void)> callback_Type

?callback_void_int@@3V?$C@$$A6AXH@Z@@A
; CHECK: C<void __cdecl(int)> callback_void_int

?callback_int_int@@3V?$C@$$A6AHH@Z@@A
; CHECK: C<int __cdecl(int)> callback_int_int

?callback_void_Type@@3V?$C@$$A6AXVType@@@Z@@A
; CHECK: C<void __cdecl(class Type)> callback_void_Type

?foo@@YAXV?$C@$$A6AXXZ@@@Z
; CHECK: void __cdecl foo(class C<void __cdecl(void)>)

?function@@YAXV?$C@$$A6AXXZ@@@Z
; CHECK: void __cdecl function(class C<void __cdecl(void)>)

?function_pointer@@YAXV?$C@P6AXXZ@@@Z
; CHECK: void __cdecl function_pointer(class C<void (__cdecl *)(void)>)

?member_pointer@@YAXV?$C@P8Z@@AEXXZ@@@Z
; CHECK: void __cdecl member_pointer(class C<void (__thiscall Z::*)(void)>)

??$bar@P6AHH@Z@@YAXP6AHH@Z@Z
; CHECK: void __cdecl bar<int (__cdecl *)(int)>(int (__cdecl *)(int))

??$WrapFnPtr@$1?VoidFn@@YAXXZ@@YAXXZ
; CHECK: void __cdecl WrapFnPtr<&void __cdecl VoidFn(void)>(void)

??$WrapFnRef@$1?VoidFn@@YAXXZ@@YAXXZ
; CHECK: void __cdecl WrapFnRef<&void __cdecl VoidFn(void)>(void)

??$WrapFnPtr@$1?VoidStaticMethod@Thing@@SAXXZ@@YAXXZ
; CHECK: void __cdecl WrapFnPtr<&public: static void __cdecl Thing::VoidStaticMethod(void)>(void)

??$WrapFnRef@$1?VoidStaticMethod@Thing@@SAXXZ@@YAXXZ
; CHECK: void __cdecl WrapFnRef<&public: static void __cdecl Thing::VoidStaticMethod(void)>(void)