about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2018-04-19 17:54:20 -0700
committerAlex Crichton <alex@alexcrichton.com>2018-04-19 17:54:20 -0700
commit81a643731d987aa320c936110326ab9dfe812bd0 (patch)
tree912ebd776e9aa7b0c52b24c04fbf2992af9dda39
parentfc9da8f795b2670dd1f211d17c0896cc2ea85d45 (diff)
downloadrust-81a643731d987aa320c936110326ab9dfe812bd0.tar.gz
rust-81a643731d987aa320c936110326ab9dfe812bd0.zip
rustc: Blanket whitelist `#[target_feature]`
This commit transitions the `target_feature` attribute from `Normal` to
`Whitelisted`. Discovered in #50095 the fact of whether this attribute is used
or not is dependent on typechecking running and executing `check_name`, but
incremental compilation doesn't currently account for this, meaning that the
attribute ends up being flagged as unused when it shouldn't be.

I was a little too ambitious it seems hoping that `Normal` could be used, so
instead this transitions to `Whitelisted` to be the same as other codegen
attributes like `#[inline]`

Closes #50095
-rw-r--r--src/libsyntax/feature_gate.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs
index 7b7cfe5eea0..21d0fecea21 100644
--- a/src/libsyntax/feature_gate.rs
+++ b/src/libsyntax/feature_gate.rs
@@ -921,7 +921,7 @@ pub const BUILTIN_ATTRIBUTES: &'static [(&'static str, AttributeType, AttributeG
                                  "the `#[naked]` attribute \
                                   is an experimental feature",
                                  cfg_fn!(naked_functions))),
-    ("target_feature", Normal, Ungated),
+    ("target_feature", Whitelisted, Ungated),
     ("export_name", Whitelisted, Ungated),
     ("inline", Whitelisted, Ungated),
     ("link", Whitelisted, Ungated),