diff --git a/compiler/rustc_codegen_ssa/src/base.rs b/compiler/rustc_codegen_ssa/src/base.rs index d11f1534153ad..b97cdb53fe450 100644 --- a/compiler/rustc_codegen_ssa/src/base.rs +++ b/compiler/rustc_codegen_ssa/src/base.rs @@ -451,12 +451,12 @@ pub fn maybe_create_entry_wrapper<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>>( .unwrap() .unwrap(), ); - let start_ty = cx.type_func(&[cx.val_ty(rust_main), isize_ty, i8pp_ty], isize_ty); - (start_fn, start_ty, vec![rust_main, arg_argc, arg_argv]) + let start_ty = cx.type_func(&[cx.val_ty(rust_main), i8pp_ty, isize_ty], isize_ty); + (start_fn, start_ty, vec![rust_main, arg_argv, arg_argc]) } else { debug!("using user-defined start fn"); - let start_ty = cx.type_func(&[isize_ty, i8pp_ty], isize_ty); - (rust_main, start_ty, vec![arg_argc, arg_argv]) + let start_ty = cx.type_func(&[i8pp_ty, isize_ty], isize_ty); + (rust_main, start_ty, vec![arg_argv, arg_argc]) }; let result = bx.call(start_ty, start_fn, &args, None); diff --git a/library/std/src/rt.rs b/library/std/src/rt.rs index 663537a05fa32..f184bc0e31490 100644 --- a/library/std/src/rt.rs +++ b/library/std/src/rt.rs @@ -138,8 +138,8 @@ fn lang_start_internal( #[lang = "start"] fn lang_start( main: fn() -> T, - argc: isize, argv: *const *const u8, + argc: isize, ) -> isize { let Ok(v) = lang_start_internal( &move || crate::sys_common::backtrace::__rust_begin_short_backtrace(main).report().to_i32(),