]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_codegen_cranelift/example/mod_bench.rs
New upstream version 1.71.1+dfsg1
[rustc.git] / compiler / rustc_codegen_cranelift / example / mod_bench.rs
CommitLineData
94222f64 1#![feature(start, core_intrinsics, lang_items)]
29967ef6
XL
2#![no_std]
3
5869c6ff
XL
4#[cfg_attr(unix, link(name = "c"))]
5#[cfg_attr(target_env = "msvc", link(name = "msvcrt"))]
49aad941 6extern "C" {}
29967ef6
XL
7
8#[panic_handler]
49aad941 9fn panic_handler(_: &core::panic::PanicInfo<'_>) -> ! {
29967ef6
XL
10 core::intrinsics::abort();
11}
12
49aad941
FG
13#[lang = "eh_personality"]
14fn eh_personality() {}
29967ef6
XL
15
16// Required for rustc_codegen_llvm
17#[no_mangle]
18unsafe extern "C" fn _Unwind_Resume() {
19 core::intrinsics::unreachable();
20}
21
22#[start]
23fn main(_argc: isize, _argv: *const *const u8) -> isize {
24 for i in 2..10_000_000 {
25 black_box((i + 1) % i);
26 }
27
28 0
29}
30
31#[inline(never)]
32fn black_box(i: u32) {
33 if i != 1 {
34 core::intrinsics::abort();
35 }
36}