diff options
| author | Ralf Jung <post@ralfj.de> | 2023-07-11 15:50:11 +0200 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2023-07-11 21:59:01 +0200 |
| commit | e7c6db7d44b8627b9b3b1106fc08413c52fbabaa (patch) | |
| tree | c18edb10923d527549bcb661643926a9921eede0 /src | |
| parent | 124fb1490a7894fbaa319e92d59b79817a407d44 (diff) | |
| download | rust-e7c6db7d44b8627b9b3b1106fc08413c52fbabaa.tar.gz rust-e7c6db7d44b8627b9b3b1106fc08413c52fbabaa.zip | |
fix handling of alignment for dyn-sized places
Diffstat (limited to 'src')
| -rw-r--r-- | src/tools/miri/tests/fail/unaligned_pointers/dyn_alignment.rs | 7 | ||||
| -rw-r--r-- | src/tools/miri/tests/fail/unaligned_pointers/dyn_alignment.stderr | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/tools/miri/tests/fail/unaligned_pointers/dyn_alignment.rs b/src/tools/miri/tests/fail/unaligned_pointers/dyn_alignment.rs index 6d31ded75c6..555aa57de30 100644 --- a/src/tools/miri/tests/fail/unaligned_pointers/dyn_alignment.rs +++ b/src/tools/miri/tests/fail/unaligned_pointers/dyn_alignment.rs @@ -1,5 +1,6 @@ -// should find the bug even without validation and stacked borrows, but gets masked by optimizations -//@compile-flags: -Zmiri-disable-validation -Zmiri-disable-stacked-borrows -Zmir-opt-level=0 -Cdebug-assertions=no +// should find the bug even without, but gets masked by optimizations +//@compile-flags: -Zmiri-disable-stacked-borrows -Zmir-opt-level=0 -Cdebug-assertions=no +//@normalize-stderr-test: "but found [0-9]+" -> "but found $$ALIGN" #[repr(align(256))] #[derive(Debug)] @@ -19,6 +20,6 @@ fn main() { (&mut ptr as *mut _ as *mut *const u8).write(&buf as *const _ as *const u8); } // Re-borrow that. This should be UB. - let _ptr = &*ptr; //~ERROR: alignment 256 is required + let _ptr = &*ptr; //~ERROR: required 256 byte alignment } } diff --git a/src/tools/miri/tests/fail/unaligned_pointers/dyn_alignment.stderr b/src/tools/miri/tests/fail/unaligned_pointers/dyn_alignment.stderr index a900b46612b..503721b9551 100644 --- a/src/tools/miri/tests/fail/unaligned_pointers/dyn_alignment.stderr +++ b/src/tools/miri/tests/fail/unaligned_pointers/dyn_alignment.stderr @@ -1,8 +1,8 @@ -error: Undefined Behavior: accessing memory with alignment ALIGN, but alignment ALIGN is required +error: Undefined Behavior: constructing invalid value: encountered an unaligned reference (required 256 byte alignment but found $ALIGN) --> $DIR/dyn_alignment.rs:LL:CC | LL | let _ptr = &*ptr; - | ^^^^^ accessing memory with alignment ALIGN, but alignment ALIGN is required + | ^^^^^ constructing invalid value: encountered an unaligned reference (required 256 byte alignment but found $ALIGN) | = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information |
