1; RUN: llvm-undname < %s | FileCheck %s 2; RUN: llvm-undname --no-calling-convention < %s | FileCheck %s --check-prefix=CHECK-NO-CALLING-CONV 3; RUN: llvm-undname --no-return-type < %s | FileCheck %s --check-prefix=CHECK-NO-RETURN 4; RUN: llvm-undname --no-access-specifier < %s | FileCheck %s --check-prefix=CHECK-NO-ACCESS 5; RUN: llvm-undname --no-member-type < %s | FileCheck %s --check-prefix=CHECK-NO-MEMBER-TYPE 6; RUN: llvm-undname --no-variable-type < %s | FileCheck %s --check-prefix=CHECK-NO-VARIABLE-TYPE 7; 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 8 9?func@MyClass@@UEAAHHH@Z 10; CHECK: public: virtual int __cdecl MyClass::func(int, int) 11; CHECK-NO-CALLING-CONV: public: virtual int MyClass::func(int, int) 12; CHECK-NO-RETURN: public: virtual __cdecl MyClass::func(int, int) 13; CHECK-NO-ACCESS: {{^}}virtual int __cdecl MyClass::func(int, int) 14; CHECK-NO-MEMBER-TYPE: public: int __cdecl MyClass::func(int, int) 15; CHECK-NO-VARIABLE-TYPE: public: virtual int __cdecl MyClass::func(int, int) 16; CHECK-NO-ALL: {{^}}MyClass::func(int, int) 17 18?array2d@@3PAY09HA 19; CHECK: int (*array2d)[10] 20; CHECK-NO-CALLING-CONV: int (*array2d)[10] 21; CHECK-NO-RETURN: int (*array2d)[10] 22; CHECK-NO-ACCESS: int (*array2d)[10] 23; CHECK-NO-MEMBER-TYPE: int (*array2d)[10] 24; CHECK-NO-VARIABLE-TYPE: array2d 25; CHECK-NO-ALL: array2d 26 27?a@abc@@3PAY09HA 28; CHECK: int (*abc::a)[10] 29; CHECK-NO-CALLING-CONV: int (*abc::a)[10] 30; CHECK-NO-RETURN: int (*abc::a)[10] 31; CHECK-NO-ACCESS: int (*abc::a)[10] 32; CHECK-NO-MEMBER-TYPE: int (*abc::a)[10] 33; CHECK-NO-VARIABLE-TYPE: abc::a 34; CHECK-NO-ALL: abc::a 35 36?x@@3PEAEEA 37; CHECK: unsigned char *x 38; CHECK-NO-CALLING-CONV: unsigned char *x 39; CHECK-NO-RETURN: unsigned char *x 40; CHECK-NO-ACCESS: unsigned char *x 41; CHECK-NO-MEMBER-TYPE: unsigned char *x 42; CHECK-NO-VARIABLE-TYPE: x 43; CHECK-NO-ALL: x 44