2018-07-30 11:20:37 -05:00
|
|
|
// Adapted from https://github.com/sunfishcode/mir2cranelift/blob/master/rust-examples/nocore-hello-world.rs
|
|
|
|
|
2018-08-11 07:52:00 -05:00
|
|
|
#![feature(no_core, unboxed_closures, start, lang_items)]
|
2018-07-30 11:20:37 -05:00
|
|
|
#![no_core]
|
2018-08-11 07:52:00 -05:00
|
|
|
#![no_main]
|
2018-07-30 11:20:37 -05:00
|
|
|
#![allow(dead_code)]
|
|
|
|
|
|
|
|
extern crate mini_core;
|
|
|
|
|
|
|
|
use mini_core::*;
|
|
|
|
|
|
|
|
#[link(name = "c")]
|
|
|
|
extern "C" {}
|
|
|
|
|
|
|
|
extern "C" {
|
|
|
|
fn puts(s: *const u8);
|
|
|
|
}
|
|
|
|
|
2018-08-11 07:52:00 -05:00
|
|
|
#[lang = "start"]
|
|
|
|
fn start(_main: *const u8, i: isize, _: *const *const u8) -> isize {
|
2018-07-30 11:20:37 -05:00
|
|
|
unsafe {
|
|
|
|
let (ptr, _): (*const u8, usize) = intrinsics::transmute("Hello!\0");
|
|
|
|
puts(ptr);
|
|
|
|
}
|
2018-08-11 07:52:00 -05:00
|
|
|
42
|
2018-07-30 11:20:37 -05:00
|
|
|
}
|