]> git.lizzy.rs Git - rust.git/blob - src/test/ui/target-feature-wrong.rs
Auto merge of #54720 - davidtwco:issue-51191, r=nikomatsakis
[rust.git] / src / test / ui / target-feature-wrong.rs
1 // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // ignore-arm
12 // ignore-aarch64
13 // ignore-wasm
14 // ignore-emscripten
15 // ignore-mips
16 // ignore-mips64
17 // ignore-powerpc
18 // ignore-powerpc64
19 // ignore-powerpc64le
20 // ignore-s390x
21 // ignore-sparc
22 // ignore-sparc64
23
24 #![feature(target_feature)]
25
26 #[target_feature = "+sse2"]
27 //~^ ERROR: must be of the form
28 #[target_feature(enable = "foo")]
29 //~^ ERROR: not valid for this target
30 #[target_feature(bar)]
31 //~^ ERROR: only accepts sub-keys
32 #[target_feature(disable = "baz")]
33 //~^ ERROR: only accepts sub-keys
34 unsafe fn foo() {}
35
36 #[target_feature(enable = "sse2")]
37 //~^ ERROR: can only be applied to `unsafe` function
38 fn bar() {}
39
40 #[target_feature(enable = "sse2")]
41 //~^ ERROR: should be applied to a function
42 mod another {}
43
44 #[inline(always)]
45 //~^ ERROR: cannot use #[inline(always)]
46 #[target_feature(enable = "sse2")]
47 unsafe fn test() {}
48
49 fn main() {
50     unsafe {
51         foo();
52         bar();
53     }
54 }