about summary refs log tree commit diff
path: root/src/libstd/unstable
diff options
context:
space:
mode:
authorLuqman Aden <laden@csclub.uwaterloo.ca>2013-09-18 04:58:52 -0400
committerLuqman Aden <laden@csclub.uwaterloo.ca>2013-09-18 16:51:27 -0400
commit9621156fc3814edaef6acafc06827e5aa87c9bdd (patch)
tree9acfbcc61bc1bf5e51d9391c72eab32825c41b0b /src/libstd/unstable
parentd2b0b11aebfe3167bf41f7c6c31cf7b1e396efe7 (diff)
downloadrust-9621156fc3814edaef6acafc06827e5aa87c9bdd.tar.gz
rust-9621156fc3814edaef6acafc06827e5aa87c9bdd.zip
librustc/libstd: No longer pass crate_map to start.
Diffstat (limited to 'src/libstd/unstable')
-rw-r--r--src/libstd/unstable/lang.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libstd/unstable/lang.rs b/src/libstd/unstable/lang.rs
index 1d839b55195..baa70551489 100644
--- a/src/libstd/unstable/lang.rs
+++ b/src/libstd/unstable/lang.rs
@@ -93,6 +93,7 @@ pub unsafe fn check_not_borrowed(a: *u8,
     borrowck::check_not_borrowed(a, file, line)
 }
 
+#[cfg(stage0)]
 #[lang="start"]
 pub fn start(main: *u8, argc: int, argv: **c_char,
              crate_map: *u8) -> int {
@@ -105,3 +106,16 @@ pub fn start(main: *u8, argc: int, argv: **c_char,
         };
     }
 }
+
+#[cfg(not(stage0))]
+#[lang="start"]
+pub fn start(main: *u8, argc: int, argv: **c_char) -> int {
+    use rt;
+
+    unsafe {
+        return do rt::start(argc, argv as **u8) {
+            let main: extern "Rust" fn() = transmute(main);
+            main();
+        };
+    }
+}