diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2013-09-18 00:54:08 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2013-09-18 00:57:48 -0400 |
| commit | c0cc37b96398aa21ca6f718cbe7170210ea337d9 (patch) | |
| tree | 247d15e0ac631c1a064a9fdd51f48158efd7103f /src | |
| parent | 4dc3a97698d393e16c9519a9f42bb72de167a217 (diff) | |
| download | rust-c0cc37b96398aa21ca6f718cbe7170210ea337d9.tar.gz rust-c0cc37b96398aa21ca6f718cbe7170210ea337d9.zip | |
remove useless `rust_main` wrapper
the real entry point will now pass the user's main function directly to the scheduler
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/middle/trans/base.rs | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/src/librustc/middle/trans/base.rs b/src/librustc/middle/trans/base.rs index 6f70d2e601d..3f25e9f7bb7 100644 --- a/src/librustc/middle/trans/base.rs +++ b/src/librustc/middle/trans/base.rs @@ -2388,38 +2388,12 @@ pub fn create_entry_wrapper(ccx: @mut CrateContext, let et = ccx.sess.entry_type.unwrap(); match et { session::EntryMain => { - let llfn = create_main(ccx, main_llfn); - create_entry_fn(ccx, llfn, true); + create_entry_fn(ccx, main_llfn, true); } session::EntryStart => create_entry_fn(ccx, main_llfn, false), session::EntryNone => {} // Do nothing. } - fn create_main(ccx: @mut CrateContext, main_llfn: ValueRef) -> ValueRef { - let nt = ty::mk_nil(); - let llfty = type_of_rust_fn(ccx, [], nt); - let llfdecl = decl_fn(ccx.llmod, "_rust_main", - lib::llvm::CCallConv, llfty); - - let fcx = new_fn_ctxt(ccx, ~[], llfdecl, nt, None); - - // the args vector built in create_entry_fn will need - // be updated if this assertion starts to fail. - assert!(!fcx.caller_expects_out_pointer); - - let bcx = fcx.entry_bcx.unwrap(); - // Call main. - let llenvarg = unsafe { - let env_arg = fcx.env_arg_pos(); - llvm::LLVMGetParam(llfdecl, env_arg as c_uint) - }; - let args = ~[llenvarg]; - Call(bcx, main_llfn, args, []); - - finish_fn(fcx, bcx); - return llfdecl; - } - fn create_entry_fn(ccx: @mut CrateContext, rust_main: ValueRef, use_start_lang_item: bool) { |
