fix comment in alignment test

This commit is contained in:
Ralf Jung 2020-04-14 09:50:20 +02:00
parent 8e73db6510
commit f4a15444cf
2 changed files with 6 additions and 4 deletions

View File

@ -1,11 +1,11 @@
fn main() {
// miri always gives allocations the worst possible alignment, so a `u8` array is guaranteed
// to be at the virtual location 1 (so one byte offset from the ultimate alignemnt location 0)
let mut x = [0u8; 20];
let x_ptr: *mut u8 = x.as_mut_ptr();
let y_ptr = x_ptr as *mut u64;
// At least one of these is definitely unaligned.
// Currently, we guarantee to complain about the first one already (https://github.com/rust-lang/miri/issues/1074).
unsafe {
*y_ptr = 42; //~ ERROR accessing memory with alignment 1, but alignment
*(x_ptr as *mut u64) = 42; //~ ERROR accessing memory with alignment 1, but alignment
*(x_ptr.add(1) as *mut u64) = 42;
}
panic!("unreachable in miri");
}

View File

@ -2,6 +2,8 @@
// that arise from pointers being insufficiently aligned. The only way to achieve
// that is not not let programs exploit integer information for alignment, so here
// we test that this is indeed the case.
//
// See https://github.com/rust-lang/miri/issues/1074.
fn main() {
let x = &mut [0u8; 3];
let base_addr = x as *mut _ as usize;