mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
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 @@ const GATED_CFGS: &[GatedCfg] = &[
|
|||||||
(sym::sanitize, sym::cfg_sanitize, cfg_fn!(cfg_sanitize)),
|
(sym::sanitize, sym::cfg_sanitize, cfg_fn!(cfg_sanitize)),
|
||||||
(sym::version, sym::cfg_version, cfg_fn!(cfg_version)),
|
(sym::version, sym::cfg_version, cfg_fn!(cfg_version)),
|
||||||
(sym::relocation_model, sym::cfg_relocation_model, cfg_fn!(cfg_relocation_model)),
|
(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.
|
/// Find a gated cfg determined by the `pred`icate which is given the cfg's name.
|
||||||
|
@ -371,6 +371,8 @@ declare_features! (
|
|||||||
(unstable, cfg_relocation_model, "1.73.0", Some(114929)),
|
(unstable, cfg_relocation_model, "1.73.0", Some(114929)),
|
||||||
/// Allows the use of `#[cfg(sanitize = "option")]`; set when -Zsanitizer is used.
|
/// Allows the use of `#[cfg(sanitize = "option")]`; set when -Zsanitizer is used.
|
||||||
(unstable, cfg_sanitize, "1.41.0", Some(39699)),
|
(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 = "...")`.
|
/// Allows `cfg(target_abi = "...")`.
|
||||||
(unstable, cfg_target_abi, "1.55.0", Some(80970)),
|
(unstable, cfg_target_abi, "1.55.0", Some(80970)),
|
||||||
/// Allows `cfg(target(abi = "..."))`.
|
/// Allows `cfg(target(abi = "..."))`.
|
||||||
|
@ -498,6 +498,7 @@ symbols! {
|
|||||||
cfg_panic,
|
cfg_panic,
|
||||||
cfg_relocation_model,
|
cfg_relocation_model,
|
||||||
cfg_sanitize,
|
cfg_sanitize,
|
||||||
|
cfg_sanitizer_cfi,
|
||||||
cfg_target_abi,
|
cfg_target_abi,
|
||||||
cfg_target_compact,
|
cfg_target_compact,
|
||||||
cfg_target_feature,
|
cfg_target_feature,
|
||||||
|
@ -265,6 +265,7 @@
|
|||||||
//
|
//
|
||||||
// Language features:
|
// Language features:
|
||||||
// tidy-alphabetical-start
|
// tidy-alphabetical-start
|
||||||
|
#![cfg_attr(not(bootstrap), feature(cfg_sanitizer_cfi))]
|
||||||
#![feature(alloc_error_handler)]
|
#![feature(alloc_error_handler)]
|
||||||
#![feature(allocator_internals)]
|
#![feature(allocator_internals)]
|
||||||
#![feature(allow_internal_unsafe)]
|
#![feature(allow_internal_unsafe)]
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
// Note, however, that we run on lots older linuxes, as well as cross
|
// 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
|
// compiling from a newer linux to an older linux, so we also have a
|
||||||
// fallback implementation to use as well.
|
// fallback implementation to use as well.
|
||||||
#[allow(unexpected_cfgs)]
|
#[cfg_attr(bootstrap, allow(unexpected_cfgs))]
|
||||||
#[cfg(any(
|
#[cfg(any(
|
||||||
target_os = "linux",
|
target_os = "linux",
|
||||||
target_os = "android",
|
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
|
// check-pass
|
||||||
// compile-flags: -Clto -Cno-prepopulate-passes -Ctarget-feature=-crt-static -Zsanitizer=cfi -Zsanitizer-cfi-generalize-pointers
|
// 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)]
|
#[cfg(sanitizer_cfi_generalize_pointers)]
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
@ -5,5 +5,7 @@
|
|||||||
// check-pass
|
// check-pass
|
||||||
// compile-flags: -Clto -Cno-prepopulate-passes -Ctarget-feature=-crt-static -Zsanitizer=cfi -Zsanitizer-cfi-normalize-integers
|
// 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)]
|
#[cfg(sanitizer_cfi_normalize_integers)]
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
Loading…
Reference in New Issue
Block a user