| # XFAIL: target-windows | |
| # Test the ${function.scope} frame-format variable. | |
| # RUN: split-file %s %t | |
| # RUN: %clangxx_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: %clangxx_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::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 '' |