]> git.lizzy.rs Git - rust.git/blobdiff - src/test/codegen/slice-position-bounds-check.rs
Rollup merge of #68984 - ecstatic-morse:const-u8-is-ascii, r=sfackler
[rust.git] / src / test / codegen / slice-position-bounds-check.rs
index aae81ae84922b096a8cfced8047dd42383f5d53f..b494f42b2965da25deb72f33619e2558e40e01f6 100644 (file)
@@ -1,15 +1,5 @@
-// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
 // no-system-llvm
-// compile-flags: -O
+// compile-flags: -O -C panic=abort
 #![crate_type = "lib"]
 
 fn search<T: Ord + Eq>(arr: &mut [T], a: &T) -> Result<usize, ()> {
@@ -25,7 +15,7 @@ fn search<T: Ord + Eq>(arr: &mut [T], a: &T) -> Result<usize, ()> {
 #[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 +23,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]
 }