diff options
| author | Rémy Rakic <remy.rakic+github@gmail.com> | 2023-06-21 21:49:41 +0000 |
|---|---|---|
| committer | Rémy Rakic <remy.rakic+github@gmail.com> | 2023-06-30 21:11:42 +0000 |
| commit | 38dca73456e2c074147a230c64a6c8271fd6c9b5 (patch) | |
| tree | 033ed9645c7e9107e92ab4895715f3f8cb4ef697 /compiler/rustc_target/src | |
| parent | 051e94d50e1bd53dc17c3072c71a9c8bff9392fd (diff) | |
| download | rust-38dca73456e2c074147a230c64a6c8271fd6c9b5.tar.gz rust-38dca73456e2c074147a230c64a6c8271fd6c9b5.zip | |
require `-Zunstable-options` to use new link-self-contained values and
linker flavors - only the stable values for `-Clink-self-contained` can be used on stable until we have more feedback on the interface - `-Zunstable-options` is required to use unstable linker flavors
Diffstat (limited to 'compiler/rustc_target/src')
| -rw-r--r-- | compiler/rustc_target/src/spec/mod.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs index c3eed5955e9..2e5bb3db886 100644 --- a/compiler/rustc_target/src/spec/mod.rs +++ b/compiler/rustc_target/src/spec/mod.rs @@ -181,6 +181,29 @@ pub enum LinkerFlavorCli { PtxLinker, } +impl LinkerFlavorCli { + /// Returns whether this `-C linker-flavor` option is one of the unstable values. + pub fn is_unstable(&self) -> bool { + match self { + LinkerFlavorCli::Gnu(..) + | LinkerFlavorCli::Darwin(..) + | LinkerFlavorCli::WasmLld(..) + | LinkerFlavorCli::Unix(..) + | LinkerFlavorCli::Msvc(Lld::Yes) + | LinkerFlavorCli::EmCc + | LinkerFlavorCli::Bpf + | LinkerFlavorCli::Ptx + | LinkerFlavorCli::BpfLinker + | LinkerFlavorCli::PtxLinker => true, + LinkerFlavorCli::Gcc + | LinkerFlavorCli::Ld + | LinkerFlavorCli::Lld(..) + | LinkerFlavorCli::Msvc(Lld::No) + | LinkerFlavorCli::Em => false, + } + } +} + #[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)] pub enum LldFlavor { Wasm, |
