Build rustdoc with the stageN compiler in N >= 2.

This permits proc macro crates to correctly work with rustdoc.
This commit is contained in:
Mark Simulacrum 2017-08-03 19:08:20 -06:00
parent 83b68125e7
commit ad4acbaadf
1 changed files with 4 additions and 0 deletions

View File

@ -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