# XFAIL: target-windows # Test the ${function.formatted-arguments} frame-format variable. # RUN: split-file %s %t # RUN: %clang_host -g -gdwarf %t/main.cpp -o %t.out # RUN: %lldb -x -b -s %t/commands.input %t.out -o exit 2>&1 \ # RUN: | FileCheck %s # # RUN: %clang_host -O0 %t/main.cpp -o %t-nodebug.out # RUN: %lldb -x -b -s %t/commands.input %t-nodebug.out -o exit 2>&1 \ # RUN: | FileCheck %s --check-prefix=CHECK-NODEBUG #--- main.cpp struct Foo { void func() {} }; void bar() { Foo{}.func(); } void foo(int, int x) { bar(); } void myFunc(char const * str, void (*fptr)(int, int)) { fptr(5, 10); } int main(int argc, char const *argv[]) { myFunc("hello", &foo); return 0; } #--- commands.input settings set -f frame-format "custom-frame '${function.formatted-arguments}'\n" break set -n func run bt # CHECK: custom-frame '(this={{.*}})' # CHECK: custom-frame '()' # CHECK: custom-frame '({{.*}}=5, x=10)' # CHECK: custom-frame '(str="hello", fptr=({{.*}}.out`{{.*}}foo(int,{{.*}}int) at main.cpp:{{[0-9]+}}))' # CHECK: custom-frame '(argc=1, argv={{.*}})' # CHECK-NODEBUG: custom-frame '()' # CHECK-NODEBUG: custom-frame '()' # CHECK-NODEBUG: custom-frame '(int, int)' # CHECK-NODEBUG: custom-frame '(char const*, void (*)(int, int))'