# UNSUPPORTED: system-windows
# RUN: %build %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
