1# UNSUPPORTED: system-windows 2# Test different name formats. 3 4# RUN: %build %S/Inputs/names.cpp --std c++17 -o %t.out 5# RUN: split-file %s %t 6 7#--- name_with_args.input 8# RUN: %lldb -b -s %t/name_with_args.input %t.out | FileCheck %s --check-prefix=NAME_WITH_ARGS 9settings set -f frame-format "frame ${function.name-with-args}\n" 10break set -n foo 11break set -n operator<< 12break set -n returns_func_ptr 13break set -n inlined_foo 14run 15# NAME_WITH_ARGS: frame int ns::foo<int ()>(t={{.*}}) 16c 17# NAME_WITH_ARGS: frame int ns::foo<int ()>(str="bar") 18c 19# NAME_WITH_ARGS: frame int ns::foo<(anonymous namespace)::$_0>(t=(anonymous namespace)::(unnamed class) @ {{.*}}) 20c 21# NAME_WITH_ARGS: frame int ns::foo<int (*)()>(t=({{.*}}`(anonymous namespace)::anon_bar() at {{.*}})) 22c 23# NAME_WITH_ARGS: frame int ns::foo<void (Foo::*)(int (*)(int)) const noexcept>(str="method") 24c 25# NAME_WITH_ARGS: frame ns::returns_func_ptr<int>((null)={{.*}}) 26c 27# NAME_WITH_ARGS: frame void Foo::foo<int (*)()>(this={{.*}}, arg=({{.*}}`(anonymous namespace)::anon_bar() at {{.*}})) 28c 29# NAME_WITH_ARGS: frame void Foo::operator<<<1>(this={{.*}}, (null)=0) 30c 31# NAME_WITH_ARGS: frame Foo::returns_func_ptr<int>(this={{.*}}, (null)={{.*}}) 32c 33# NAME_WITH_ARGS: frame main [inlined] inlined_foo(str="bar") 34q 35 36#--- name.input 37# RUN: %lldb -b -s %t/name.input %t.out | FileCheck %s --check-prefix=NAME 38settings set -f frame-format "frame ${function.name}\n" 39break set -n inlined_foo 40run 41# NAME: frame main [inlined] inlined_foo(char const*) 42 43#--- name_without_args.input 44# RUN: %lldb -b -s %t/name_without_args.input %t.out | FileCheck %s --check-prefix=NAME_WITHOUT_ARGS 45settings set -f frame-format "frame ${function.name-without-args}\n" 46break set -n inlined_foo 47run 48# NAME_WITHOUT_ARGS: frame main [inlined] inlined_foo(char const*) 49 50#--- mangled_name.input 51# RUN: %lldb -b -s %t/mangled_name.input %t.out | FileCheck %s --check-prefix=MANGLED_NAME 52settings set -f frame-format "frame ${function.mangled-name}\n" 53break set -n inlined_foo 54run 55# MANGLED_NAME: frame main [inlined] inlined_foo(char const*) 56