diff --git a/src/test/codegen/slice-position-bounds-check.rs b/src/test/codegen/slice-position-bounds-check.rs index aae81ae8492..a6c846d7dab 100644 --- a/src/test/codegen/slice-position-bounds-check.rs +++ b/src/test/codegen/slice-position-bounds-check.rs @@ -9,7 +9,7 @@ // except according to those terms. // no-system-llvm -// compile-flags: -O +// compile-flags: -O -C panic=abort #![crate_type = "lib"] fn search(arr: &mut [T], a: &T) -> Result { @@ -25,7 +25,7 @@ fn search(arr: &mut [T], a: &T) -> Result { #[no_mangle] pub fn position_no_bounds_check(y: &mut [u32], x: &u32, z: &u32) -> bool { // This contains "call assume" so we cannot just rule out all calls - // CHECK-NOT: panic + // CHECK-NOT: panic_bounds_check if let Ok(p) = search(y, x) { y[p] == *z } else { @@ -33,10 +33,10 @@ pub fn position_no_bounds_check(y: &mut [u32], x: &u32, z: &u32) -> bool { } } -// just to make sure that panicking really emits "panic" somewhere in the IR +// just to make sure that panicking really emits "panic_bounds_check" somewhere in the IR // CHECK-LABEL: @test_check #[no_mangle] -pub fn test_check() { - // CHECK: panic - unreachable!() +pub fn test_check(y: &[i32]) -> i32 { + // CHECK: panic_bounds_check + y[12] }