about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-10-28 01:04:35 +0000
committerbors <bors@rust-lang.org>2023-10-28 01:04:35 +0000
commitc6eb61a97f67691dd275609bbb0dbbe7d9d9f6e8 (patch)
treec5d814d338e41d3dac2efb8077270ef1b9579ab8
parent6f349cdbfaf75e12ed3c307721da34a400d31b7c (diff)
parent36c3f90173f404b84174a19ba76a33dbfd6ad985 (diff)
downloadrust-c6eb61a97f67691dd275609bbb0dbbe7d9d9f6e8.tar.gz
rust-c6eb61a97f67691dd275609bbb0dbbe7d9d9f6e8.zip
Auto merge of #117197 - Zalathar:demangler, r=onur-ozkan
Avoid unnecessary builds/rebuilds of `rust-demangler`

This is a combination of two loosely-related changes:

- Don't build `rust-demangler` as a dependency of `tests/run-make`, because after #112300 none of the remaining run-make tests actually use it. (If future run-make tests ever do need the demangler, it'll be easy to add it back.)
- For `tests/run-coverage`, build the demangler with the stage 0 compiler instead of the current-stage compiler. This avoids having to uselessly rebuild the demangler after modifying and rebuilding the compiler itself.
-rw-r--r--src/bootstrap/src/core/build_steps/test.rs6
-rw-r--r--src/tools/compiletest/src/runtest.rs4
2 files changed, 4 insertions, 6 deletions
diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs
index fda06aef10c..7fb67eea551 100644
--- a/src/bootstrap/src/core/build_steps/test.rs
+++ b/src/bootstrap/src/core/build_steps/test.rs
@@ -1567,10 +1567,12 @@ note: if you're sure you want to do this, please open an issue as to why. In the
             cmd.arg("--coverage-dump-path").arg(coverage_dump);
         }
 
-        if mode == "run-make" || mode == "run-coverage" {
+        if mode == "run-coverage" {
+            // The demangler doesn't need the current compiler, so we can avoid
+            // unnecessary rebuilds by using the bootstrap compiler instead.
             let rust_demangler = builder
                 .ensure(tool::RustDemangler {
-                    compiler,
+                    compiler: compiler.with_stage(0),
                     target: compiler.host,
                     extra_features: Vec::new(),
                 })
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
index 87d0404e7d8..e74d66a8599 100644
--- a/src/tools/compiletest/src/runtest.rs
+++ b/src/tools/compiletest/src/runtest.rs
@@ -3546,10 +3546,6 @@ impl<'test> TestCx<'test> {
             cmd.env("RUSTDOC", cwd.join(rustdoc));
         }
 
-        if let Some(ref rust_demangler) = self.config.rust_demangler_path {
-            cmd.env("RUST_DEMANGLER", cwd.join(rust_demangler));
-        }
-
         if let Some(ref node) = self.config.nodejs {
             cmd.env("NODE", node);
         }