diff options
| author | Boxy <rust@boxyuwu.dev> | 2025-01-28 11:57:19 +0000 |
|---|---|---|
| committer | Boxy <rust@boxyuwu.dev> | 2025-01-28 11:57:19 +0000 |
| commit | 815c5d4eee36e836c7b75aa9288a58c4e8e7830b (patch) | |
| tree | d4e7e89bcb0f3fd8e1ad2004c2c4a3dab933aaed /compiler/rustc_codegen_ssa/src/back/command.rs | |
| parent | 62102ee041d0681e507e16c6d17ff5798b3a9d9f (diff) | |
| parent | 66d6064f9eb888018775e08f84747ee6f39ba28e (diff) | |
| download | rust-815c5d4eee36e836c7b75aa9288a58c4e8e7830b.tar.gz rust-815c5d4eee36e836c7b75aa9288a58c4e8e7830b.zip | |
Merge from rustc
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/back/command.rs')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/command.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/command.rs b/compiler/rustc_codegen_ssa/src/back/command.rs index b3c5b86ccf4..63023fdba20 100644 --- a/compiler/rustc_codegen_ssa/src/back/command.rs +++ b/compiler/rustc_codegen_ssa/src/back/command.rs @@ -13,6 +13,7 @@ pub(crate) struct Command { args: Vec<OsString>, env: Vec<(OsString, OsString)>, env_remove: Vec<OsString>, + env_clear: bool, } #[derive(Clone)] @@ -36,7 +37,13 @@ impl Command { } fn _new(program: Program) -> Command { - Command { program, args: Vec::new(), env: Vec::new(), env_remove: Vec::new() } + Command { + program, + args: Vec::new(), + env: Vec::new(), + env_remove: Vec::new(), + env_clear: false, + } } pub(crate) fn arg<P: AsRef<OsStr>>(&mut self, arg: P) -> &mut Command { @@ -79,6 +86,11 @@ impl Command { self } + pub(crate) fn env_clear(&mut self) -> &mut Command { + self.env_clear = true; + self + } + fn _env_remove(&mut self, key: &OsStr) { self.env_remove.push(key.to_owned()); } @@ -106,6 +118,9 @@ impl Command { for k in &self.env_remove { ret.env_remove(k); } + if self.env_clear { + ret.env_clear(); + } ret } |
