Ideally, we would want to handle a broader set of cases to fully fix the underlying bug here. That is currently relatively expensive at compile and runtime, so we don't do that for now.
15 lines
229 B
Rust
15 lines
229 B
Rust
// compile-flags: -C opt-level=3
|
|
|
|
#![crate_type = "lib"]
|
|
|
|
// CHECK-LABEL: @check_loop
|
|
#[no_mangle]
|
|
pub fn check_loop() -> u8 {
|
|
// CHECK-NOT: unreachable
|
|
call_looper()
|
|
}
|
|
|
|
#[no_mangle]
|
|
fn call_looper() -> ! {
|
|
loop {}
|
|
}
|