You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rollup merge of #146929 - Zalathar:capture, r=Kobzol,jieyouxu
compiletest: Remove old-output-capture and become a stage0 bootstrap tool
The new compiletest output-capture system became the default in #146574, and no problems have been reported since.
This PR therefore removes the old output-capture implementation from compiletest, and adjusts bootstrap to always build and test compiletest as a stage0 bootstrap tool.
In other words, compiletest no longer relies on any unstable features (such as `libtest` or `internal_output_capture`), and is now written entirely in stable Rust!
The compiletest self-tests still need access to an in-tree rustc, in order to obtain information via `rustc --print`, so we interpret `--stage` as indicating the stage of that secondary compiler, but always use the stage0 compiler to build compiletest itself.
r? Kobzol
@@ -786,26 +786,26 @@ impl Step for CompiletestTest {
786
786
fnrun(self,builder:&Builder<'_>){
787
787
let host = self.host;
788
788
789
+
// Now that compiletest uses only stable Rust, building it always uses
790
+
// the stage 0 compiler. However, some of its unit tests need to be able
791
+
// to query information from an in-tree compiler, so we treat `--stage`
792
+
// as selecting the stage of that secondary compiler.
793
+
789
794
if builder.top_stage == 0 && !builder.config.compiletest_allow_stage0{
790
795
eprintln!("\
791
-
ERROR: `--stage 0` runs compiletest self-tests against the stage0 (precompiled) compiler, not the in-tree compiler, and will almost always cause tests to fail
796
+
ERROR: `--stage 0` causes compiletest to query information from the stage0 (precompiled) compiler, instead of the in-tree compiler, which can cause some tests to fail inappropriately
792
797
NOTE: if you're sure you want to do this, please open an issue as to why. In the meantime, you can override this with `--set build.compiletest-allow-stage0=true`."
summary:"New option `build.windows-rc` that will override which resource compiler on Windows will be used to compile Rust.",
558
558
},
559
559
ChangeInfo{
560
-
change_id:99999,
560
+
change_id:147046,
561
561
severity:ChangeSeverity::Warning,
562
562
summary:"The `rust.use-lld` option has been renamed to `rust.bootstrap-override-lld`. Note that it only serves for overriding the linker used when building Rust code in bootstrap to be LLD.",
563
563
},
564
+
ChangeInfo{
565
+
change_id:146929,
566
+
severity:ChangeSeverity::Info,
567
+
summary:"`compiletest` is now always built with the stage 0 compiler, so `build.compiletest-use-stage0-libtest` has no effect.",
0 commit comments