| // | |
| //@ ignore-windows | |
| //@ ignore-apple | |
| //@ ignore-wasm | |
| //@ ignore-emscripten | |
| //@ compile-flags: -g -C no-prepopulate-passes -Cpanic=abort | |
| #![feature(lang_items)] | |
| #![no_std] | |
| #[panic_handler] | |
| fn panic_handler(_: &core::panic::PanicInfo) -> ! { | |
| loop {} | |
| } | |
| #[no_mangle] | |
| extern "C" fn rust_eh_personality() { | |
| loop {} | |
| } | |
| // Needs rustc to generate `main` as that's where the magic load is inserted. | |
| // IOW, we cannot write this test with `#![no_main]`. | |
| // CHECK-LABEL: @main | |
| // CHECK: load volatile i8, {{.+}} @__rustc_debug_gdb_scripts_section__ | |
| #[lang = "start"] | |
| fn lang_start<T: 'static>( | |
| _main: fn() -> T, | |
| _argc: isize, | |
| _argv: *const *const u8, | |
| _sigpipe: u8, | |
| ) -> isize { | |
| return 0; | |
| } | |
| fn main() {} |