2 // revisions: missing_all_args missing_sigpipe_arg missing_ret start_ret too_many_args
3 // revisions: main_ty main_args main_ret argc argv_inner_ptr argv sigpipe
5 #![feature(lang_items, no_core)]
13 #[cfg(missing_all_args)]
15 fn start<T>() -> isize {
16 //[missing_all_args]~^ ERROR incorrect number of parameters
20 #[cfg(missing_sigpipe_arg)]
22 fn start<T>(_main: fn() -> T, _argc: isize, _argv: *const *const u8) -> isize {
23 //[missing_sigpipe_arg]~^ ERROR incorrect number of parameters
29 fn start<T>(_main: fn() -> T, _argc: isize, _argv: *const *const u8, _sigpipe: u8) {}
30 //[missing_ret]~^ ERROR the return type of the `start` lang item is incorrect
34 fn start<T>(_main: fn() -> T, _argc: isize, _argv: *const *const u8, _sigpipe: u8) -> u8 {
35 //[start_ret]~^ ERROR the return type of the `start` lang item is incorrect
42 //[too_many_args]~^ ERROR incorrect number of parameters
45 _argv: *const *const u8,
54 fn start<T>(_main: u64, _argc: isize, _argv: *const *const u8, _sigpipe: u8) -> isize {
55 //[main_ty]~^ ERROR parameter 1 of the `start` lang item is incorrect
61 fn start<T>(_main: fn(i32) -> T, _argc: isize, _argv: *const *const u8, _sigpipe: u8) -> isize {
62 //[main_args]~^ ERROR parameter 1 of the `start` lang item is incorrect
68 fn start<T>(_main: fn() -> u16, _argc: isize, _argv: *const *const u8, _sigpipe: u8) -> isize {
69 //[main_ret]~^ ERROR parameter 1 of the `start` lang item is incorrect
75 fn start<T>(_main: fn() -> T, _argc: i8, _argv: *const *const u8, _sigpipe: u8) -> isize {
76 //[argc]~^ ERROR parameter 2 of the `start` lang item is incorrect
80 #[cfg(argv_inner_ptr)]
82 fn start<T>(_main: fn() -> T, _argc: isize, _argv: *const *const usize, _sigpipe: u8) -> isize {
83 //[argv_inner_ptr]~^ ERROR parameter 3 of the `start` lang item is incorrect
89 fn start<T>(_main: fn() -> T, _argc: isize, _argv: u8, _sigpipe: u8) -> isize {
90 //[argv]~^ ERROR parameter 3 of the `start` lang item is incorrect
96 fn start<T>(_main: fn() -> T, _argc: isize, _argv: *const *const u8, _sigpipe: i64) -> isize {
97 //[sigpipe]~^ ERROR parameter 4 of the `start` lang item is incorrect