Rollup merge of #119235 - Urgau:missing-feature-gate-sanitizer-cfi-cfgs, r=Nilstrieb
Add missing feature gate for sanitizer CFI cfgs Found during the review of https://github.com/rust-lang/rust/pull/118494 in https://github.com/rust-lang/rust/pull/118494#discussion_r1416079288. cc `@rcvalle`
This commit is contained in:
commit
50e380c8f3
@ -36,6 +36,8 @@ macro_rules! cfg_fn {
|
||||
(sym::sanitize, sym::cfg_sanitize, cfg_fn!(cfg_sanitize)),
|
||||
(sym::version, sym::cfg_version, cfg_fn!(cfg_version)),
|
||||
(sym::relocation_model, sym::cfg_relocation_model, cfg_fn!(cfg_relocation_model)),
|
||||
(sym::sanitizer_cfi_generalize_pointers, sym::cfg_sanitizer_cfi, cfg_fn!(cfg_sanitizer_cfi)),
|
||||
(sym::sanitizer_cfi_normalize_integers, sym::cfg_sanitizer_cfi, cfg_fn!(cfg_sanitizer_cfi)),
|
||||
];
|
||||
|
||||
/// Find a gated cfg determined by the `pred`icate which is given the cfg's name.
|
||||
|
@ -371,6 +371,8 @@ pub fn internal(&self, feature: Symbol) -> bool {
|
||||
(unstable, cfg_relocation_model, "1.73.0", Some(114929)),
|
||||
/// Allows the use of `#[cfg(sanitize = "option")]`; set when -Zsanitizer is used.
|
||||
(unstable, cfg_sanitize, "1.41.0", Some(39699)),
|
||||
/// Allows `cfg(sanitizer_cfi_generalize_pointers)` and `cfg(sanitizer_cfi_normalize_integers)`.
|
||||
(unstable, cfg_sanitizer_cfi, "CURRENT_RUSTC_VERSION", Some(89653)),
|
||||
/// Allows `cfg(target_abi = "...")`.
|
||||
(unstable, cfg_target_abi, "1.55.0", Some(80970)),
|
||||
/// Allows `cfg(target(abi = "..."))`.
|
||||
|
@ -498,6 +498,7 @@
|
||||
cfg_panic,
|
||||
cfg_relocation_model,
|
||||
cfg_sanitize,
|
||||
cfg_sanitizer_cfi,
|
||||
cfg_target_abi,
|
||||
cfg_target_compact,
|
||||
cfg_target_feature,
|
||||
|
@ -265,6 +265,7 @@
|
||||
//
|
||||
// Language features:
|
||||
// tidy-alphabetical-start
|
||||
#![cfg_attr(not(bootstrap), feature(cfg_sanitizer_cfi))]
|
||||
#![feature(alloc_error_handler)]
|
||||
#![feature(allocator_internals)]
|
||||
#![feature(allow_internal_unsafe)]
|
||||
|
@ -11,7 +11,7 @@
|
||||
// Note, however, that we run on lots older linuxes, as well as cross
|
||||
// compiling from a newer linux to an older linux, so we also have a
|
||||
// fallback implementation to use as well.
|
||||
#[allow(unexpected_cfgs)]
|
||||
#[cfg_attr(bootstrap, allow(unexpected_cfgs))]
|
||||
#[cfg(any(
|
||||
target_os = "linux",
|
||||
target_os = "android",
|
||||
|
9
tests/ui/feature-gates/feature-gate-cfg-sanitizer_cfi.rs
Normal file
9
tests/ui/feature-gates/feature-gate-cfg-sanitizer_cfi.rs
Normal file
@ -0,0 +1,9 @@
|
||||
#[cfg(sanitizer_cfi_generalize_pointers)]
|
||||
//~^ `cfg(sanitizer_cfi_generalize_pointers)` is experimental
|
||||
fn foo() {}
|
||||
|
||||
#[cfg(sanitizer_cfi_normalize_integers)]
|
||||
//~^ `cfg(sanitizer_cfi_normalize_integers)` is experimental
|
||||
fn bar() {}
|
||||
|
||||
fn main() {}
|
21
tests/ui/feature-gates/feature-gate-cfg-sanitizer_cfi.stderr
Normal file
21
tests/ui/feature-gates/feature-gate-cfg-sanitizer_cfi.stderr
Normal file
@ -0,0 +1,21 @@
|
||||
error[E0658]: `cfg(sanitizer_cfi_generalize_pointers)` is experimental and subject to change
|
||||
--> $DIR/feature-gate-cfg-sanitizer_cfi.rs:1:7
|
||||
|
|
||||
LL | #[cfg(sanitizer_cfi_generalize_pointers)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #89653 <https://github.com/rust-lang/rust/issues/89653> for more information
|
||||
= help: add `#![feature(cfg_sanitizer_cfi)]` to the crate attributes to enable
|
||||
|
||||
error[E0658]: `cfg(sanitizer_cfi_normalize_integers)` is experimental and subject to change
|
||||
--> $DIR/feature-gate-cfg-sanitizer_cfi.rs:5:7
|
||||
|
|
||||
LL | #[cfg(sanitizer_cfi_normalize_integers)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: see issue #89653 <https://github.com/rust-lang/rust/issues/89653> for more information
|
||||
= help: add `#![feature(cfg_sanitizer_cfi)]` to the crate attributes to enable
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
@ -5,5 +5,7 @@
|
||||
// check-pass
|
||||
// compile-flags: -Clto -Cno-prepopulate-passes -Ctarget-feature=-crt-static -Zsanitizer=cfi -Zsanitizer-cfi-generalize-pointers
|
||||
|
||||
#![feature(cfg_sanitizer_cfi)]
|
||||
|
||||
#[cfg(sanitizer_cfi_generalize_pointers)]
|
||||
fn main() {}
|
||||
|
@ -5,5 +5,7 @@
|
||||
// check-pass
|
||||
// compile-flags: -Clto -Cno-prepopulate-passes -Ctarget-feature=-crt-static -Zsanitizer=cfi -Zsanitizer-cfi-normalize-integers
|
||||
|
||||
#![feature(cfg_sanitizer_cfi)]
|
||||
|
||||
#[cfg(sanitizer_cfi_normalize_integers)]
|
||||
fn main() {}
|
||||
|
Loading…
Reference in New Issue
Block a user