So that when we later add support for revisions we can use the same syntax for revisions as elsewhere. This also prevents people from making typos for commands since `src/tools/compiletest/src/directives/directive_names.rs` will catch such typos now. Note that we one FIXME for a non-trivial change for later: ``` // FIXME(148097): Change `// cdb-checksimple_closure` to `//@ cdb-check:simple_closure` ```
52 lines
980 B
Rust
52 lines
980 B
Rust
// This test case makes sure that we get proper break points for binaries
|
|
// compiled with multiple codegen units. (see #39160)
|
|
|
|
//@ compile-flags:-g -Ccodegen-units=2
|
|
//@ disable-gdb-pretty-printers
|
|
//@ ignore-backends: gcc
|
|
|
|
// === GDB TESTS ===============================================================
|
|
|
|
//@ gdb-command:run
|
|
|
|
//@ gdb-command:print xxx
|
|
//@ gdb-check:$1 = 12345
|
|
//@ gdb-command:continue
|
|
|
|
//@ gdb-command:print yyy
|
|
//@ gdb-check:$2 = 67890
|
|
//@ gdb-command:continue
|
|
|
|
|
|
// === LLDB TESTS ==============================================================
|
|
|
|
//@ lldb-command:run
|
|
|
|
//@ lldb-command:v xxx
|
|
//@ lldb-check:[...] 12345
|
|
//@ lldb-command:continue
|
|
|
|
//@ lldb-command:v yyy
|
|
//@ lldb-check:[...] 67890
|
|
//@ lldb-command:continue
|
|
|
|
|
|
mod a {
|
|
pub fn foo(xxx: u32) {
|
|
super::_zzz(); // #break
|
|
}
|
|
}
|
|
|
|
mod b {
|
|
pub fn bar(yyy: u64) {
|
|
super::_zzz(); // #break
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
a::foo(12345);
|
|
b::bar(67890);
|
|
}
|
|
|
|
#[inline(never)]
|
|
fn _zzz() {}
|