rust/tests/run-make/intrinsic-unreachable/exit-unreachable.rs
Nicholas Nethercote 3079bd96b9 Run rustfmt on tests/run-make/.
With the exception of `tests/run-make/translation/test.rs`, which has a
syntax error.

The expected output in `rustdoc-error-lines/rmake.rs`'s required slight
tweaking.

The two `reproducible-build.rs` files need `// ignore-tidy-linelength`
because rustfmt produces lines longer than 100 chars, which tidy doesn't
like, yuk.
2024-05-31 21:30:08 +10:00

20 lines
498 B
Rust

#![feature(core_intrinsics)]
#![crate_type = "lib"]
use std::arch::asm;
use std::intrinsics;
#[allow(unreachable_code)]
#[inline(never)]
pub fn exit(n: usize) -> i32 {
unsafe {
// Pretend this asm is an exit() syscall.
asm!("/*{0}*/", in(reg) n);
intrinsics::unreachable()
}
// This return value is just here to generate some extra code for a return
// value, making it easier for the test script to detect whether the
// compiler deleted it.
42
}