about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorjyn <github@jyn.dev>2025-02-12 23:01:22 -0500
committerjyn <github@jyn.dev>2025-02-12 23:04:33 -0500
commit66ebee4dd2f55dadca0eaad72139eb3c5ea4c6ea (patch)
tree89507d4dfa082dc2fbb69a859a14e2f785170236 /src
parentef148cd7eb00a5a973130dc6473da71fd6c487ee (diff)
downloadrust-66ebee4dd2f55dadca0eaad72139eb3c5ea4c6ea.tar.gz
rust-66ebee4dd2f55dadca0eaad72139eb3c5ea4c6ea.zip
Compiletest should not inherit all host RUSTFLAGS
I told rhelmot to do this in #134913. But it's not correct; compiletest
shouldn't inherit RUSTFLAGS at all.

Pass a single new --host-rustcflags to compiletest instead, without overwriting any
existing arguments.

Fixes the following failure, which only happens when building llvm from
source and then running `x test --stage 1 ui-fulldeps`:
```
diff --git a/tests/ui-fulldeps/fluent-messages/test.stderr b/tests/ui-fulldeps/fluent-messages/test.stderr
index 0b3bb14ce51..978ac46c5a2 100644
--- a/tests/ui-fulldeps/fluent-messages/test.stderr
+++ b/tests/ui-fulldeps/fluent-messages/test.stderr
@@ -1,3 +1,8 @@
+warning[E0602]: unknown lint: `linker_messages`
+   |
+   = note: requested on the command line with `-A linker_messages`
+   = note: `#[warn(unknown_lints)]` on by default
```
Diffstat (limited to 'src')
-rw-r--r--src/bootstrap/src/core/build_steps/test.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs
index 509875a469f..2b4e9d48a24 100644
--- a/src/bootstrap/src/core/build_steps/test.rs
+++ b/src/bootstrap/src/core/build_steps/test.rs
@@ -1969,13 +1969,12 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
             if !builder.config.dry_run() && suite.ends_with("fulldeps") {
                 let llvm_libdir =
                     command(&llvm_config).arg("--libdir").run_capture_stdout(builder).stdout();
-                let mut rustflags = env::var("RUSTFLAGS").unwrap_or_default();
-                if target.is_msvc() {
-                    rustflags.push_str(&format!("-Clink-arg=-LIBPATH:{llvm_libdir}"));
+                let link_llvm = if target.is_msvc() {
+                    format!("-Clink-arg=-LIBPATH:{llvm_libdir}")
                 } else {
-                    rustflags.push_str(&format!("-Clink-arg=-L{llvm_libdir}"));
-                }
-                cmd.env("RUSTFLAGS", rustflags);
+                    format!("-Clink-arg=-L{llvm_libdir}")
+                };
+                cmd.arg("--host-rustcflags").arg(link_llvm);
             }
 
             if !builder.config.dry_run() && matches!(mode, "run-make" | "coverage-run") {