diff options
| author | Maybe Waffle <waffle.lapkin@gmail.com> | 2024-02-18 19:26:45 +0000 | 
|---|---|---|
| committer | Maybe Waffle <waffle.lapkin@gmail.com> | 2024-02-18 19:26:45 +0000 | 
| commit | 6d115f5d9a05380b983dd53d747150c8afbd48d8 (patch) | |
| tree | 4989e099843d3ee6741f30a5665388af77864a08 /compiler/rustc_interface/src/interface.rs | |
| parent | 5441523f0727639040fdd134abff1e298d88733e (diff) | |
| download | rust-6d115f5d9a05380b983dd53d747150c8afbd48d8.tar.gz rust-6d115f5d9a05380b983dd53d747150c8afbd48d8.zip | |
Refactor out another repeating pattern
Diffstat (limited to 'compiler/rustc_interface/src/interface.rs')
| -rw-r--r-- | compiler/rustc_interface/src/interface.rs | 26 | 
1 files changed, 7 insertions, 19 deletions
| diff --git a/compiler/rustc_interface/src/interface.rs b/compiler/rustc_interface/src/interface.rs index a45762b2ce7..9783327efd3 100644 --- a/compiler/rustc_interface/src/interface.rs +++ b/compiler/rustc_interface/src/interface.rs @@ -338,7 +338,7 @@ pub fn run_compiler<R: Send>(config: Config, f: impl FnOnce(&Compiler) -> R + Se let sysroot = filesearch::materialize_sysroot(config.opts.maybe_sysroot.clone()); - let (codegen_backend, target_cfg) = match config.make_codegen_backend { + let (codegen_backend, target_override) = match config.make_codegen_backend { None => { // Build a target without override, so that it can override the backend if needed let target = @@ -365,36 +365,24 @@ pub fn run_compiler<R: Send>(config: Config, f: impl FnOnce(&Compiler) -> R + Se ); } - // Re-build target with the (potential) override - let target = config::build_target_config( - &early_dcx, - &config.opts, - target_override, - &sysroot, - ); - - (backend, target) + (backend, target_override) } Some(make_codegen_backend) => { // N.B. `make_codegen_backend` takes precedence over `target.default_codegen_backend`, // which is ignored in this case. - let backend = make_codegen_backend(&config.opts); // target_override is documented to be called before init(), so this is okay let target_override = backend.target_override(&config.opts); - let target = config::build_target_config( - &early_dcx, - &config.opts, - target_override, - &sysroot, - ); - - (backend, target) + (backend, target_override) } }; + // Re-build target with the (potential) override + let target_cfg = + config::build_target_config(&early_dcx, &config.opts, target_override, &sysroot); + let temps_dir = config.opts.unstable_opts.temps_dir.as_deref().map(PathBuf::from); let bundle = match rustc_errors::fluent_bundle( | 
