Home | History | Annotate | Download | only in Demangle
      1 ; RUN: llvm-undname < %s | FileCheck %s
      2 
      3 ; CHECK-NOT: Invalid mangled name
      4 
      5 ?f1@@YAXPBD0@Z
      6 ; CHECK: void __cdecl f1(char const *, char const *)
      7 
      8 ?f2@@YAXPBDPAD@Z
      9 ; CHECK: void __cdecl f2(char const *, char *)
     10 
     11 ?f3@@YAXHPBD0@Z
     12 ; CHECK: void __cdecl f3(int, char const *, char const *)
     13 
     14 ?f4@@YAPBDPBD0@Z
     15 ; CHECK: char const * __cdecl f4(char const *, char const *)
     16 
     17 ?f5@@YAXPBDIDPBX0I@Z
     18 ; CHECK: void __cdecl f5(char const *, unsigned int, char, void const *, char const *, unsigned int)
     19 
     20 ?f6@@YAX_N0@Z
     21 ; CHECK: void __cdecl f6(bool, bool)
     22 
     23 ?f7@@YAXHPAHH0_N1PA_N@Z
     24 ; CHECK: void __cdecl f7(int, int *, int, int *, bool, bool, bool *)
     25 
     26 ; FIXME: tests for more than 10 types?
     27 
     28 ?g1@@YAXUS@@@Z
     29 ; CHECK: void __cdecl g1(struct S)
     30 
     31 ?g2@@YAXUS@@0@Z
     32 ; CHECK: void __cdecl g2(struct S, struct S)
     33 
     34 ?g3@@YAXUS@@0PAU1@1@Z
     35 ; CHECK: void __cdecl g3(struct S, struct S, struct S *, struct S *)
     36 
     37 ?g4@@YAXPBDPAUS@@01@Z
     38 ; CHECK: void __cdecl g4(char const *, struct S *, char const *, struct S *)
     39 
     40 ?mbb@S@@QAEX_N0@Z
     41 ; CHECK: void __thiscall S::mbb(bool, bool)
     42 
     43 ?h1@@YAXPBD0P6AXXZ1@Z
     44 ; CHECK: void __cdecl h1(char const *, char const *, void (__cdecl *)(void), void (__cdecl *)(void))
     45 
     46 ?h2@@YAXP6AXPAX@Z0@Z
     47 ; CHECK: void __cdecl h2(void (__cdecl *)(void *), void *)
     48 
     49 ?h3@@YAP6APAHPAH0@ZP6APAH00@Z10@Z
     50 ; CHECK: int * (__cdecl * __cdecl h3(int * (__cdecl *)(int *, int *), int * (__cdecl *)(int *, int *), int *))(int *, int *)
     51 
     52 ?foo@0@YAXXZ
     53 ; CHECK: void __cdecl foo::foo(void)
     54