about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2018-01-01 17:53:47 -0800
committerAlex Crichton <alex@alexcrichton.com>2018-01-04 07:21:22 -0800
commit53fd0c50d847edb30c5673d7c4625ad8ee82db8f (patch)
tree3e3946aefa4fd769d48a6145f071387781b5e280
parentb65f0bedd2f22d9661ecb7092f07746dc2ccfb0d (diff)
downloadrust-53fd0c50d847edb30c5673d7c4625ad8ee82db8f.tar.gz
rust-53fd0c50d847edb30c5673d7c4625ad8ee82db8f.zip
Bump to 1.25.0
* Bump the release version to 1.25
* Bump the bootstrap compiler to the recent beta
* Allow using unstable rustdoc features on beta - this fix has been applied to
  the beta branch but needed to go to the master branch as well.
-rw-r--r--src/bootstrap/builder.rs3
-rw-r--r--src/bootstrap/channel.rs2
-rw-r--r--src/bootstrap/util.rs2
-rw-r--r--src/ci/docker/x86_64-gnu-incremental/Dockerfile1
-rw-r--r--src/libcore/intrinsics.rs1
-rw-r--r--src/libstd/rt.rs49
-rw-r--r--src/libstd/termination.rs2
-rw-r--r--src/stage0.txt2
8 files changed, 9 insertions, 53 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index bdc00295a20..16de31406f8 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
@@ -419,7 +419,8 @@ impl<'a> Builder<'a> {
            .env("RUSTC_LIBDIR", self.sysroot_libdir(compiler, self.build.build))
            .env("CFG_RELEASE_CHANNEL", &self.build.config.channel)
            .env("RUSTDOC_REAL", self.rustdoc(host))
-           .env("RUSTDOC_CRATE_VERSION", self.build.rust_version());
+           .env("RUSTDOC_CRATE_VERSION", self.build.rust_version())
+           .env("RUSTC_BOOTSTRAP", "1");
         if let Some(linker) = self.build.linker(host) {
             cmd.env("RUSTC_TARGET_LINKER", linker);
         }
diff --git a/src/bootstrap/channel.rs b/src/bootstrap/channel.rs
index 0485ebe17fb..4e3f3a00b15 100644
--- a/src/bootstrap/channel.rs
+++ b/src/bootstrap/channel.rs
@@ -24,7 +24,7 @@ use Build;
 use config::Config;
 
 // The version number
-pub const CFG_RELEASE_NUM: &str = "1.24.0";
+pub const CFG_RELEASE_NUM: &str = "1.25.0";
 
 // An optional number to put after the label, e.g. '.2' -> '-beta.2'
 // Be sure to make this starts with a dot to conform to semver pre-release
diff --git a/src/bootstrap/util.rs b/src/bootstrap/util.rs
index 874065f21d0..07941e58838 100644
--- a/src/bootstrap/util.rs
+++ b/src/bootstrap/util.rs
@@ -315,7 +315,7 @@ pub fn symlink_dir(src: &Path, dest: &Path) -> io::Result<()> {
             let mut data = [0u8; MAXIMUM_REPARSE_DATA_BUFFER_SIZE];
             let db = data.as_mut_ptr()
                             as *mut REPARSE_MOUNTPOINT_DATA_BUFFER;
-            let buf = &mut (*db).ReparseTarget as *mut _;
+            let buf = &mut (*db).ReparseTarget as *mut u16;
             let mut i = 0;
             // FIXME: this conversion is very hacky
             let v = br"\??\";
diff --git a/src/ci/docker/x86_64-gnu-incremental/Dockerfile b/src/ci/docker/x86_64-gnu-incremental/Dockerfile
index d323677698c..7304ed6015c 100644
--- a/src/ci/docker/x86_64-gnu-incremental/Dockerfile
+++ b/src/ci/docker/x86_64-gnu-incremental/Dockerfile
@@ -19,3 +19,4 @@ RUN sh /scripts/sccache.sh
 ENV RUST_CONFIGURE_ARGS --build=x86_64-unknown-linux-gnu
 ENV RUSTFLAGS -Zincremental=/tmp/rust-incr-cache
 ENV RUST_CHECK_TARGET check
+ENV CARGO_INCREMENTAL 0
diff --git a/src/libcore/intrinsics.rs b/src/libcore/intrinsics.rs
index f1e51e995c2..a611dc02469 100644
--- a/src/libcore/intrinsics.rs
+++ b/src/libcore/intrinsics.rs
@@ -1390,6 +1390,5 @@ extern "rust-intrinsic" {
 
     /// Emits a `!nontemporal` store according to LLVM (see their docs).
     /// Probably will never become stable.
-    #[cfg(not(stage0))]
     pub fn nontemporal_store<T>(ptr: *mut T, val: T);
 }
diff --git a/src/libstd/rt.rs b/src/libstd/rt.rs
index 921fbec3da3..af414d25b5f 100644
--- a/src/libstd/rt.rs
+++ b/src/libstd/rt.rs
@@ -28,7 +28,7 @@ pub use panicking::{begin_panic, begin_panic_fmt, update_panic_count};
 
 // To reduce the generated code of the new `lang_start`, this function is doing
 // the real work.
-#[cfg(not(any(test, stage0)))]
+#[cfg(not(test))]
 fn lang_start_internal(main: &(Fn() -> i32 + Sync + ::panic::RefUnwindSafe),
                        argc: isize, argv: *const *const u8) -> isize {
     use panic;
@@ -66,55 +66,10 @@ fn lang_start_internal(main: &(Fn() -> i32 + Sync + ::panic::RefUnwindSafe),
     }
 }
 
-#[cfg(not(any(test, stage0)))]
+#[cfg(not(test))]
 #[lang = "start"]
 fn lang_start<T: ::termination::Termination + 'static>
     (main: fn() -> T, argc: isize, argv: *const *const u8) -> isize
 {
     lang_start_internal(&move || main().report(), argc, argv)
 }
-
-#[cfg(all(not(test), stage0))]
-#[lang = "start"]
-fn lang_start(main: fn(), argc: isize, argv: *const *const u8) -> isize {
-    use panic;
-    use sys;
-    use sys_common;
-    use sys_common::thread_info;
-    use thread::Thread;
-    #[cfg(not(feature = "backtrace"))]
-    use mem;
-
-    sys::init();
-
-    let failed = unsafe {
-        let main_guard = sys::thread::guard::init();
-        sys::stack_overflow::init();
-
-        // Next, set up the current Thread with the guard information we just
-        // created. Note that this isn't necessary in general for new threads,
-        // but we just do this to name the main thread and to give it correct
-        // info about the stack bounds.
-        let thread = Thread::new(Some("main".to_owned()));
-        thread_info::set(main_guard, thread);
-
-        // Store our args if necessary in a squirreled away location
-        sys::args::init(argc, argv);
-
-        // Let's run some code!
-        #[cfg(feature = "backtrace")]
-        let res = panic::catch_unwind(|| {
-            ::sys_common::backtrace::__rust_begin_short_backtrace(main)
-        });
-        #[cfg(not(feature = "backtrace"))]
-        let res = panic::catch_unwind(mem::transmute::<_, fn()>(main));
-        sys_common::cleanup();
-        res.is_err()
-    };
-
-    if failed {
-        101
-    } else {
-        0
-    }
-}
diff --git a/src/libstd/termination.rs b/src/libstd/termination.rs
index 61137ba4922..93a913bb540 100644
--- a/src/libstd/termination.rs
+++ b/src/libstd/termination.rs
@@ -29,7 +29,7 @@ mod exit {
 ///
 /// The default implementations are returning `libc::EXIT_SUCCESS` to indicate
 /// a successful execution. In case of a failure, `libc::EXIT_FAILURE` is returned.
-#[cfg_attr(not(any(stage0, test)), lang = "termination")]
+#[cfg_attr(not(test), lang = "termination")]
 #[unstable(feature = "termination_trait", issue = "43301")]
 #[rustc_on_unimplemented =
   "`main` can only return types that implement {Termination}, not `{Self}`"]
diff --git a/src/stage0.txt b/src/stage0.txt
index eb0bedf64b2..38a8ef2acd2 100644
--- a/src/stage0.txt
+++ b/src/stage0.txt
@@ -12,7 +12,7 @@
 # source tarball for a stable release you'll likely see `1.x.0` for rustc and
 # `0.x.0` for Cargo where they were released on `date`.
 
-date: 2017-11-21
+date: 2018-01-02
 rustc: beta
 cargo: beta