about summary refs log tree commit diff
path: root/src/bootstrap
diff options
context:
space:
mode:
authorkennytm <kennytm@gmail.com>2018-08-04 14:35:51 +0800
committerGitHub <noreply@github.com>2018-08-04 14:35:51 +0800
commita3653828265ee42d8db52056211ffc375017cf99 (patch)
treee85639df63487609aa2ee91ce490fe34c29297d0 /src/bootstrap
parente82dab7c0eba73ce701e810748bce03502f2c4cb (diff)
parent66a47182d10542b68773d8a1cb9230a4918a5068 (diff)
downloadrust-a3653828265ee42d8db52056211ffc375017cf99.tar.gz
rust-a3653828265ee42d8db52056211ffc375017cf99.zip
Rollup merge of #52969 - Keruspe:local_rebuild, r=alexcrichton
rustbuild: fix local_rebuild

If we detect a local rebuild (e.g. bootstrap compiler is the same version as target compiler), we set stage to 1.
When trying to build e.g. UnstableBook, we use Mode::ToolBootstrap and stage is 1.
Just allow Mode::ToolBootstrap and stagge != 0 if we are in a local_rebuild

This fixes building current master using current beta (as master hasn't yet been bumped to 1.30).
This should be backported to beta too, as currently we cannot build beta using itself because of that.

r? @alexcrichton
Diffstat (limited to 'src/bootstrap')
-rw-r--r--src/bootstrap/builder.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
index 724d3b74190..dc0b0aaf0bb 100644
--- a/src/bootstrap/builder.rs
+++ b/src/bootstrap/builder.rs
@@ -777,7 +777,7 @@ impl<'a> Builder<'a> {
         // compiler, but for tools we just use the precompiled libraries that
         // we've downloaded
         let use_snapshot = mode == Mode::ToolBootstrap;
-        assert!(!use_snapshot || stage == 0);
+        assert!(!use_snapshot || stage == 0 || self.local_rebuild);
 
         let maybe_sysroot = self.sysroot(compiler);
         let sysroot = if use_snapshot {