From 8b4d613cc81c8cc2b52485149e4aa1c8bae3394d Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Fri, 20 May 2022 18:11:31 +0200 Subject: [PATCH] rustup --- rust-version | 2 +- src/machine.rs | 7 ++++++- tests/compile-fail/ptr_integer_transmute.rs | 2 +- tests/compile-fail/strict_provenance_transmute.rs | 2 +- tests/compile-fail/uninit_float.rs | 2 +- tests/compile-fail/uninit_integer.rs | 2 +- tests/compile-fail/uninit_integer_signed.rs | 2 +- 7 files changed, 12 insertions(+), 7 deletions(-) diff --git a/rust-version b/rust-version index e6bd4b95a8b..5526a13d5fc 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -f24ef2e296ec6fc6fd2e24d7e4bfec3f4cb0577a +22ee39504a702f75485582d02060495a01254de1 diff --git a/src/machine.rs b/src/machine.rs index 3d97bed7ae2..7ab15b9f9ce 100644 --- a/src/machine.rs +++ b/src/machine.rs @@ -470,7 +470,12 @@ fn enforce_validity(ecx: &MiriEvalContext<'mir, 'tcx>) -> bool { } #[inline(always)] - fn enforce_number_validity(ecx: &MiriEvalContext<'mir, 'tcx>) -> bool { + fn enforce_number_init(ecx: &MiriEvalContext<'mir, 'tcx>) -> bool { + ecx.machine.enforce_number_validity + } + + #[inline(always)] + fn enforce_number_no_provenance(ecx: &MiriEvalContext<'mir, 'tcx>) -> bool { ecx.machine.enforce_number_validity } diff --git a/tests/compile-fail/ptr_integer_transmute.rs b/tests/compile-fail/ptr_integer_transmute.rs index e15a1576375..bb9e8e1e220 100644 --- a/tests/compile-fail/ptr_integer_transmute.rs +++ b/tests/compile-fail/ptr_integer_transmute.rs @@ -2,5 +2,5 @@ fn main() { let r = &mut 42; - let _i: usize = unsafe { std::mem::transmute(r) }; //~ ERROR expected initialized plain (non-pointer) bytes + let _i: usize = unsafe { std::mem::transmute(r) }; //~ ERROR expected plain (non-pointer) bytes } diff --git a/tests/compile-fail/strict_provenance_transmute.rs b/tests/compile-fail/strict_provenance_transmute.rs index 0fc64295f94..a684d65b2ce 100644 --- a/tests/compile-fail/strict_provenance_transmute.rs +++ b/tests/compile-fail/strict_provenance_transmute.rs @@ -7,7 +7,7 @@ // . unsafe fn deref(left: *const u8, right: *const u8) { - let left_int: usize = mem::transmute(left); //~ERROR expected initialized plain (non-pointer) bytes + let left_int: usize = mem::transmute(left); //~ERROR expected plain (non-pointer) bytes let right_int: usize = mem::transmute(right); if left_int == right_int { // The compiler is allowed to replace `left_int` by `right_int` here... diff --git a/tests/compile-fail/uninit_float.rs b/tests/compile-fail/uninit_float.rs index 06953e1ced9..1cb687f9b00 100644 --- a/tests/compile-fail/uninit_float.rs +++ b/tests/compile-fail/uninit_float.rs @@ -4,5 +4,5 @@ fn main() { let _val = unsafe { std::mem::MaybeUninit::::uninit().assume_init() }; - //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized plain (non-pointer) bytes + //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized bytes } diff --git a/tests/compile-fail/uninit_integer.rs b/tests/compile-fail/uninit_integer.rs index 757f69c050f..c700f1f46d9 100644 --- a/tests/compile-fail/uninit_integer.rs +++ b/tests/compile-fail/uninit_integer.rs @@ -4,5 +4,5 @@ fn main() { let _val = unsafe { std::mem::MaybeUninit::::uninit().assume_init() }; - //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized plain (non-pointer) bytes + //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized bytes } diff --git a/tests/compile-fail/uninit_integer_signed.rs b/tests/compile-fail/uninit_integer_signed.rs index bb5d7314a7c..28bca0b19a7 100644 --- a/tests/compile-fail/uninit_integer_signed.rs +++ b/tests/compile-fail/uninit_integer_signed.rs @@ -4,5 +4,5 @@ fn main() { let _val = unsafe { std::mem::MaybeUninit::::uninit().assume_init() }; - //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized plain (non-pointer) bytes + //~^ ERROR type validation failed at .value: encountered uninitialized bytes, but expected initialized bytes } -- 2.44.0