Refactor out another repeating pattern
This commit is contained in:
parent
5441523f07
commit
6d115f5d9a
1 changed files with 7 additions and 19 deletions
|
@ -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 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 => {
|
None => {
|
||||||
// Build a target without override, so that it can override the backend if needed
|
// Build a target without override, so that it can override the backend if needed
|
||||||
let target =
|
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
|
(backend, target_override)
|
||||||
let target = config::build_target_config(
|
|
||||||
&early_dcx,
|
|
||||||
&config.opts,
|
|
||||||
target_override,
|
|
||||||
&sysroot,
|
|
||||||
);
|
|
||||||
|
|
||||||
(backend, target)
|
|
||||||
}
|
}
|
||||||
Some(make_codegen_backend) => {
|
Some(make_codegen_backend) => {
|
||||||
// N.B. `make_codegen_backend` takes precedence over `target.default_codegen_backend`,
|
// N.B. `make_codegen_backend` takes precedence over `target.default_codegen_backend`,
|
||||||
// which is ignored in this case.
|
// which is ignored in this case.
|
||||||
|
|
||||||
let backend = make_codegen_backend(&config.opts);
|
let backend = make_codegen_backend(&config.opts);
|
||||||
|
|
||||||
// target_override is documented to be called before init(), so this is okay
|
// target_override is documented to be called before init(), so this is okay
|
||||||
let target_override = backend.target_override(&config.opts);
|
let target_override = backend.target_override(&config.opts);
|
||||||
|
|
||||||
let target = config::build_target_config(
|
(backend, target_override)
|
||||||
&early_dcx,
|
|
||||||
&config.opts,
|
|
||||||
target_override,
|
|
||||||
&sysroot,
|
|
||||||
);
|
|
||||||
|
|
||||||
(backend, target)
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 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 temps_dir = config.opts.unstable_opts.temps_dir.as_deref().map(PathBuf::from);
|
||||||
|
|
||||||
let bundle = match rustc_errors::fluent_bundle(
|
let bundle = match rustc_errors::fluent_bundle(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue