]> git.lizzy.rs Git - rust.git/blob - tests/codegen/issue-34634.rs
Rollup merge of #106477 - Nathan-Fenner:nathanf/refined-error-span-trait-impl, r...
[rust.git] / tests / codegen / issue-34634.rs
1 // Test that `wrapping_div` only checks divisor once.
2 // This test checks that there is only a single compare against -1 and -1 is not present as a
3 // switch case (the second check present until rustc 1.12).
4 // This test also verifies that a single panic call is generated (for the division by zero case).
5
6 // compile-flags: -O
7 #![crate_type = "lib"]
8
9 // CHECK-LABEL: @f
10 #[no_mangle]
11 pub fn f(x: i32, y: i32) -> i32 {
12     // CHECK-COUNT-1: icmp eq i32 %y, -1
13     // CHECK-COUNT-1: panic
14     // CHECK-NOT: i32 -1, label
15     x.wrapping_div(y)
16 }