This commit is contained in:
nora 2023-05-30 18:50:39 +02:00
parent 6c17c4cf53
commit 4cb3422daf
3 changed files with 5 additions and 4 deletions

1
.gitignore vendored
View file

@ -2,6 +2,7 @@
/bad /bad
*.ll *.ll
*.s *.s
*.bc
a.out a.out
# Added by cargo # Added by cargo

View file

@ -2,7 +2,7 @@
set -eu set -eu
# rustc code.rs --crate-name ll -Zmir-enable-passes=-ConstProp --emit llvm-ir -Cno-prepopulate-passes --crate-type=lib rustc code.rs --crate-name ll -Zmir-enable-passes=-ConstProp --emit llvm-ir -Cno-prepopulate-passes --crate-type=lib
d=$(mktemp -d) d=$(mktemp -d)
@ -18,4 +18,4 @@ if [ "$good" != "$bad" ]; then
else else
echo "no repro" echo "no repro"
exit 1 exit 1
fi fi

View file

@ -19,7 +19,7 @@ pub unsafe extern "C" fn fn12_rs() {
'l0: loop { 'l0: loop {
let mut v20 = [197_u8; 8]; let mut v20 = [197_u8; 8];
let v20_ptr = ptr::addr_of_mut!(v20); let v20_ptr = ptr::addr_of_mut!(v20);
let mut v12: *mut u8 = core::ptr::addr_of_mut!((*v20_ptr)[v9]); let mut v12: *mut u8 = v20_ptr.cast::<u8>().add(v9);
v9 = 2_usize; // unused but necessary write v9 = 2_usize; // unused but necessary write
loop { loop {
// only runs once, but necessary // only runs once, but necessary
@ -64,7 +64,7 @@ pub unsafe extern "C" fn fn12_rs() {
} }
_ => { _ => {
// Dead code but necessary // Dead code but necessary
v12 = core::ptr::addr_of_mut!((*v20_ptr)[2]); v12 = (*v20_ptr).as_mut_ptr().add(2);
} }
} }
} }