about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-01-14 03:27:35 +0000
committerbors <bors@rust-lang.org>2018-01-14 03:27:35 +0000
commitb762c2d9dd47e75905cdeae6bef81a745f09534c (patch)
tree39f62b3eebe164cc663973d8857b62531670e2ae /src/rustllvm/RustWrapper.cpp
parent80e2e67f4c6fbbef5e4789df7fc96804e6a84196 (diff)
parent0ecaa67e9082b609bd8fd315b6cc41be7e8ee139 (diff)
downloadrust-b762c2d9dd47e75905cdeae6bef81a745f09534c.tar.gz
rust-b762c2d9dd47e75905cdeae6bef81a745f09534c.zip
Auto merge of #47223 - alexcrichton:new-target-feature, r=eddyb
rustc: Tweak `#[target_feature]` syntax

This is an implementation of the `#[target_feature]` syntax-related changes of
[RFC 2045][rfc]. Notably two changes have been implemented:

* The new syntax is `#[target_feature(enable = "..")]` instead of
  `#[target_feature = "+.."]`. The `enable` key is necessary instead of the `+`
  to indicate that a feature is being enabled, and a sub-list is used for
  possible expansion in the future. Additionally within this syntax the feature
  names being enabled are now whitelisted against a known set of target feature
  names that we know about.

* The `#[target_feature]` attribute can only be applied to unsafe functions. It
  was decided in the RFC that invoking an instruction possibly not defined for
  the current processor is undefined behavior, so to enable this feature for now
  it requires an `unsafe` intervention.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/2045-target-feature.md
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions