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