1*c45975cbSZequan Wu // clang-format off 2*c45975cbSZequan Wu // REQUIRES: system-windows 3*c45975cbSZequan Wu 4*c45975cbSZequan Wu // RUN: %build -o %t.exe -- %s 5*c45975cbSZequan Wu // RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \ 6*c45975cbSZequan Wu // RUN: %p/Inputs/inline_sites_live.lldbinit 2>&1 | FileCheck %s 7*c45975cbSZequan Wu use(int)8*c45975cbSZequan Wuvoid use(int) {} 9*c45975cbSZequan Wu bar(int param)10*c45975cbSZequan Wuvoid __attribute__((always_inline)) bar(int param) { 11*c45975cbSZequan Wu use(param); // BP_bar 12*c45975cbSZequan Wu } 13*c45975cbSZequan Wu foo(int param)14*c45975cbSZequan Wuvoid __attribute__((always_inline)) foo(int param) { 15*c45975cbSZequan Wu int local = param+1; 16*c45975cbSZequan Wu bar(local); 17*c45975cbSZequan Wu use(param); 18*c45975cbSZequan Wu use(local); // BP_foo 19*c45975cbSZequan Wu } 20*c45975cbSZequan Wu main(int argc,char ** argv)21*c45975cbSZequan Wuint main(int argc, char** argv) { 22*c45975cbSZequan Wu foo(argc); 23*c45975cbSZequan Wu } 24*c45975cbSZequan Wu 25*c45975cbSZequan Wu // CHECK: * thread #1, stop reason = breakpoint 1 26*c45975cbSZequan Wu // CHECK-NEXT: frame #0: {{.*}}`main [inlined] bar(param=2) 27*c45975cbSZequan Wu // CHECK: (lldb) p param 28*c45975cbSZequan Wu // CHECK-NEXT: (int) $0 = 2 29*c45975cbSZequan Wu // CHECK: * thread #1, stop reason = breakpoint 2 30*c45975cbSZequan Wu // CHECK-NEXT: frame #0: {{.*}}`main [inlined] foo(param=1) 31*c45975cbSZequan Wu // CHECK: (lldb) p param 32*c45975cbSZequan Wu // CHECK-NEXT: (int) $1 = 1 33*c45975cbSZequan Wu // CHECK-NEXT: (lldb) p local 34*c45975cbSZequan Wu // CHECK-NEXT: (int) $2 = 2 35