diff --git a/compiler/rustc_metadata/src/creader.rs b/compiler/rustc_metadata/src/creader.rs index e155e7b0580d..7be7e3517fe8 100644 --- a/compiler/rustc_metadata/src/creader.rs +++ b/compiler/rustc_metadata/src/creader.rs @@ -24,8 +24,7 @@ use rustc_middle::ty::data_structures::IndexSet; use rustc_middle::ty::{TyCtxt, TyCtxtFeed}; use rustc_proc_macro::bridge::client::ProcMacro; -use rustc_session::Session; -use rustc_session::config::enforceable_mitigations::DeniedPartialMitigationLevel; +use rustc_session::config::mitigation_coverage::DeniedPartialMitigationLevel; use rustc_session::config::{ CrateType, ExtendedTargetModifierInfo, ExternLocation, Externs, OptionsTargetModifiers, TargetModifier, @@ -468,7 +467,7 @@ fn report_target_modifiers_extended( pub fn report_session_incompatibilities(&self, tcx: TyCtxt<'_>, krate: &Crate) { self.report_incompatible_target_modifiers(tcx, krate); - self.report_incompatible_denied_partial_mitigations(tcx, krate); + self.report_incompatible_partial_mitigations(tcx, krate); self.report_incompatible_async_drop_feature(tcx, krate); } @@ -493,7 +492,7 @@ pub fn report_incompatible_target_modifiers(&self, tcx: TyCtxt<'_>, krate: &Crat } } - pub fn report_incompatible_denied_partial_mitigations(&self, tcx: TyCtxt<'_>, krate: &Crate) { + pub fn report_incompatible_partial_mitigations(&self, tcx: TyCtxt<'_>, krate: &Crate) { let my_mitigations = tcx.sess.gather_enabled_denied_partial_mitigations(); let mut my_mitigations: BTreeMap<_, _> = my_mitigations.iter().map(|mitigation| (mitigation.kind, mitigation)).collect(); diff --git a/compiler/rustc_metadata/src/rmeta/decoder.rs b/compiler/rustc_metadata/src/rmeta/decoder.rs index 06d764f772b2..2993eb340cfe 100644 --- a/compiler/rustc_metadata/src/rmeta/decoder.rs +++ b/compiler/rustc_metadata/src/rmeta/decoder.rs @@ -30,7 +30,7 @@ use rustc_serialize::opaque::MemDecoder; use rustc_serialize::{Decodable, Decoder}; use rustc_session::config::TargetModifier; -use rustc_session::config::enforceable_mitigations::DeniedPartialMitigation; +use rustc_session::config::mitigation_coverage::DeniedPartialMitigation; use rustc_session::cstore::{CrateSource, ExternCrate}; use rustc_span::hygiene::HygieneDecodeContext; use rustc_span::{ diff --git a/compiler/rustc_metadata/src/rmeta/encoder.rs b/compiler/rustc_metadata/src/rmeta/encoder.rs index 933ba5b67cc1..2a0eeef442a3 100644 --- a/compiler/rustc_metadata/src/rmeta/encoder.rs +++ b/compiler/rustc_metadata/src/rmeta/encoder.rs @@ -27,7 +27,7 @@ use rustc_middle::ty::fast_reject::{self, TreatParams}; use rustc_middle::{bug, span_bug}; use rustc_serialize::{Decodable, Decoder, Encodable, Encoder, opaque}; -use rustc_session::config::enforceable_mitigations::DeniedPartialMitigation; +use rustc_session::config::mitigation_coverage::DeniedPartialMitigation; use rustc_session::config::{CrateType, OptLevel, TargetModifier}; use rustc_span::hygiene::HygieneEncodeContext; use rustc_span::{ diff --git a/compiler/rustc_metadata/src/rmeta/mod.rs b/compiler/rustc_metadata/src/rmeta/mod.rs index c9bb988ba82d..781d3c6d1837 100644 --- a/compiler/rustc_metadata/src/rmeta/mod.rs +++ b/compiler/rustc_metadata/src/rmeta/mod.rs @@ -36,7 +36,7 @@ use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_middle::util::Providers; use rustc_serialize::opaque::FileEncoder; -use rustc_session::config::enforceable_mitigations::DeniedPartialMitigation; +use rustc_session::config::mitigation_coverage::DeniedPartialMitigation; use rustc_session::config::{SymbolManglingVersion, TargetModifier}; use rustc_session::cstore::{CrateDepKind, ForeignModule, LinkagePreference, NativeLib}; use rustc_span::edition::Edition; diff --git a/compiler/rustc_metadata/src/rmeta/parameterized.rs b/compiler/rustc_metadata/src/rmeta/parameterized.rs index 39686aeb22ff..1531584e9978 100644 --- a/compiler/rustc_metadata/src/rmeta/parameterized.rs +++ b/compiler/rustc_metadata/src/rmeta/parameterized.rs @@ -120,7 +120,7 @@ impl ParameterizedOverTcx for $ty { rustc_middle::ty::adjustment::CoerceUnsizedInfo, rustc_middle::ty::fast_reject::SimplifiedType, rustc_session::config::TargetModifier, - rustc_session::config::enforceable_mitigations::DeniedPartialMitigation, + rustc_session::config::mitigation_coverage::DeniedPartialMitigation, rustc_session::cstore::ForeignModule, rustc_session::cstore::LinkagePreference, rustc_session::cstore::NativeLib, diff --git a/compiler/rustc_session/src/options.rs b/compiler/rustc_session/src/options.rs index 967ff79396eb..cdc9be1567ec 100644 --- a/compiler/rustc_session/src/options.rs +++ b/compiler/rustc_session/src/options.rs @@ -20,7 +20,7 @@ TargetTuple, TlsModel, }; -use crate::config::enforceable_mitigations::MitigationEnablement; +use crate::config::mitigation_coverage::MitigationCoverage; use crate::config::*; use crate::search_paths::SearchPath; use crate::utils::NativeLib; @@ -85,7 +85,7 @@ pub struct TargetModifier { pub value_name: String, } -pub mod enforceable_mitigations; +pub mod mitigation_coverage; mod target_modifier_consistency_check { use super::*; @@ -896,16 +896,16 @@ mod desc { pub(crate) const parse_align: &str = "a number that is a power of 2 between 1 and 2^29"; pub(crate) const parse_assert_incr_state: &str = "one of: `loaded`, `not-loaded`"; pub(crate) const parse_allow_partial_mitigations: &str = - super::enforceable_mitigations::DeniedPartialMitigationKind::KINDS; + super::mitigation_coverage::DeniedPartialMitigationKind::KINDS; pub(crate) const parse_deny_partial_mitigations: &str = - super::enforceable_mitigations::DeniedPartialMitigationKind::KINDS; + super::mitigation_coverage::DeniedPartialMitigationKind::KINDS; } pub mod parse { use std::str::FromStr; pub(crate) use super::*; - use crate::config::enforceable_mitigations::MitigationEnablement; + use crate::config::mitigation_coverage::MitigationCoverage; pub(crate) const MAX_THREADS_CAP: usize = 256; /// Ignore the value. Used for removed options where we don't actually want to store @@ -2086,7 +2086,7 @@ pub(crate) fn parse_assert_incr_state( } fn parse_partial_mitigations( - slot: &mut Vec, + slot: &mut Vec, v: Option<&str>, enabled: bool, ) -> bool { @@ -2094,7 +2094,7 @@ fn parse_partial_mitigations( Some(s) => { for sub in s.split(',') { match sub.parse() { - Ok(kind) => slot.push(MitigationEnablement { kind, enabled }), + Ok(kind) => slot.push(MitigationCoverage { kind, enabled }), Err(_) => return false, } } @@ -2105,14 +2105,14 @@ fn parse_partial_mitigations( } pub(crate) fn parse_allow_partial_mitigations( - slot: &mut Vec, + slot: &mut Vec, v: Option<&str>, ) -> bool { parse_partial_mitigations(slot, v, true) } pub(crate) fn parse_deny_partial_mitigations( - slot: &mut Vec, + slot: &mut Vec, v: Option<&str>, ) -> bool { parse_partial_mitigations(slot, v, false) @@ -2281,7 +2281,7 @@ pub(crate) fn parse_deny_partial_mitigations( // tidy-alphabetical-start allow_features: Option> = (None, parse_opt_comma_list, [TRACKED], "only allow the listed language features to be enabled in code (comma separated)"), - allow_partial_mitigations: Vec = (Vec::new(), parse_allow_partial_mitigations, [UNTRACKED], + allow_partial_mitigations: Vec = (Vec::new(), parse_allow_partial_mitigations, [UNTRACKED], "Allow mitigations not enabled for all dependency crates (comma separated list)"), always_encode_mir: bool = (false, parse_bool, [TRACKED], "encode MIR of all functions into the crate metadata (default: no)"), @@ -2350,7 +2350,7 @@ pub(crate) fn parse_deny_partial_mitigations( "deduplicate identical diagnostics (default: yes)"), default_visibility: Option = (None, parse_opt_symbol_visibility, [TRACKED], "overrides the `default_visibility` setting of the target"), - deny_partial_mitigations: Vec = (Vec::new(), parse_deny_partial_mitigations, [UNTRACKED], + deny_partial_mitigations: Vec = (Vec::new(), parse_deny_partial_mitigations, [UNTRACKED], "Deny mitigations not enabled for all dependency crates (comma separated list)"), dep_info_omit_d_target: bool = (false, parse_bool, [TRACKED], "in dep-info output, omit targets for tracking dependencies of the dep-info files \ diff --git a/compiler/rustc_session/src/options/enforceable_mitigations.rs b/compiler/rustc_session/src/options/mitigation_coverage.rs similarity index 94% rename from compiler/rustc_session/src/options/enforceable_mitigations.rs rename to compiler/rustc_session/src/options/mitigation_coverage.rs index 851659f416e8..d851fac1ea1e 100644 --- a/compiler/rustc_session/src/options/enforceable_mitigations.rs +++ b/compiler/rustc_session/src/options/mitigation_coverage.rs @@ -68,7 +68,7 @@ fn from(value: StackProtector) -> Self { pub struct DeniedPartialMitigationKindParseError; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, Encodable, BlobDecodable)] -pub struct MitigationEnablement { +pub struct MitigationCoverage { pub kind: DeniedPartialMitigationKind, pub enabled: bool, } @@ -79,7 +79,7 @@ macro_rules! intersperse { }; } -macro_rules! enforced_mitigations { +macro_rules! denied_partial_mitigations { ([$self:ident] enum $kind:ident {$(($name:ident, $text:expr, $since:ident, $code:expr)),*}) => { #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, Encodable, BlobDecodable)] pub enum DeniedPartialMitigationKind { @@ -123,7 +123,7 @@ pub fn enforced_since(&self) -> Edition { } impl Options { - pub fn all_enforced_mitigations(&self) -> impl Iterator { + pub fn all_denied_partial_mitigations(&self) -> impl Iterator { [$(DeniedPartialMitigationKind::$name),*].into_iter() } } @@ -145,7 +145,7 @@ pub fn gather_enabled_denied_partial_mitigations(&$self) -> Vec impl Iterator { let mut result: BTreeSet<_> = self - .all_enforced_mitigations() + .all_denied_partial_mitigations() .filter(|mitigation| mitigation.enforced_since() > edition) .collect(); for mitigation in &self.unstable_opts.allow_partial_mitigations {