]> git.lizzy.rs Git - rust.git/blob - src/test/ui/target-feature-wrong.rs
Auto merge of #51605 - ericfindlay:master, r=kennytm
[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-powerpc
17 // ignore-powerpc64
18 // ignore-powerpc64le
19 // ignore-s390x
20 // ignore-sparc
21 // ignore-sparc64
22
23 #![feature(target_feature)]
24
25 #[target_feature = "+sse2"]
26 //~^ ERROR: must be of the form
27 #[target_feature(enable = "foo")]
28 //~^ ERROR: not valid for this target
29 #[target_feature(bar)]
30 //~^ ERROR: only accepts sub-keys
31 #[target_feature(disable = "baz")]
32 //~^ ERROR: only accepts sub-keys
33 unsafe fn foo() {}
34
35 #[target_feature(enable = "sse2")]
36 //~^ ERROR: can only be applied to `unsafe` function
37 fn bar() {}
38
39 #[target_feature(enable = "sse2")]
40 //~^ ERROR: should be applied to a function
41 mod another {}
42
43 #[inline(always)]
44 //~^ ERROR: cannot use #[inline(always)]
45 #[target_feature(enable = "sse2")]
46 unsafe fn test() {}
47
48 fn main() {
49     unsafe {
50         foo();
51         bar();
52     }
53 }