mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-16 21:15:18 +03:00
131 lines
3.4 KiB
Rust
131 lines
3.4 KiB
Rust
//@ add-minicore
|
|
//@ compile-flags: --target=x86_64-unknown-linux-gnu
|
|
//@ needs-llvm-components: x86
|
|
|
|
#![warn(unused_attributes)]
|
|
#![feature(no_core)]
|
|
#![no_core]
|
|
|
|
use minicore::*;
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
extern crate minicore;
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
use minicore::mem::transmute;
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
extern "Rust" {}
|
|
|
|
#[target_feature = "+sse2"]
|
|
//~^ ERROR malformed `target_feature` attribute
|
|
//~| NOTE expected this to be a list
|
|
#[target_feature(enable = "foo")]
|
|
//~^ ERROR not valid for this target
|
|
//~| NOTE `foo` is not valid for this target
|
|
#[target_feature(bar)]
|
|
//~^ ERROR malformed `target_feature` attribute
|
|
//~| NOTE expected this to be of the form `enable = "..."`
|
|
#[target_feature(disable = "baz")]
|
|
//~^ ERROR malformed `target_feature` attribute
|
|
//~| NOTE the only valid argument here is `enable`
|
|
unsafe fn foo() {}
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
mod another {}
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
const FOO: usize = 7;
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
struct Foo;
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
enum Bar {}
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
union Qux {
|
|
f1: u16,
|
|
f2: u16,
|
|
}
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
type Uwu = ();
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
trait Baz {}
|
|
|
|
#[inline(always)]
|
|
//~^ ERROR: cannot use `#[inline(always)]`
|
|
//~| NOTE: see issue #145574 <https://github.com/rust-lang/rust/issues/145574> for more information
|
|
//~| NOTE: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
#[target_feature(enable = "sse2")]
|
|
unsafe fn test() {}
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
static A: () = ();
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
impl Quux for u8 {}
|
|
//~^ NOTE missing `foo` in implementation
|
|
//~| ERROR missing: `foo`
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
impl Foo {}
|
|
|
|
trait Quux {
|
|
fn foo(); //~ NOTE `foo` from trait
|
|
//~^ NOTE: type in trait
|
|
}
|
|
|
|
impl Quux for Foo {
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR `#[target_feature(..)]` cannot be applied to safe trait method
|
|
//~| NOTE cannot be applied to safe trait method
|
|
fn foo() {}
|
|
//~^ NOTE not an `unsafe` function
|
|
//~| ERROR: incompatible type for trait
|
|
//~| NOTE: expected safe fn, found unsafe fn
|
|
//~| NOTE: expected signature `fn()`
|
|
}
|
|
|
|
fn main() {
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
unsafe {
|
|
foo();
|
|
}
|
|
|
|
#[target_feature(enable = "sse2")]
|
|
//~^ ERROR attribute cannot be used on
|
|
|| {};
|
|
}
|
|
|
|
#[target_feature(enable = "+sse2")]
|
|
//~^ ERROR `+sse2` is not valid for this target
|
|
//~| NOTE `+sse2` is not valid for this target
|
|
unsafe fn hey() {}
|
|
|
|
#[target_feature(enable = "sse5")]
|
|
//~^ ERROR `sse5` is not valid for this target
|
|
//~| NOTE `sse5` is not valid for this target
|
|
unsafe fn typo_sse() {}
|
|
|
|
#[target_feature(enable = "avx512")]
|
|
//~^ ERROR `avx512` is not valid for this target
|
|
//~| NOTE `avx512` is not valid for this target
|
|
unsafe fn typo_avx512() {}
|