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