From e13d2380aeabe9ea4cef805448543449a06ad2d9 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 3 Jun 2023 17:03:24 +0200 Subject: add unchecked_shl test --- .../tests/fail/intrinsics/overflowing-unchecked-rsh.rs | 8 -------- .../fail/intrinsics/overflowing-unchecked-rsh.stderr | 15 --------------- src/tools/miri/tests/fail/intrinsics/unchecked_shl.rs | 8 ++++++++ src/tools/miri/tests/fail/intrinsics/unchecked_shl.stderr | 15 +++++++++++++++ src/tools/miri/tests/fail/intrinsics/unchecked_shr.rs | 8 ++++++++ src/tools/miri/tests/fail/intrinsics/unchecked_shr.stderr | 15 +++++++++++++++ 6 files changed, 46 insertions(+), 23 deletions(-) delete mode 100644 src/tools/miri/tests/fail/intrinsics/overflowing-unchecked-rsh.rs delete mode 100644 src/tools/miri/tests/fail/intrinsics/overflowing-unchecked-rsh.stderr create mode 100644 src/tools/miri/tests/fail/intrinsics/unchecked_shl.rs create mode 100644 src/tools/miri/tests/fail/intrinsics/unchecked_shl.stderr create mode 100644 src/tools/miri/tests/fail/intrinsics/unchecked_shr.rs create mode 100644 src/tools/miri/tests/fail/intrinsics/unchecked_shr.stderr (limited to 'src') diff --git a/src/tools/miri/tests/fail/intrinsics/overflowing-unchecked-rsh.rs b/src/tools/miri/tests/fail/intrinsics/overflowing-unchecked-rsh.rs deleted file mode 100644 index fe2e85be698..00000000000 --- a/src/tools/miri/tests/fail/intrinsics/overflowing-unchecked-rsh.rs +++ /dev/null @@ -1,8 +0,0 @@ -#![feature(unchecked_math)] - -fn main() { - unsafe { - let _n = 1i64.unchecked_shr(64); - //~^ ERROR: overflowing shift by 64 in `unchecked_shr` - } -} diff --git a/src/tools/miri/tests/fail/intrinsics/overflowing-unchecked-rsh.stderr b/src/tools/miri/tests/fail/intrinsics/overflowing-unchecked-rsh.stderr deleted file mode 100644 index 9c5d0d13108..00000000000 --- a/src/tools/miri/tests/fail/intrinsics/overflowing-unchecked-rsh.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error: Undefined Behavior: overflowing shift by 64 in `unchecked_shr` - --> $DIR/overflowing-unchecked-rsh.rs:LL:CC - | -LL | let _n = 1i64.unchecked_shr(64); - | ^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 64 in `unchecked_shr` - | - = 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 - = note: BACKTRACE: - = note: inside `main` at $DIR/overflowing-unchecked-rsh.rs:LL:CC - -note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace - -error: aborting due to previous error - diff --git a/src/tools/miri/tests/fail/intrinsics/unchecked_shl.rs b/src/tools/miri/tests/fail/intrinsics/unchecked_shl.rs new file mode 100644 index 00000000000..4554d0cb82b --- /dev/null +++ b/src/tools/miri/tests/fail/intrinsics/unchecked_shl.rs @@ -0,0 +1,8 @@ +#![feature(unchecked_math)] + +fn main() { + unsafe { + let _n = 1i8.unchecked_shl(8); + //~^ ERROR: overflowing shift by 8 in `unchecked_shl` + } +} diff --git a/src/tools/miri/tests/fail/intrinsics/unchecked_shl.stderr b/src/tools/miri/tests/fail/intrinsics/unchecked_shl.stderr new file mode 100644 index 00000000000..264e9baf053 --- /dev/null +++ b/src/tools/miri/tests/fail/intrinsics/unchecked_shl.stderr @@ -0,0 +1,15 @@ +error: Undefined Behavior: overflowing shift by 8 in `unchecked_shl` + --> $DIR/unchecked_shl.rs:LL:CC + | +LL | let _n = 1i8.unchecked_shl(8); + | ^^^^^^^^^^^^^^^^^^^^ overflowing shift by 8 in `unchecked_shl` + | + = 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 + = note: BACKTRACE: + = note: inside `main` at $DIR/unchecked_shl.rs:LL:CC + +note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace + +error: aborting due to previous error + diff --git a/src/tools/miri/tests/fail/intrinsics/unchecked_shr.rs b/src/tools/miri/tests/fail/intrinsics/unchecked_shr.rs new file mode 100644 index 00000000000..fe2e85be698 --- /dev/null +++ b/src/tools/miri/tests/fail/intrinsics/unchecked_shr.rs @@ -0,0 +1,8 @@ +#![feature(unchecked_math)] + +fn main() { + unsafe { + let _n = 1i64.unchecked_shr(64); + //~^ ERROR: overflowing shift by 64 in `unchecked_shr` + } +} diff --git a/src/tools/miri/tests/fail/intrinsics/unchecked_shr.stderr b/src/tools/miri/tests/fail/intrinsics/unchecked_shr.stderr new file mode 100644 index 00000000000..378ff9734c1 --- /dev/null +++ b/src/tools/miri/tests/fail/intrinsics/unchecked_shr.stderr @@ -0,0 +1,15 @@ +error: Undefined Behavior: overflowing shift by 64 in `unchecked_shr` + --> $DIR/unchecked_shr.rs:LL:CC + | +LL | let _n = 1i64.unchecked_shr(64); + | ^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by 64 in `unchecked_shr` + | + = 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 + = note: BACKTRACE: + = note: inside `main` at $DIR/unchecked_shr.rs:LL:CC + +note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace + +error: aborting due to previous error + -- cgit 1.4.1-3-g733a5