]> git.lizzy.rs Git - rust.git/commitdiff
PR feedback
authorkhyperia <github@khyperia.com>
Thu, 17 Sep 2020 10:14:18 +0000 (12:14 +0200)
committerkhyperia <github@khyperia.com>
Thu, 17 Sep 2020 10:18:09 +0000 (12:18 +0200)
compiler/rustc_codegen_llvm/src/lib.rs
compiler/rustc_codegen_ssa/src/traits/backend.rs
compiler/rustc_interface/src/util.rs

index 21e19696fffc9464687a03d72c70b3edaf6a66c8..2e2abe9fb30f8a5b311e3136642965e5a32c8808 100644 (file)
@@ -32,7 +32,6 @@
 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 @@ fn target_features(&self, sess: &Session) -> Vec<Symbol> {
         target_features(sess)
     }
 
-    fn target_override(&self, _opts: &config::Options) -> Option<Target> {
-        None
-    }
-
     fn metadata_loader(&self) -> Box<MetadataLoaderDyn> {
         Box::new(metadata::LlvmMetadataLoader)
     }
index 224c8c2350f1cdfbfeff9e5ec461e5ba7e3f9edd..90520f77e3c04337111a9c01213531431a070d73 100644 (file)
@@ -55,9 +55,11 @@ fn target_features(&self, _sess: &Session) -> Vec<Symbol> {
     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<Target>;
+    fn target_override(&self, _opts: &config::Options) -> Option<Target> {
+        None
+    }
 
     fn metadata_loader(&self) -> Box<MetadataLoaderDyn>;
     fn provide(&self, _providers: &mut Providers);
index c4d89850dad50ca1eb428d10b75ab6087d99808f..0eed6938c316923e106d31f67fb74d059ad4d836 100644 (file)
@@ -65,7 +65,7 @@ pub fn create_session(
     lint_caps: FxHashMap<lint::LintId, lint::Level>,
     descriptions: Registry,
 ) -> (Lrc<Session>, Lrc<Box<dyn CodegenBackend>>) {
-    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<dyn CodegenBackend> {
     }
 }
 
-pub fn get_codegen_backend(codegen_name: Option<&str>) -> Box<dyn CodegenBackend> {
+pub fn get_codegen_backend(sopts: &config::Options) -> Box<dyn CodegenBackend> {
     static INIT: Once = Once::new();
 
     static mut LOAD: fn() -> Box<dyn CodegenBackend> = || 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),