File tree 3 files changed +7
-10
lines changed
rustc_codegen_ssa/src/traits
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;
32
32
use rustc_session:: config:: { self , OptLevel , OutputFilenames , PrintRequest } ;
33
33
use rustc_session:: Session ;
34
34
use rustc_span:: symbol:: Symbol ;
35
- use rustc_target:: spec:: Target ;
36
35
37
36
use std:: any:: Any ;
38
37
use std:: ffi:: CStr ;
@@ -245,10 +244,6 @@ impl CodegenBackend for LlvmCodegenBackend {
245
244
target_features ( sess)
246
245
}
247
246
248
- fn target_override ( & self , _opts : & config:: Options ) -> Option < Target > {
249
- None
250
- }
251
-
252
247
fn metadata_loader ( & self ) -> Box < MetadataLoaderDyn > {
253
248
Box :: new ( metadata:: LlvmMetadataLoader )
254
249
}
Original file line number Diff line number Diff line change @@ -55,9 +55,11 @@ pub trait CodegenBackend {
55
55
fn print_passes ( & self ) { }
56
56
fn print_version ( & self ) { }
57
57
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.
59
59
/// 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
+ }
61
63
62
64
fn metadata_loader ( & self ) -> Box < MetadataLoaderDyn > ;
63
65
fn provide ( & self , _providers : & mut Providers ) ;
Original file line number Diff line number Diff line change @@ -65,7 +65,7 @@ pub fn create_session(
65
65
lint_caps : FxHashMap < lint:: LintId , lint:: Level > ,
66
66
descriptions : Registry ,
67
67
) -> ( 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) ;
69
69
// target_override is documented to be called before init(), so this is okay
70
70
let target_override = codegen_backend. target_override ( & sopts) ;
71
71
@@ -224,13 +224,13 @@ fn load_backend_from_dylib(path: &Path) -> fn() -> Box<dyn CodegenBackend> {
224
224
}
225
225
}
226
226
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 > {
228
228
static INIT : Once = Once :: new ( ) ;
229
229
230
230
static mut LOAD : fn ( ) -> Box < dyn CodegenBackend > = || unreachable ! ( ) ;
231
231
232
232
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" ) ;
234
234
let backend = match codegen_name {
235
235
filename if filename. contains ( '.' ) => load_backend_from_dylib ( filename. as_ref ( ) ) ,
236
236
codegen_name => get_builtin_codegen_backend ( codegen_name) ,
You can’t perform that action at this time.
0 commit comments