| ; RUN: llvm-undname < %s | FileCheck %s | |
| ; RUN: llvm-undname --no-calling-convention < %s | FileCheck %s --check-prefix=CHECK-NO-CALLING-CONV | |
| ; RUN: llvm-undname --no-return-type < %s | FileCheck %s --check-prefix=CHECK-NO-RETURN | |
| ; RUN: llvm-undname --no-access-specifier < %s | FileCheck %s --check-prefix=CHECK-NO-ACCESS | |
| ; RUN: llvm-undname --no-member-type < %s | FileCheck %s --check-prefix=CHECK-NO-MEMBER-TYPE | |
| ; RUN: llvm-undname --no-variable-type < %s | FileCheck %s --check-prefix=CHECK-NO-VARIABLE-TYPE | |
| ; RUN: llvm-undname --no-calling-convention --no-return-type --no-access-specifier --no-member-type --no-variable-type < %s | FileCheck %s --check-prefix=CHECK-NO-ALL | |
| ?func@MyClass@@UEAAHHH@Z | |
| ; CHECK: public: virtual int __cdecl MyClass::func(int, int) | |
| ; CHECK-NO-CALLING-CONV: public: virtual int MyClass::func(int, int) | |
| ; CHECK-NO-RETURN: public: virtual __cdecl MyClass::func(int, int) | |
| ; CHECK-NO-ACCESS: {{^}}virtual int __cdecl MyClass::func(int, int) | |
| ; CHECK-NO-MEMBER-TYPE: public: int __cdecl MyClass::func(int, int) | |
| ; CHECK-NO-VARIABLE-TYPE: public: virtual int __cdecl MyClass::func(int, int) | |
| ; CHECK-NO-ALL: {{^}}MyClass::func(int, int) | |
| ?array2d@@3PAY09HA | |
| ; CHECK: int (*array2d)[10] | |
| ; CHECK-NO-CALLING-CONV: int (*array2d)[10] | |
| ; CHECK-NO-RETURN: int (*array2d)[10] | |
| ; CHECK-NO-ACCESS: int (*array2d)[10] | |
| ; CHECK-NO-MEMBER-TYPE: int (*array2d)[10] | |
| ; CHECK-NO-VARIABLE-TYPE: array2d | |
| ; CHECK-NO-ALL: array2d | |
| ?a@abc@@3PAY09HA | |
| ; CHECK: int (*abc::a)[10] | |
| ; CHECK-NO-CALLING-CONV: int (*abc::a)[10] | |
| ; CHECK-NO-RETURN: int (*abc::a)[10] | |
| ; CHECK-NO-ACCESS: int (*abc::a)[10] | |
| ; CHECK-NO-MEMBER-TYPE: int (*abc::a)[10] | |
| ; CHECK-NO-VARIABLE-TYPE: abc::a | |
| ; CHECK-NO-ALL: abc::a | |
| ?x@@3PEAEEA | |
| ; CHECK: unsigned char *x | |
| ; CHECK-NO-CALLING-CONV: unsigned char *x | |
| ; CHECK-NO-RETURN: unsigned char *x | |
| ; CHECK-NO-ACCESS: unsigned char *x | |
| ; CHECK-NO-MEMBER-TYPE: unsigned char *x | |
| ; CHECK-NO-VARIABLE-TYPE: x | |
| ; CHECK-NO-ALL: x |