| //@ compile-flags:-g |
| |
| // === GDB TESTS =================================================================================== |
| |
| // gdb-command:run |
| |
| // gdb-command:print lexical_scopes_in_block_expression::MUT_INT |
| // gdb-check:$1 = 0 |
| |
| // STRUCT EXPRESSION |
| // gdb-command:print val |
| // gdb-check:$2 = -1 |
| // gdb-command:print ten |
| // gdb-check:$3 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$4 = 11 |
| // gdb-command:print lexical_scopes_in_block_expression::MUT_INT |
| // gdb-check:$5 = 1 |
| // gdb-command:print ten |
| // gdb-check:$6 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$7 = -1 |
| // gdb-command:print ten |
| // gdb-check:$8 = 10 |
| // gdb-command:continue |
| |
| // FUNCTION CALL |
| // gdb-command:print val |
| // gdb-check:$9 = -1 |
| // gdb-command:print ten |
| // gdb-check:$10 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$11 = 12 |
| // gdb-command:print lexical_scopes_in_block_expression::MUT_INT |
| // gdb-check:$12 = 2 |
| // gdb-command:print ten |
| // gdb-check:$13 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$14 = -1 |
| // gdb-command:print ten |
| // gdb-check:$15 = 10 |
| // gdb-command:continue |
| |
| // TUPLE EXPRESSION |
| // gdb-command:print val |
| // gdb-check:$16 = -1 |
| // gdb-command:print ten |
| // gdb-check:$17 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$18 = 13 |
| // gdb-command:print lexical_scopes_in_block_expression::MUT_INT |
| // gdb-check:$19 = 3 |
| // gdb-command:print ten |
| // gdb-check:$20 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$21 = -1 |
| // gdb-command:print ten |
| // gdb-check:$22 = 10 |
| // gdb-command:continue |
| |
| // VEC EXPRESSION |
| // gdb-command:print val |
| // gdb-check:$23 = -1 |
| // gdb-command:print ten |
| // gdb-check:$24 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$25 = 14 |
| // gdb-command:print lexical_scopes_in_block_expression::MUT_INT |
| // gdb-check:$26 = 4 |
| // gdb-command:print ten |
| // gdb-check:$27 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$28 = -1 |
| // gdb-command:print ten |
| // gdb-check:$29 = 10 |
| // gdb-command:continue |
| |
| // REPEAT VEC EXPRESSION |
| // gdb-command:print val |
| // gdb-check:$30 = -1 |
| // gdb-command:print ten |
| // gdb-check:$31 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$32 = 15 |
| // gdb-command:print lexical_scopes_in_block_expression::MUT_INT |
| // gdb-check:$33 = 5 |
| // gdb-command:print ten |
| // gdb-check:$34 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$35 = -1 |
| // gdb-command:print ten |
| // gdb-check:$36 = 10 |
| // gdb-command:continue |
| |
| // ASSIGNMENT EXPRESSION |
| // gdb-command:print val |
| // gdb-check:$37 = -1 |
| // gdb-command:print ten |
| // gdb-check:$38 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$39 = 16 |
| // gdb-command:print lexical_scopes_in_block_expression::MUT_INT |
| // gdb-check:$40 = 6 |
| // gdb-command:print ten |
| // gdb-check:$41 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$42 = -1 |
| // gdb-command:print ten |
| // gdb-check:$43 = 10 |
| // gdb-command:continue |
| |
| |
| // ARITHMETIC EXPRESSION |
| // gdb-command:print val |
| // gdb-check:$44 = -1 |
| // gdb-command:print ten |
| // gdb-check:$45 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$46 = 17 |
| // gdb-command:print lexical_scopes_in_block_expression::MUT_INT |
| // gdb-check:$47 = 7 |
| // gdb-command:print ten |
| // gdb-check:$48 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$49 = -1 |
| // gdb-command:print ten |
| // gdb-check:$50 = 10 |
| // gdb-command:continue |
| |
| // INDEX EXPRESSION |
| // gdb-command:print val |
| // gdb-check:$51 = -1 |
| // gdb-command:print ten |
| // gdb-check:$52 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$53 = 18 |
| // gdb-command:print lexical_scopes_in_block_expression::MUT_INT |
| // gdb-check:$54 = 8 |
| // gdb-command:print ten |
| // gdb-check:$55 = 10 |
| // gdb-command:continue |
| |
| // gdb-command:print val |
| // gdb-check:$56 = -1 |
| // gdb-command:print ten |
| // gdb-check:$57 = 10 |
| // gdb-command:continue |
| |
| |
| // === LLDB TESTS ================================================================================== |
| |
| // lldb-command:run |
| |
| // STRUCT EXPRESSION |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] 11 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // FUNCTION CALL |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] 12 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // TUPLE EXPRESSION |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] 13 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // VEC EXPRESSION |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] 14 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // REPEAT VEC EXPRESSION |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] 15 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // ASSIGNMENT EXPRESSION |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] 16 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| |
| // ARITHMETIC EXPRESSION |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] 17 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // INDEX EXPRESSION |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] 18 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| // lldb-command:v val |
| // lldb-check:[...] -1 |
| // lldb-command:v ten |
| // lldb-check:[...] 10 |
| // lldb-command:continue |
| |
| #![allow(unused_variables)] |
| #![allow(unused_assignments)] |
| #![feature(omit_gdb_pretty_printer_section)] |
| #![omit_gdb_pretty_printer_section] |
| |
| static mut MUT_INT: isize = 0; |
| |
| struct Point { |
| x: isize, |
| y: isize |
| } |
| |
| fn a_function(x: isize) -> isize { |
| x + 1 |
| } |
| |
| fn main() { |
| |
| let val = -1; |
| let ten = 10; |
| |
| // surrounded by struct expression |
| let point = Point { |
| x: { |
| zzz(); // #break |
| sentinel(); |
| |
| let val = ten + 1; |
| unsafe {MUT_INT = 1;}; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| val |
| }, |
| y: 10 |
| }; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| // surrounded by function call |
| let _ = a_function({ |
| zzz(); // #break |
| sentinel(); |
| |
| let val = ten + 2; |
| unsafe {MUT_INT = 2;}; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| val |
| }); |
| |
| zzz(); // #break |
| sentinel(); |
| |
| |
| // surrounded by tup |
| let _ = ({ |
| zzz(); // #break |
| sentinel(); |
| |
| let val = ten + 3; |
| unsafe {MUT_INT = 3;}; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| val |
| }, 0); |
| |
| zzz(); // #break |
| sentinel(); |
| |
| // surrounded by vec |
| let _ = [{ |
| zzz(); // #break |
| sentinel(); |
| |
| let val = ten + 4; |
| unsafe {MUT_INT = 4;}; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| val |
| }, 0, 0]; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| // surrounded by repeat vec |
| let _ = [{ |
| zzz(); // #break |
| sentinel(); |
| |
| let val = ten + 5; |
| unsafe {MUT_INT = 5;}; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| val |
| }; 10]; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| // assignment expression |
| let mut var = 0; |
| var = { |
| zzz(); // #break |
| sentinel(); |
| |
| let val = ten + 6; |
| unsafe {MUT_INT = 6;}; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| val |
| }; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| // arithmetic expression |
| var = 10 + -{ |
| zzz(); // #break |
| sentinel(); |
| |
| let val = ten + 7; |
| unsafe {MUT_INT = 7;}; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| val |
| } * 5; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| // index expression |
| let a_vector = [10; 20]; |
| let _ = a_vector[{ |
| zzz(); // #break |
| sentinel(); |
| |
| let val = ten + 8; |
| unsafe {MUT_INT = 8;}; |
| |
| zzz(); // #break |
| sentinel(); |
| |
| val as usize |
| }]; |
| |
| zzz(); // #break |
| sentinel(); |
| } |
| |
| fn zzz() {()} |
| fn sentinel() {()} |