This were failing on Windows CI with errors like: ``` 22: (lldb) bt 23: * thread #1, stop reason = breakpoint 1.1 24: frame #0: 0x00007ff7c5e41000 TestFrameFormatFunctionFormattedArgumentsObjC.test.tmp.objc.out`func at main.m:2 25: frame #1: 0x00007ff7c5e4101c TestFrameFormatFunctionFormattedArgumentsObjC.test.tmp.objc.out`bar + 12 at main.m:3 26: frame #2: 0x00007ff7c5e4103c TestFrameFormatFunctionFormattedArgumentsObjC.test.tmp.objc.out`main + 16 at main.m:5 27: custom-frame '()' !~~~~~~~~~~~ error: no match expected 28: custom-frame '(__formal=<unavailable>)' ```
54 lines
996 B
Plaintext
54 lines
996 B
Plaintext
# UNSUPPORTED: system-windows
|
|
|
|
# Test the plugin.cplusplus.display.function-name-format setting
|
|
# when interoperating multiple languages.
|
|
|
|
# RUN: split-file %s %t
|
|
# RUN: %clangxx_host -x c -c -g %t/lib.c -o %t.clib.o
|
|
# RUN: %clangxx_host -c -g %t/lib.cpp -o %t.cxxlib.o
|
|
# RUN: %clangxx_host %t/main.m %t.cxxlib.o %t.clib.o -o %t.out
|
|
# RUN: %lldb -x -b -s %t/commands.input %t.out -o exit 2>&1 | FileCheck %s
|
|
|
|
#--- lib.c
|
|
|
|
void foo();
|
|
|
|
void func() {
|
|
foo();
|
|
}
|
|
|
|
#--- lib.cpp
|
|
|
|
namespace ns {
|
|
struct Foo {
|
|
void method() {}
|
|
};
|
|
}
|
|
|
|
extern "C" {
|
|
void foo() {
|
|
ns::Foo{}.method();
|
|
}
|
|
}
|
|
|
|
#--- main.m
|
|
|
|
void func();
|
|
|
|
int main() {
|
|
func();
|
|
}
|
|
|
|
#--- commands.input
|
|
settings set plugin.cplusplus.display.function-name-format "this affects C++ only"
|
|
settings set -f frame-format "custom-frame '${function.name-with-args}'\n"
|
|
break set -n method
|
|
|
|
run
|
|
bt
|
|
|
|
# CHECK: custom-frame 'this affects C++ only'
|
|
# CHECK: custom-frame 'this affects C++ only'
|
|
# CHECK: custom-frame 'func'
|
|
# CHECK: custom-frame 'main'
|