mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-31 17:12:53 +00:00
Add tests.
This commit is contained in:
parent
eb7a743421
commit
e2caebc4a6
51
tests/mir-opt/const_prop/address_of_pair.fn0.ConstProp.diff
Normal file
51
tests/mir-opt/const_prop/address_of_pair.fn0.ConstProp.diff
Normal file
@ -0,0 +1,51 @@
|
||||
- // MIR for `fn0` before ConstProp
|
||||
+ // MIR for `fn0` after ConstProp
|
||||
|
||||
fn fn0() -> bool {
|
||||
let mut _0: bool; // return place in scope 0 at $DIR/address_of_pair.rs:+0:17: +0:21
|
||||
let mut _1: !; // in scope 0 at $DIR/address_of_pair.rs:+0:22: +9:2
|
||||
let mut _2: (i32, bool); // in scope 0 at $DIR/address_of_pair.rs:+1:9: +1:17
|
||||
let _4: (); // in scope 0 at $DIR/address_of_pair.rs:+4:5: +6:6
|
||||
let mut _6: bool; // in scope 0 at $DIR/address_of_pair.rs:+7:16: +7:22
|
||||
scope 1 {
|
||||
debug pair => _2; // in scope 1 at $DIR/address_of_pair.rs:+1:9: +1:17
|
||||
let _3: *mut bool; // in scope 1 at $DIR/address_of_pair.rs:+2:9: +2:12
|
||||
scope 2 {
|
||||
debug ptr => _3; // in scope 2 at $DIR/address_of_pair.rs:+2:9: +2:12
|
||||
let _5: bool; // in scope 2 at $DIR/address_of_pair.rs:+7:9: +7:12
|
||||
scope 3 {
|
||||
}
|
||||
scope 4 {
|
||||
debug ret => _5; // in scope 4 at $DIR/address_of_pair.rs:+7:9: +7:12
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bb0: {
|
||||
StorageLive(_2); // scope 0 at $DIR/address_of_pair.rs:+1:9: +1:17
|
||||
- _2 = (const 1_i32, const false); // scope 0 at $DIR/address_of_pair.rs:+1:20: +1:30
|
||||
+ _2 = const (1_i32, false); // scope 0 at $DIR/address_of_pair.rs:+1:20: +1:30
|
||||
StorageLive(_3); // scope 1 at $DIR/address_of_pair.rs:+2:9: +2:12
|
||||
_3 = &raw mut (_2.1: bool); // scope 1 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL
|
||||
- _2 = (const 1_i32, const false); // scope 2 at $DIR/address_of_pair.rs:+3:5: +3:22
|
||||
+ _2 = const (1_i32, false); // scope 2 at $DIR/address_of_pair.rs:+3:5: +3:22
|
||||
StorageLive(_4); // scope 2 at $DIR/address_of_pair.rs:+4:5: +6:6
|
||||
(*_3) = const true; // scope 3 at $DIR/address_of_pair.rs:+5:9: +5:20
|
||||
_4 = const (); // scope 3 at $DIR/address_of_pair.rs:+4:5: +6:6
|
||||
StorageDead(_4); // scope 2 at $DIR/address_of_pair.rs:+6:5: +6:6
|
||||
StorageLive(_5); // scope 2 at $DIR/address_of_pair.rs:+7:9: +7:12
|
||||
StorageLive(_6); // scope 2 at $DIR/address_of_pair.rs:+7:16: +7:22
|
||||
- _6 = (_2.1: bool); // scope 2 at $DIR/address_of_pair.rs:+7:16: +7:22
|
||||
- _5 = Not(move _6); // scope 2 at $DIR/address_of_pair.rs:+7:15: +7:22
|
||||
+ _6 = const false; // scope 2 at $DIR/address_of_pair.rs:+7:16: +7:22
|
||||
+ _5 = const true; // scope 2 at $DIR/address_of_pair.rs:+7:15: +7:22
|
||||
StorageDead(_6); // scope 2 at $DIR/address_of_pair.rs:+7:21: +7:22
|
||||
- _0 = _5; // scope 4 at $DIR/address_of_pair.rs:+8:12: +8:15
|
||||
+ _0 = const true; // scope 4 at $DIR/address_of_pair.rs:+8:12: +8:15
|
||||
StorageDead(_5); // scope 2 at $DIR/address_of_pair.rs:+9:1: +9:2
|
||||
StorageDead(_3); // scope 1 at $DIR/address_of_pair.rs:+9:1: +9:2
|
||||
StorageDead(_2); // scope 0 at $DIR/address_of_pair.rs:+9:1: +9:2
|
||||
return; // scope 0 at $DIR/address_of_pair.rs:+9:2: +9:2
|
||||
}
|
||||
}
|
||||
|
17
tests/mir-opt/const_prop/address_of_pair.rs
Normal file
17
tests/mir-opt/const_prop/address_of_pair.rs
Normal file
@ -0,0 +1,17 @@
|
||||
// unit-test: ConstProp
|
||||
|
||||
// EMIT_MIR address_of_pair.fn0.ConstProp.diff
|
||||
pub fn fn0() -> bool {
|
||||
let mut pair = (1, false);
|
||||
let ptr = core::ptr::addr_of_mut!(pair.1);
|
||||
pair = (1, false);
|
||||
unsafe {
|
||||
*ptr = true;
|
||||
}
|
||||
let ret = !pair.1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
pub fn main() {
|
||||
println!("{}", fn0());
|
||||
}
|
Loading…
Reference in New Issue
Block a user