Merge commit 'db1a31c243
' into subtree-update_cg_gcc_2025-04-18
This commit is contained in:
commit
e4ea67b3d7
52 changed files with 959 additions and 1241 deletions
|
@ -9,55 +9,38 @@
|
|||
// Both args: 11
|
||||
|
||||
#![feature(no_core)]
|
||||
|
||||
#![no_std]
|
||||
#![no_core]
|
||||
#![no_main]
|
||||
|
||||
extern crate mini_core;
|
||||
|
||||
mod libc {
|
||||
#[link(name = "c")]
|
||||
extern "C" {
|
||||
pub fn printf(format: *const i8, ...) -> i32;
|
||||
}
|
||||
}
|
||||
use mini_core::*;
|
||||
|
||||
#[no_mangle]
|
||||
extern "C" fn main(argc: i32, _argv: *const *const u8) -> i32 {
|
||||
extern "C" fn main(argc: isize, _argv: *const *const u8) -> i32 {
|
||||
let string = "Arg: %d\n\0";
|
||||
let mut closure = || {
|
||||
unsafe {
|
||||
libc::printf(string as *const str as *const i8, argc);
|
||||
}
|
||||
let mut closure = || unsafe {
|
||||
libc::printf(string as *const str as *const i8, argc);
|
||||
};
|
||||
closure();
|
||||
|
||||
let mut closure = || {
|
||||
unsafe {
|
||||
libc::printf("Argument: %d\n\0" as *const str as *const i8, argc);
|
||||
}
|
||||
let mut closure = || unsafe {
|
||||
libc::printf("Argument: %d\n\0" as *const str as *const i8, argc);
|
||||
};
|
||||
closure();
|
||||
|
||||
let mut closure = |string| {
|
||||
unsafe {
|
||||
libc::printf(string as *const str as *const i8, argc);
|
||||
}
|
||||
let mut closure = |string| unsafe {
|
||||
libc::printf(string as *const str as *const i8, argc);
|
||||
};
|
||||
closure("String arg: %d\n\0");
|
||||
|
||||
let mut closure = |arg: isize| {
|
||||
unsafe {
|
||||
libc::printf("Int argument: %d\n\0" as *const str as *const i8, arg);
|
||||
}
|
||||
let mut closure = |arg: isize| unsafe {
|
||||
libc::printf("Int argument: %d\n\0" as *const str as *const i8, arg);
|
||||
};
|
||||
closure(argc + 1);
|
||||
|
||||
let mut closure = |string, arg: isize| {
|
||||
unsafe {
|
||||
libc::printf(string as *const str as *const i8, arg);
|
||||
}
|
||||
let mut closure = |string, arg: isize| unsafe {
|
||||
libc::printf(string as *const str as *const i8, arg);
|
||||
};
|
||||
closure("Both args: %d\n\0", argc + 10);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue