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
42 lines
796 B
Plaintext
42 lines
796 B
Plaintext
# Test the ${function.scope} frame-format variable.
|
|
|
|
# RUN: split-file %s %t
|
|
# RUN: %build %t/main.cpp -o %t.out
|
|
# RUN: %lldb -o "settings set interpreter.stop-command-source-on-error false" \
|
|
# RUN: -x -b -s %t/commands.input %t.out -o exit 2>&1 \
|
|
# RUN: | FileCheck %s
|
|
|
|
#--- main.cpp
|
|
namespace ns::ns2 {
|
|
inline namespace ins {
|
|
template <typename T>
|
|
struct Foo {
|
|
void func() {}
|
|
};
|
|
|
|
int foo() {
|
|
Foo<int>{}.func();
|
|
return 5;
|
|
}
|
|
} // namespace ins
|
|
} // namespace ns::ns2
|
|
|
|
using namespace ns::ns2;
|
|
|
|
int bar() {
|
|
return ns::ns2::foo();
|
|
}
|
|
|
|
int main() { return bar(); }
|
|
|
|
#--- commands.input
|
|
settings set -f frame-format "custom-frame '${function.scope}'\n"
|
|
break set -n func
|
|
|
|
run
|
|
bt
|
|
|
|
# CHECK: frame 'ns::ns2::ins::Foo<int>::'
|
|
# CHECK: frame 'ns::ns2::ins::'
|
|
# CHECK: frame ''
|