On Linux the `std::function` behaved differently to that on Darwin. This patch removes usage of `std::function` in the test but attempts to retain the test-coverage. We mainly want function types appearing in the template argument and function argument lists. Also add a `char const*` overload to one of the test functions to cover the "format function argument using ValueObject formatter" code-path. Differential Revision: https://reviews.llvm.org/D137272
27 lines
977 B
Plaintext
27 lines
977 B
Plaintext
# UNSUPPORTED: system-windows
|
|
# RUN: %clangxx_host -g -O0 %S/Inputs/names.cpp -std=c++17 -o %t.out
|
|
# RUN: %lldb -b -s %s %t.out | FileCheck %s
|
|
settings set -f frame-format "frame ${function.name-with-args}\n"
|
|
break set -n foo
|
|
break set -n operator<<
|
|
break set -n returns_func_ptr
|
|
run
|
|
# CHECK: frame int ns::foo<int ()>(t={{.*}})
|
|
c
|
|
# CHECK: frame int ns::foo<int ()>(str="bar")
|
|
c
|
|
# CHECK: frame int ns::foo<(anonymous namespace)::$_0>(t=(anonymous namespace)::(unnamed class) @ {{.*}})
|
|
c
|
|
# CHECK: frame int ns::foo<int (*)()>(t=({{.*}}`(anonymous namespace)::anon_bar() at {{.*}}))
|
|
c
|
|
# CHECK: frame int ns::foo<void (Foo::*)(int (*)(int)) const noexcept>(str="method")
|
|
c
|
|
# CHECK: frame ns::returns_func_ptr<int>((null)={{.*}})
|
|
c
|
|
# CHECK: frame void Foo::foo<int (*)()>(this={{.*}}, arg=({{.*}}`(anonymous namespace)::anon_bar() at {{.*}}))
|
|
c
|
|
# CHECK: frame void Foo::operator<<<1>(this={{.*}}, (null)=0)
|
|
c
|
|
# CHECK: frame Foo::returns_func_ptr<int>(this={{.*}}, (null)={{.*}})
|
|
q
|