Author: Muhammad Omair Javaid Date: 2022-06-29T12:58:16+04:00 New Revision: 01bc838e4512ad645f72afd1d6b613d12c929aa4
URL: https://github.com/llvm/llvm-project/commit/01bc838e4512ad645f72afd1d6b613d12c929aa4 DIFF: https://github.com/llvm/llvm-project/commit/01bc838e4512ad645f72afd1d6b613d12c929aa4.diff LOG: [LLDB] Add PDB/calling-conventions.test for Arm/Windows This patch renames PDB/calling-conventions.test to calling-conventions-x86.test. Also restrict it to run only for target-x86*. This patch also adds a arm specific test PDB/calling-conventions-arm.test which tests that x86 specifc calling convention decorators are ignored by Arm compiler. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D128678 Added: lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test Modified: Removed: lldb/test/Shell/SymbolFile/PDB/calling-conventions.test ################################################################################ diff --git a/lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test b/lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test new file mode 100644 index 0000000000000..07dc89d460293 --- /dev/null +++ b/lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test @@ -0,0 +1,11 @@ +REQUIRES: system-windows, lld, (target-arm || target-aarch64) +RUN: %build --compiler=clang-cl --arch=32 --nodefaultlib --output=%t.exe %S/Inputs/CallingConventionsTest.cpp +RUN: %build --compiler=clang-cl --arch=64 --nodefaultlib --output=%t.exe %S/Inputs/CallingConventionsTest.cpp +RUN: lldb-test symbols -dump-ast %t.exe | FileCheck %s + +CHECK: Module: {{.*}} +CHECK-DAG: int (*FuncCCallPtr)(); +CHECK-DAG: int (*FuncStdCallPtr)(); +CHECK-DAG: int (*FuncFastCallPtr)(); +CHECK-DAG: int (*FuncVectorCallPtr)(); +CHECK-DAG: int (S::*FuncThisCallPtr)(); diff --git a/lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test b/lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test new file mode 100644 index 0000000000000..065c8b69b06dd --- /dev/null +++ b/lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test @@ -0,0 +1,19 @@ +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)); diff --git a/lldb/test/Shell/SymbolFile/PDB/calling-conventions.test b/lldb/test/Shell/SymbolFile/PDB/calling-conventions.test deleted file mode 100644 index a85dc65ff04dd..0000000000000 --- a/lldb/test/Shell/SymbolFile/PDB/calling-conventions.test +++ /dev/null @@ -1,10 +0,0 @@ -REQUIRES: system-windows, lld -RUN: %build --compiler=clang-cl --arch=32 --nodefaultlib --output=%t.exe %S/Inputs/CallingConventionsTest.cpp -RUN: lldb-test symbols -dump-ast %t.exe | FileCheck %s - -CHECK: Module: {{.*}} -CHECK-DAG: int (*FuncCCallPtr)(); -CHECK-DAG: int (*FuncStdCallPtr)() __attribute__((stdcall)); -CHECK-DAG: int (*FuncFastCallPtr)() __attribute__((fastcall)); -CHECK-DAG: int (*FuncVectorCallPtr)() __attribute__((vectorcall)); -CHECK-DAG: int (S::*FuncThisCallPtr)() __attribute__((thiscall)); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits