2014-10-09 14:31:03 +00:00
|
|
|
//@ min-lldb-version: 310
|
2018-10-03 16:01:56 +00:00
|
|
|
//@ ignore-lldb FIXME #48807
|
2013-11-04 06:53:01 +00:00
|
|
|
|
2016-08-25 02:34:31 +00:00
|
|
|
//@ compile-flags:-g -Zdebug-macros
|
2014-07-09 12:46:09 +00:00
|
|
|
|
|
|
|
// === GDB TESTS ===================================================================================
|
|
|
|
|
2014-04-24 09:35:48 +00:00
|
|
|
// gdb-command:run
|
|
|
|
|
|
|
|
// gdb-command:print a
|
|
|
|
// gdb-check:$1 = 10
|
|
|
|
// gdb-command:print b
|
|
|
|
// gdb-check:$2 = 34
|
|
|
|
// gdb-command:continue
|
|
|
|
|
|
|
|
// gdb-command:print a
|
|
|
|
// gdb-check:$3 = 890242
|
|
|
|
// gdb-command:print b
|
|
|
|
// gdb-check:$4 = 34
|
|
|
|
// gdb-command:continue
|
|
|
|
|
|
|
|
// gdb-command:print a
|
|
|
|
// gdb-check:$5 = 10
|
|
|
|
// gdb-command:print b
|
|
|
|
// gdb-check:$6 = 34
|
|
|
|
// gdb-command:continue
|
|
|
|
|
|
|
|
// gdb-command:print a
|
|
|
|
// gdb-check:$7 = 102
|
|
|
|
// gdb-command:print b
|
|
|
|
// gdb-check:$8 = 34
|
|
|
|
// gdb-command:continue
|
|
|
|
|
|
|
|
// gdb-command:print a
|
|
|
|
// gdb-check:$9 = 110
|
|
|
|
// gdb-command:print b
|
|
|
|
// gdb-check:$10 = 34
|
|
|
|
// gdb-command:continue
|
|
|
|
|
|
|
|
// gdb-command:print a
|
|
|
|
// gdb-check:$11 = 10
|
|
|
|
// gdb-command:print b
|
|
|
|
// gdb-check:$12 = 34
|
|
|
|
// gdb-command:continue
|
|
|
|
|
|
|
|
// gdb-command:print a
|
|
|
|
// gdb-check:$13 = 10
|
|
|
|
// gdb-command:print b
|
|
|
|
// gdb-check:$14 = 34
|
|
|
|
// gdb-command:print c
|
|
|
|
// gdb-check:$15 = 400
|
|
|
|
// gdb-command:continue
|
2013-08-05 09:12:40 +00:00
|
|
|
|
2014-07-09 12:46:09 +00:00
|
|
|
|
|
|
|
// === LLDB TESTS ==================================================================================
|
|
|
|
|
|
|
|
// lldb-command:run
|
|
|
|
|
|
|
|
// lldb-command:print a
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 10
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbr-check:(i32) a = 10
|
2014-07-09 12:46:09 +00:00
|
|
|
// lldb-command:print b
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 34
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbr-check:(i32) b = 34
|
2014-07-09 12:46:09 +00:00
|
|
|
// lldb-command:continue
|
|
|
|
|
|
|
|
// lldb-command:print a
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 890242
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbr-check:(i32) a = 10
|
2014-07-09 12:46:09 +00:00
|
|
|
// lldb-command:print b
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 34
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbr-check:(i32) b = 34
|
2014-07-09 12:46:09 +00:00
|
|
|
// lldb-command:continue
|
|
|
|
|
|
|
|
// lldb-command:print a
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 10
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbr-check:(i32) a = 10
|
2014-07-09 12:46:09 +00:00
|
|
|
// lldb-command:print b
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 34
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbr-check:(i32) b = 34
|
2014-07-09 12:46:09 +00:00
|
|
|
// lldb-command:continue
|
|
|
|
|
|
|
|
// lldb-command:print a
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 102
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbr-check:(i32) a = 10
|
2014-07-09 12:46:09 +00:00
|
|
|
// lldb-command:print b
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 34
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbr-check:(i32) b = 34
|
2014-07-09 12:46:09 +00:00
|
|
|
// lldb-command:continue
|
|
|
|
|
2018-10-02 16:13:30 +00:00
|
|
|
// Don't test this with rust-enabled lldb for now; see issue #48807
|
|
|
|
// lldbg-command:print a
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 110
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbg-command:print b
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 34
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbg-command:continue
|
|
|
|
|
|
|
|
// lldbg-command:print a
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 10
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbg-command:print b
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 34
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbg-command:continue
|
|
|
|
|
|
|
|
// lldbg-command:print a
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 10
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbg-command:print b
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 34
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbg-command:print c
|
2024-03-10 13:55:58 +00:00
|
|
|
// lldbg-check:[...] 400
|
2018-10-02 16:13:30 +00:00
|
|
|
// lldbg-command:continue
|
2014-07-09 12:46:09 +00:00
|
|
|
|
|
|
|
|
2015-09-19 20:33:47 +00:00
|
|
|
#![feature(omit_gdb_pretty_printer_section)]
|
2014-12-03 22:48:18 +00:00
|
|
|
#![omit_gdb_pretty_printer_section]
|
2013-10-03 03:00:54 +00:00
|
|
|
|
2014-11-14 17:18:10 +00:00
|
|
|
macro_rules! trivial {
|
2013-08-05 09:12:40 +00:00
|
|
|
($e1:expr) => ($e1)
|
2014-11-14 17:18:10 +00:00
|
|
|
}
|
2013-08-05 09:12:40 +00:00
|
|
|
|
2014-11-14 17:18:10 +00:00
|
|
|
macro_rules! no_new_scope {
|
2013-08-05 09:12:40 +00:00
|
|
|
($e1:expr) => (($e1 + 2) - 1)
|
2014-11-14 17:18:10 +00:00
|
|
|
}
|
2013-08-05 09:12:40 +00:00
|
|
|
|
2014-11-14 17:18:10 +00:00
|
|
|
macro_rules! new_scope {
|
2013-08-05 09:12:40 +00:00
|
|
|
() => ({
|
2015-01-25 21:05:03 +00:00
|
|
|
let a = 890242;
|
2014-07-09 12:46:09 +00:00
|
|
|
zzz(); // #break
|
2013-08-05 09:12:40 +00:00
|
|
|
sentinel();
|
|
|
|
})
|
2014-11-14 17:18:10 +00:00
|
|
|
}
|
2013-08-05 09:12:40 +00:00
|
|
|
|
2014-11-14 17:18:10 +00:00
|
|
|
macro_rules! shadow_within_macro {
|
2013-08-05 09:12:40 +00:00
|
|
|
($e1:expr) => ({
|
|
|
|
let a = $e1 + 2;
|
|
|
|
|
2014-07-09 12:46:09 +00:00
|
|
|
zzz(); // #break
|
2013-08-05 09:12:40 +00:00
|
|
|
sentinel();
|
|
|
|
|
|
|
|
let a = $e1 + 10;
|
|
|
|
|
2014-07-09 12:46:09 +00:00
|
|
|
zzz(); // #break
|
2013-08-05 09:12:40 +00:00
|
|
|
sentinel();
|
|
|
|
})
|
2014-11-14 17:18:10 +00:00
|
|
|
}
|
2013-08-05 09:12:40 +00:00
|
|
|
|
|
|
|
|
2014-11-14 17:18:10 +00:00
|
|
|
macro_rules! dup_expr {
|
2013-08-05 09:12:40 +00:00
|
|
|
($e1:expr) => (($e1) + ($e1))
|
2014-11-14 17:18:10 +00:00
|
|
|
}
|
2013-08-05 09:12:40 +00:00
|
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
2015-01-25 21:05:03 +00:00
|
|
|
let a = trivial!(10);
|
|
|
|
let b = no_new_scope!(33);
|
2013-08-05 09:12:40 +00:00
|
|
|
|
2014-07-09 12:46:09 +00:00
|
|
|
zzz(); // #break
|
2013-08-05 09:12:40 +00:00
|
|
|
sentinel();
|
|
|
|
|
|
|
|
new_scope!();
|
|
|
|
|
2014-07-09 12:46:09 +00:00
|
|
|
zzz(); // #break
|
2013-08-05 09:12:40 +00:00
|
|
|
sentinel();
|
|
|
|
|
2015-01-25 21:05:03 +00:00
|
|
|
shadow_within_macro!(100);
|
2013-08-05 09:12:40 +00:00
|
|
|
|
2014-07-09 12:46:09 +00:00
|
|
|
zzz(); // #break
|
2013-08-05 09:12:40 +00:00
|
|
|
sentinel();
|
|
|
|
|
2015-01-25 21:05:03 +00:00
|
|
|
let c = dup_expr!(10 * 20);
|
2013-08-05 09:12:40 +00:00
|
|
|
|
2014-07-09 12:46:09 +00:00
|
|
|
zzz(); // #break
|
2013-08-05 09:12:40 +00:00
|
|
|
sentinel();
|
|
|
|
}
|
|
|
|
|
|
|
|
fn zzz() {()}
|
|
|
|
fn sentinel() {()}
|