52 lines · cpp
1// clang-format off2// REQUIRES: lld, (target-x86 || target-x86_64)3 4// RUN: %build --compiler=clang-cl --arch=32 --nodefaultlib --output=%t-32.exe %s5// RUN: lldb-test symbols %t-32.exe | FileCheck --check-prefixes CHECK-32,CHECK-BOTH %s6// RUN: %build --compiler=clang-cl --arch=64 --nodefaultlib --output=%t-64.exe %s7// RUN: lldb-test symbols %t-64.exe | FileCheck --check-prefixes CHECK-64,CHECK-BOTH %s8 9extern "C" {10int FuncCCall() { return 0; }11int __stdcall FuncStdCall() { return 0; }12int __fastcall FuncFastCall() { return 0; }13int __vectorcall FuncVectorCall() { return 0; }14 15int __cdecl _underscoreCdecl() { return 0; }16int __stdcall _underscoreStdcall() { return 0; }17int __fastcall _underscoreFastcall() { return 0; }18int __vectorcall _underscoreVectorcall() { return 0; }19}20 21int main() {22 FuncCCall();23 FuncStdCall();24 FuncFastCall();25 FuncVectorCall();26 _underscoreCdecl();27 _underscoreStdcall();28 _underscoreFastcall();29 _underscoreVectorcall();30 return 0;31}32 33// CHECK-BOTH-DAG: Function{{.*}}, demangled = FuncCCall,34// CHECK-BOTH-DAG: Function{{.*}}, demangled = FuncVectorCall@@0,35// CHECK-BOTH-DAG: Function{{.*}}, demangled = _underscoreCdecl,36// CHECK-BOTH-DAG: Function{{.*}}, demangled = _underscoreVectorcall@@0,37// CHECK-BOTH-DAG: Function{{.*}}, demangled = main,38 39// __stdcall and __fastcall aren't available on 64 bit40 41// CHECK-32-DAG: Function{{.*}}, demangled = _FuncStdCall@0,42// CHECK-64-DAG: Function{{.*}}, demangled = FuncStdCall,43 44// CHECK-32-DAG: Function{{.*}}, demangled = @FuncFastCall@0,45// CHECK-64-DAG: Function{{.*}}, demangled = FuncFastCall,46 47// CHECK-32-DAG: Function{{.*}}, demangled = __underscoreStdcall@0,48// CHECK-64-DAG: Function{{.*}}, demangled = _underscoreStdcall,49 50// CHECK-32-DAG: Function{{.*}}, demangled = @_underscoreFastcall@0,51// CHECK-64-DAG: Function{{.*}}, demangled = _underscoreFastcall,52