diff options
Diffstat (limited to 'tests/ui/codegen/i128-shift-overflow-check-76042.rs')
| -rw-r--r-- | tests/ui/codegen/i128-shift-overflow-check-76042.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/codegen/i128-shift-overflow-check-76042.rs b/tests/ui/codegen/i128-shift-overflow-check-76042.rs new file mode 100644 index 00000000000..7ae0806216c --- /dev/null +++ b/tests/ui/codegen/i128-shift-overflow-check-76042.rs @@ -0,0 +1,17 @@ +// https://github.com/rust-lang/rust/issues/76042 +//@ run-pass +//@ compile-flags: -Coverflow-checks=off -Ccodegen-units=1 -Copt-level=0 + +fn foo(a: i128, b: i128, s: u32) -> (i128, i128) { + if s == 128 { + (0, 0) + } else { + (b >> s, a >> s) + } +} +fn main() { + let r = foo(0, 8, 1); + if r.0 != 4 { + panic!(); + } +} |
