From 48655c2d2ca8590c7627f32839ba921297290a1a Mon Sep 17 00:00:00 2001 From: khyperia Date: Thu, 17 Sep 2020 12:14:18 +0200 Subject: [PATCH] PR feedback --- compiler/rustc_codegen_llvm/src/lib.rs | 5 ----- compiler/rustc_codegen_ssa/src/traits/backend.rs | 6 ++++-- compiler/rustc_interface/src/util.rs | 6 +++--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/compiler/rustc_codegen_llvm/src/lib.rs b/compiler/rustc_codegen_llvm/src/lib.rs index 21e19696fff..2e2abe9fb30 100644 --- a/compiler/rustc_codegen_llvm/src/lib.rs +++ b/compiler/rustc_codegen_llvm/src/lib.rs @@ -32,7 +32,6 @@ use rustc_serialize::json; use rustc_session::config::{self, OptLevel, OutputFilenames, PrintRequest}; use rustc_session::Session; use rustc_span::symbol::Symbol; -use rustc_target::spec::Target; use std::any::Any; use std::ffi::CStr; @@ -245,10 +244,6 @@ impl CodegenBackend for LlvmCodegenBackend { target_features(sess) } - fn target_override(&self, _opts: &config::Options) -> Option { - None - } - fn metadata_loader(&self) -> Box { Box::new(metadata::LlvmMetadataLoader) } diff --git a/compiler/rustc_codegen_ssa/src/traits/backend.rs b/compiler/rustc_codegen_ssa/src/traits/backend.rs index 224c8c2350f..90520f77e3c 100644 --- a/compiler/rustc_codegen_ssa/src/traits/backend.rs +++ b/compiler/rustc_codegen_ssa/src/traits/backend.rs @@ -55,9 +55,11 @@ pub trait CodegenBackend { fn print_passes(&self) {} fn print_version(&self) {} - /// If this plugin provides additional builtin targets, provide them here. + /// If this plugin provides additional builtin targets, provide the one enabled by the options here. /// Be careful: this is called *before* init() is called. - fn target_override(&self, opts: &config::Options) -> Option; + fn target_override(&self, _opts: &config::Options) -> Option { + None + } fn metadata_loader(&self) -> Box; fn provide(&self, _providers: &mut Providers); diff --git a/compiler/rustc_interface/src/util.rs b/compiler/rustc_interface/src/util.rs index c4d89850dad..0eed6938c31 100644 --- a/compiler/rustc_interface/src/util.rs +++ b/compiler/rustc_interface/src/util.rs @@ -65,7 +65,7 @@ pub fn create_session( lint_caps: FxHashMap, descriptions: Registry, ) -> (Lrc, Lrc>) { - let codegen_backend = get_codegen_backend(sopts.debugging_opts.codegen_backend.as_deref()); + let codegen_backend = get_codegen_backend(&sopts); // target_override is documented to be called before init(), so this is okay let target_override = codegen_backend.target_override(&sopts); @@ -224,13 +224,13 @@ fn load_backend_from_dylib(path: &Path) -> fn() -> Box { } } -pub fn get_codegen_backend(codegen_name: Option<&str>) -> Box { +pub fn get_codegen_backend(sopts: &config::Options) -> Box { static INIT: Once = Once::new(); static mut LOAD: fn() -> Box = || unreachable!(); INIT.call_once(|| { - let codegen_name = codegen_name.unwrap_or("llvm"); + let codegen_name = sopts.debugging_opts.codegen_backend.as_deref().unwrap_or("llvm"); let backend = match codegen_name { filename if filename.contains('.') => load_backend_from_dylib(filename.as_ref()), codegen_name => get_builtin_codegen_backend(codegen_name),