Adds new frame-format variables and implements them in the CPlusPlusLanguage plugin. We use the `DemangledNameInfo` type to retrieve the necessary part of the demangled name. https://github.com/llvm/llvm-project/pull/131836
38 lines
758 B
Plaintext
38 lines
758 B
Plaintext
# Test the ${function.template-arguments} frame-format variable.
|
|
|
|
# RUN: split-file %s %t
|
|
# RUN: %build %t/main.cpp -o %t.cxx.out
|
|
# RUN: %lldb -x -b -s %t/commands.input %t.cxx.out -o exit 2>&1 \
|
|
# RUN: | FileCheck %s
|
|
|
|
#--- main.cpp
|
|
template<typename K>
|
|
struct Foo {
|
|
template<typename T>
|
|
void func() {}
|
|
};
|
|
|
|
template<typename T, template <typename> class K,
|
|
typename M>
|
|
int foo() {
|
|
Foo<int>{}.func<T>();
|
|
return 5;
|
|
}
|
|
|
|
int bar() {
|
|
return foo<int, Foo, Foo<float>>();
|
|
}
|
|
|
|
int main() { return bar(); }
|
|
|
|
#--- commands.input
|
|
settings set -f frame-format "custom-frame '${function.template-arguments}'\n"
|
|
break set -n func
|
|
|
|
run
|
|
bt
|
|
|
|
# CHECK: custom-frame '<int>'
|
|
# CHECK: custom-frame '<int, Foo, Foo<float>>'
|
|
# CHECK: custom-frame ''
|