diff options
| author | Ralf Jung <post@ralfj.de> | 2023-11-12 12:16:41 +0100 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2023-11-12 12:49:46 +0100 |
| commit | 31493c70fad547a4ba056aa2eddb6ec4d5255093 (patch) | |
| tree | 347e9117ea51263773fb99f7e51d9df23a9bcc52 /src/tools/miri/tests | |
| parent | a04d56b36d8f634abd7bdd64dd859a30655f1818 (diff) | |
| download | rust-31493c70fad547a4ba056aa2eddb6ec4d5255093.tar.gz rust-31493c70fad547a4ba056aa2eddb6ec4d5255093.zip | |
interpret: simplify handling of shifts by no longer trying to handle signed and unsigned shift amounts in the same branch
Diffstat (limited to 'src/tools/miri/tests')
| -rw-r--r-- | src/tools/miri/tests/fail/intrinsics/unchecked_shl2.rs | 9 | ||||
| -rw-r--r-- | src/tools/miri/tests/fail/intrinsics/unchecked_shl2.stderr | 15 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/tools/miri/tests/fail/intrinsics/unchecked_shl2.rs b/src/tools/miri/tests/fail/intrinsics/unchecked_shl2.rs new file mode 100644 index 00000000000..a5777ebbb7f --- /dev/null +++ b/src/tools/miri/tests/fail/intrinsics/unchecked_shl2.rs @@ -0,0 +1,9 @@ +#![feature(core_intrinsics)] +use std::intrinsics; + +fn main() { + unsafe { + let _n = intrinsics::unchecked_shl(1i8, -1); + //~^ ERROR: overflowing shift by -1 in `unchecked_shl` + } +} diff --git a/src/tools/miri/tests/fail/intrinsics/unchecked_shl2.stderr b/src/tools/miri/tests/fail/intrinsics/unchecked_shl2.stderr new file mode 100644 index 00000000000..ab27c9fe911 --- /dev/null +++ b/src/tools/miri/tests/fail/intrinsics/unchecked_shl2.stderr @@ -0,0 +1,15 @@ +error: Undefined Behavior: overflowing shift by -1 in `unchecked_shl` + --> $DIR/unchecked_shl2.rs:LL:CC + | +LL | let _n = intrinsics::unchecked_shl(1i8, -1); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflowing shift by -1 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_shl2.rs:LL:CC + +note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace + +error: aborting due to previous error + |
