]> git.lizzy.rs Git - rust.git/blob - example/mod_bench.rs
Rollup merge of #95461 - nyurik:spelling, r=lcnr
[rust.git] / example / mod_bench.rs
1 #![feature(start, box_syntax, core_intrinsics, lang_items)]
2 #![no_std]
3
4 #[link(name = "c")]
5 extern {}
6
7 #[panic_handler]
8 fn panic_handler(_: &core::panic::PanicInfo) -> ! {
9     unsafe {
10         core::intrinsics::abort();
11     }
12 }
13
14 #[lang="eh_personality"]
15 fn eh_personality(){}
16
17 // Required for rustc_codegen_llvm
18 #[no_mangle]
19 unsafe extern "C" fn _Unwind_Resume() {
20     core::intrinsics::unreachable();
21 }
22
23 #[start]
24 fn main(_argc: isize, _argv: *const *const u8) -> isize {
25     for i in 2..100_000_000 {
26         black_box((i + 1) % i);
27     }
28
29     0
30 }
31
32 #[inline(never)]
33 fn black_box(i: u32) {
34     if i != 1 {
35         unsafe { core::intrinsics::abort(); }
36     }
37 }