about summary refs log tree commit diff
path: root/src/bootstrap
diff options
context:
space:
mode:
authorMark Simulacrum <mark.simulacrum@gmail.com>2017-08-03 19:08:20 -0600
committerMark Simulacrum <mark.simulacrum@gmail.com>2017-08-13 05:15:43 +0500
commitad4acbaadf7d093f157e4499b2aedda9d91ec03b (patch)
tree83676887ad3926e85d3f8c8b3606ecd3e6f3b8f0 /src/bootstrap
parent83b68125e70b2b966439db748a79d36afd274bf3 (diff)
downloadrust-ad4acbaadf7d093f157e4499b2aedda9d91ec03b.tar.gz
rust-ad4acbaadf7d093f157e4499b2aedda9d91ec03b.zip
Build rustdoc with the stageN compiler in N >= 2.
This permits proc macro crates to correctly work with rustdoc.
Diffstat (limited to 'src/bootstrap')
-rw-r--r--src/bootstrap/tool.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
index 3043c95b5f0..e5783e346f4 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