llvm-project/lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test
nerix 41b5880c95
[LLDB] Run a few more PDB tests with native PDB as well (#152580)
Some DIA PDB tests pass with the native plugin already, but didn't test
this. This adds test runs with the native plugin - no functional
changes.

In addition to the x86 calling convention test, there's also
9f102a9004/lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test,
but I can't test this.
2025-08-07 13:44:32 -07:00

24 lines
1.3 KiB
Plaintext

REQUIRES: system-windows, lld, (target-x86 || target-x86_64)
RUN: %build --compiler=clang-cl --arch=32 --nodefaultlib --output=%t-32.exe %S/Inputs/CallingConventionsTest.cpp
RUN: lldb-test symbols -dump-ast %t-32.exe | FileCheck --check-prefix 32BIT-CHECK %s
RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t-32.exe | FileCheck --check-prefix 32BIT-CHECK %s
RUN: %build --compiler=clang-cl --arch=64 --nodefaultlib --output=%t-64.exe %S/Inputs/CallingConventionsTest.cpp
RUN: lldb-test symbols -dump-ast %t-64.exe | FileCheck --check-prefix 64BIT-CHECK %s
RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t-64.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));