about summary refs log tree commit diff
path: root/src/test/ui/target-feature-wrong.rs
AgeCommit message (Collapse)AuthorLines
2018-12-25Remove licensesMark Rousskov-10/+0
2018-07-31tests/ui: Add missing mips{64} ignoresdragan.mladjenovic-0/+1
2018-06-17test: Ignore some problematic tests on powerpc and powerpc64*John Paul Adrian Glaubitz-0/+2
2018-06-04test: Ignore some problematic tests on sparc and sparc64John Paul Adrian Glaubitz-0/+2
2018-04-16Separately gate each target_feature featureAlex Crichton-1/+1
Use an explicit whitelist for what features are actually stable and can be enabled.
2018-04-10Add ignores for powerpc and s390x to target-feature-wrong.rs and update ↵dragan.mladjenovic-0/+2
references.
2018-04-10Small nits to make couple of tests pass on mips targets.dragan.mladjenovic-0/+1
2018-03-27rustc: Forbid #[inline(always)] with #[target_feature]Alex Crichton-0/+5
Once a target feature is enabled for a function that means that it in general can't be inlined into other functions which don't have that target feature enabled. This can cause both safety and LLVM issues if we were to actually inline it, so `#[inline(always)]` both can't be respected and would be an error if we did so! Today LLVM doesn't inline functions with different `#[target_feature]` annotations, but it turns out that if one is tagged with `#[inline(always)]` it'll override this and cause scary LLVM error to arise! This commit fixes this issue by forbidding these two attributes to be used in conjunction with one another. cc rust-lang-nursery/stdsimd#404
2018-03-07rustc: Fix ICE with `#[target_feature]` on moduleAlex Crichton-0/+4
This commit fixes an ICE in rustc when `#[target_feature]` was applied to items other than functions due to the way the feature was validated.
2018-01-13rustc: Refactor attribute checking to operate on HIRAlex Crichton-0/+2
This'll enable running queries that could be cached and overall be more amenable to the query infastructure.
2018-01-13rustc: Tweak `#[target_feature]` syntaxAlex Crichton-0/+35
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