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