about summary refs log tree commit diff
path: root/compiler/rustc_session/src
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2024-09-02 11:45:59 +0200
committerRalf Jung <post@ralfj.de>2024-11-04 22:56:47 +0100
commitffad9aac27ff8a78f5d751bf88250470e2e9d790 (patch)
tree32e348977a254c1e5cc14310bbcef11c0bfa2eb9 /compiler/rustc_session/src
parent2dece5bb62f234f5622a08289c5a3d1555cd7843 (diff)
downloadrust-ffad9aac27ff8a78f5d751bf88250470e2e9d790.tar.gz
rust-ffad9aac27ff8a78f5d751bf88250470e2e9d790.zip
mark some target features as 'forbidden' so they cannot be (un)set
For now, this is just a warning, but should become a hard error in the future
Diffstat (limited to 'compiler/rustc_session/src')
-rw-r--r--compiler/rustc_session/src/config/cfg.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/rustc_session/src/config/cfg.rs b/compiler/rustc_session/src/config/cfg.rs
index 31ef2bda4f1..f30da4fbfc6 100644
--- a/compiler/rustc_session/src/config/cfg.rs
+++ b/compiler/rustc_session/src/config/cfg.rs
@@ -370,8 +370,9 @@ impl CheckCfg {
         ins!(sym::sanitizer_cfi_normalize_integers, no_values);
 
         ins!(sym::target_feature, empty_values).extend(
-            rustc_target::target_features::all_known_features()
-                .map(|(f, _sb)| f)
+            rustc_target::target_features::all_rust_features()
+                .filter(|(_, s)| s.is_supported())
+                .map(|(f, _s)| f)
                 .chain(rustc_target::target_features::RUSTC_SPECIFIC_FEATURES.iter().cloned())
                 .map(Symbol::intern),
         );