From ad4acbaadf7d093f157e4499b2aedda9d91ec03b Mon Sep 17 00:00:00 2001 From: Mark Simulacrum Date: Thu, 3 Aug 2017 19:08:20 -0600 Subject: [PATCH] Build rustdoc with the stageN compiler in N >= 2. This permits proc macro crates to correctly work with rustdoc. --- src/bootstrap/tool.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs index 3043c95b5f07e..e5783e346f46d 100644 --- a/src/bootstrap/tool.rs +++ b/src/bootstrap/tool.rs @@ -260,6 +260,10 @@ impl Step for Rustdoc { let target = target_compiler.host; let build_compiler = if target_compiler.stage == 0 { builder.compiler(0, builder.build.build) + } else if target_compiler.stage >= 2 { + // Past stage 2, we consider the compiler to be ABI-compatible and hence capable of + // building rustdoc itself. + target_compiler } else { // Similar to `compile::Assemble`, build with the previous stage's compiler. Otherwise // we'd have stageN/bin/rustc and stageN/bin/rustdoc be effectively different stage