From 861d007da39418cc145a054cd46c89664ba72e64 Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Wed, 6 Feb 2019 11:37:43 +0100 Subject: [PATCH] Never build rustdoc in stage 0 When a request for rustdoc is passed for stage 0, x.py build --stage 0 src/tools/rustdoc or ensure(tool::Rustdoc { .. }) with top_stage = 0, we return the rustdoc for that compiler (i.e., the beta rustdoc). --- src/bootstrap/tool.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs index cd3afc59e560..45bf26f687a4 100644 --- a/src/bootstrap/tool.rs +++ b/src/bootstrap/tool.rs @@ -418,6 +418,12 @@ impl Step for Rustdoc { fn run(self, builder: &Builder) -> PathBuf { let target_compiler = builder.compiler(builder.top_stage, self.host); + if target_compiler.stage == 0 { + if !target_compiler.is_snapshot(builder) { + panic!("rustdoc in stage 0 must be snapshot rustdoc"); + } + return builder.initial_rustc.with_file_name(exe("rustdoc", &target_compiler.host)); + } let target = target_compiler.host; let build_compiler = if target_compiler.stage == 0 { builder.compiler(0, builder.config.build)