about summary refs log tree commit diff
path: root/tests/ui/codegen/i128-shift-overflow-check-76042.rs
diff options
context:
space:
mode:
authorOneirical <manchot@videotron.ca>2025-07-13 16:56:31 -0400
committerOneirical <manchot@videotron.ca>2025-08-17 13:01:02 -0400
commit75e0263af9ca27eac2c922538582deec764d1e7b (patch)
treebc8584c15f51966d5ddee98a6782785d5c158fe0 /tests/ui/codegen/i128-shift-overflow-check-76042.rs
parent2e2642e641a941f0a1400c7827fd89aa86fef8f4 (diff)
downloadrust-75e0263af9ca27eac2c922538582deec764d1e7b.tar.gz
rust-75e0263af9ca27eac2c922538582deec764d1e7b.zip
Rehome tests/ui/issues/ tests [5/?]
Diffstat (limited to 'tests/ui/codegen/i128-shift-overflow-check-76042.rs')
-rw-r--r--tests/ui/codegen/i128-shift-overflow-check-76042.rs17
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!();
+    }
+}