
This reverts commit da7099290cea7d11b83da01adda8afeb3bcd5362. Same as the original PR. The failing test-case was resolved in https://github.com/llvm/llvm-project/pull/137763
53 lines
1.0 KiB
Plaintext
53 lines
1.0 KiB
Plaintext
# XFAIL: target-windows
|
|
|
|
# Test the ${function.basename} frame-format variable.
|
|
|
|
# RUN: split-file %s %t
|
|
# RUN: %clang_host -g -gdwarf %t/main.cpp -o %t.out
|
|
# RUN: %lldb -x -b -s %t/commands.input %t.out -o exit 2>&1 \
|
|
# RUN: | FileCheck %s
|
|
#
|
|
# RUN: %clang_host -O0 %t/main.cpp -o %t-nodebug.out
|
|
# RUN: %lldb -x -b -s %t/commands.input %t-nodebug.out -o exit 2>&1 \
|
|
# RUN: | FileCheck %s
|
|
|
|
#--- main.cpp
|
|
namespace ns {
|
|
template<typename T>
|
|
struct Bar {
|
|
template<typename K>
|
|
T bar(K k) const & { return 1.0f; }
|
|
};
|
|
|
|
template<typename T>
|
|
struct Foo {
|
|
template<typename K>
|
|
[[gnu::abi_tag("Test")]] void foo() const volatile && {
|
|
Bar<float> b;
|
|
b.bar(b);
|
|
}
|
|
};
|
|
|
|
template<typename T>
|
|
T func() {
|
|
ns::Foo<int>{}.foo<int>();
|
|
return T{};
|
|
}
|
|
} // namespace ns
|
|
|
|
int main() {
|
|
ns::func<ns::Foo<int>>();
|
|
return 0;
|
|
}
|
|
|
|
#--- commands.input
|
|
settings set -f frame-format "custom-frame '${function.basename}'\n"
|
|
break set -n bar
|
|
|
|
run
|
|
bt
|
|
|
|
# CHECK: custom-frame 'bar'
|
|
# CHECK: custom-frame 'foo[abi:Test]'
|
|
# CHECK: custom-frame 'func'
|