File tree Expand file tree Collapse file tree 3 files changed +7
-10
lines changed
rustc_codegen_ssa/src/traits Expand file tree Collapse file tree 3 files changed +7
-10
lines changed Original file line number Diff line number Diff line change @@ -32,7 +32,6 @@ use rustc_serialize::json;
3232use rustc_session:: config:: { self , OptLevel , OutputFilenames , PrintRequest } ;
3333use rustc_session:: Session ;
3434use rustc_span:: symbol:: Symbol ;
35- use rustc_target:: spec:: Target ;
3635
3736use std:: any:: Any ;
3837use std:: ffi:: CStr ;
@@ -245,10 +244,6 @@ impl CodegenBackend for LlvmCodegenBackend {
245244 target_features ( sess)
246245 }
247246
248- fn target_override ( & self , _opts : & config:: Options ) -> Option < Target > {
249- None
250- }
251-
252247 fn metadata_loader ( & self ) -> Box < MetadataLoaderDyn > {
253248 Box :: new ( metadata:: LlvmMetadataLoader )
254249 }
Original file line number Diff line number Diff line change @@ -55,9 +55,11 @@ pub trait CodegenBackend {
5555 fn print_passes ( & self ) { }
5656 fn print_version ( & self ) { }
5757
58- /// If this plugin provides additional builtin targets, provide them here.
58+ /// If this plugin provides additional builtin targets, provide the one enabled by the options here.
5959 /// Be careful: this is called *before* init() is called.
60- fn target_override ( & self , opts : & config:: Options ) -> Option < Target > ;
60+ fn target_override ( & self , _opts : & config:: Options ) -> Option < Target > {
61+ None
62+ }
6163
6264 fn metadata_loader ( & self ) -> Box < MetadataLoaderDyn > ;
6365 fn provide ( & self , _providers : & mut Providers ) ;
Original file line number Diff line number Diff line change @@ -65,7 +65,7 @@ pub fn create_session(
6565 lint_caps : FxHashMap < lint:: LintId , lint:: Level > ,
6666 descriptions : Registry ,
6767) -> ( Lrc < Session > , Lrc < Box < dyn CodegenBackend > > ) {
68- let codegen_backend = get_codegen_backend ( sopts. debugging_opts . codegen_backend . as_deref ( ) ) ;
68+ let codegen_backend = get_codegen_backend ( & sopts) ;
6969 // target_override is documented to be called before init(), so this is okay
7070 let target_override = codegen_backend. target_override ( & sopts) ;
7171
@@ -224,13 +224,13 @@ fn load_backend_from_dylib(path: &Path) -> fn() -> Box<dyn CodegenBackend> {
224224 }
225225}
226226
227- pub fn get_codegen_backend ( codegen_name : Option < & str > ) -> Box < dyn CodegenBackend > {
227+ pub fn get_codegen_backend ( sopts : & config :: Options ) -> Box < dyn CodegenBackend > {
228228 static INIT : Once = Once :: new ( ) ;
229229
230230 static mut LOAD : fn ( ) -> Box < dyn CodegenBackend > = || unreachable ! ( ) ;
231231
232232 INIT . call_once ( || {
233- let codegen_name = codegen_name . unwrap_or ( "llvm" ) ;
233+ let codegen_name = sopts . debugging_opts . codegen_backend . as_deref ( ) . unwrap_or ( "llvm" ) ;
234234 let backend = match codegen_name {
235235 filename if filename. contains ( '.' ) => load_backend_from_dylib ( filename. as_ref ( ) ) ,
236236 codegen_name => get_builtin_codegen_backend ( codegen_name) ,
You can’t perform that action at this time.
0 commit comments