diff options
| author | Ralf Jung <post@ralfj.de> | 2020-09-20 15:51:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-20 15:51:48 +0200 |
| commit | c847eaa91dacf2a5b1f110142f930ea81a7ec2f3 (patch) | |
| tree | 900bb9354390697b563aded672dd228a2f4381bf /compiler/rustc_codegen_ssa/src | |
| parent | 39b9a25e60db0a3d22b115bdb3981607ea4c0737 (diff) | |
| parent | 48655c2d2ca8590c7627f32839ba921297290a1a (diff) | |
| download | rust-c847eaa91dacf2a5b1f110142f930ea81a7ec2f3.tar.gz rust-c847eaa91dacf2a5b1f110142f930ea81a7ec2f3.zip | |
Rollup merge of #76832 - khyperia:backend_target_override, r=eddyb
Let backends define custom targets Add a target_override hook that takes priority over builtin targets.
Diffstat (limited to 'compiler/rustc_codegen_ssa/src')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/traits/backend.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_ssa/src/traits/backend.rs b/compiler/rustc_codegen_ssa/src/traits/backend.rs index 3522ea01153..90520f77e3c 100644 --- a/compiler/rustc_codegen_ssa/src/traits/backend.rs +++ b/compiler/rustc_codegen_ssa/src/traits/backend.rs @@ -15,6 +15,7 @@ use rustc_session::{ }; use rustc_span::symbol::Symbol; use rustc_target::abi::LayoutOf; +use rustc_target::spec::Target; pub use rustc_data_structures::sync::MetadataRef; @@ -54,6 +55,12 @@ pub trait CodegenBackend { fn print_passes(&self) {} fn print_version(&self) {} + /// 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> { + None + } + fn metadata_loader(&self) -> Box<MetadataLoaderDyn>; fn provide(&self, _providers: &mut Providers); fn provide_extern(&self, _providers: &mut Providers); |
