about summary refs log tree commit diff
path: root/src/tools/miri/tests/fail/unaligned_pointers/alignment.rs
blob: 6bb95ae4bcb337bf63719ebf08aaadad6862c26a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//@normalize-stderr-test: "\| +\^+" -> "| ^"
//@compile-flags: -Cdebug-assertions=no

fn main() {
    // No retry needed, this fails reliably.

    let mut x = [0u8; 20];
    let x_ptr: *mut u8 = x.as_mut_ptr();
    #[rustfmt::skip]
    unsafe {
        // At least one of these is definitely unaligned.
        *(x_ptr as *mut u32) = 42; *(x_ptr.add(1) as *mut u32) = 42;
        //~^ ERROR: but alignment 4 is required
    };
}