]> git.proxmox.com Git - rustc.git/blob - compiler/rustc_codegen_gcc/tests/run/abort2.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / compiler / rustc_codegen_gcc / tests / run / abort2.rs
1 // Compiler:
2 //
3 // Run-time:
4 // status: signal
5
6 #![feature(auto_traits, lang_items, no_core, start, intrinsics)]
7
8 #![no_std]
9 #![no_core]
10
11 /*
12 * Core
13 */
14
15 // Because we don't have core yet.
16 #[lang = "sized"]
17 pub trait Sized {}
18
19 #[lang = "copy"]
20 trait Copy {
21 }
22
23 impl Copy for isize {}
24
25 #[lang = "receiver"]
26 trait Receiver {
27 }
28
29 #[lang = "freeze"]
30 pub(crate) unsafe auto trait Freeze {}
31
32 mod intrinsics {
33 use super::Sized;
34
35 extern "rust-intrinsic" {
36 #[rustc_safe_intrinsic]
37 pub fn abort() -> !;
38 }
39 }
40
41 /*
42 * Code
43 */
44
45 fn fail() -> i32 {
46 unsafe { intrinsics::abort() };
47 0
48 }
49
50 #[start]
51 fn main(mut argc: isize, _argv: *const *const u8) -> isize {
52 fail();
53 0
54 }