REQUIRES: system-windows, lld, (target-x86 || target-x86_64)
RUN: %build --compiler=clang-cl --arch=32 --nodefaultlib --output=%t.exe %S/Inputs/CallingConventionsTest.cpp \
RUN: && lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix 32BIT-CHECK %s
RUN: %build --compiler=clang-cl --arch=64 --nodefaultlib --output=%t.exe %S/Inputs/CallingConventionsTest.cpp \
RUN: && lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix 64BIT-CHECK %s
64BIT-CHECK: Module: {{.*}}
64BIT-CHECK-DAG: int (*FuncCCallPtr)();
64BIT-CHECK-DAG: int (*FuncStdCallPtr)();
64BIT-CHECK-DAG: int (*FuncFastCallPtr)();
64BIT-CHECK-DAG: int (*FuncVectorCallPtr)() __attribute__((vectorcall));
64BIT-CHECK-DAG: int (S::*FuncThisCallPtr)();
32BIT-CHECK: Module: {{.*}}
32BIT-CHECK-DAG: int (*FuncCCallPtr)();
32BIT-CHECK-DAG: int (*FuncStdCallPtr)() __attribute__((stdcall));
32BIT-CHECK-DAG: int (*FuncFastCallPtr)() __attribute__((fastcall));
32BIT-CHECK-DAG: int (*FuncVectorCallPtr)() __attribute__((vectorcall));
32BIT-CHECK-DAG: int (S::*FuncThisCallPtr)() __attribute__((thiscall));