diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/target-feature/tied-features.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/test/ui/target-feature/tied-features.rs b/src/test/ui/target-feature/tied-features.rs new file mode 100644 index 000000000..15f01505e --- /dev/null +++ b/src/test/ui/target-feature/tied-features.rs @@ -0,0 +1,34 @@ +// build-fail +// compile-flags: --crate-type=rlib --target=aarch64-unknown-linux-gnu +// needs-llvm-components: aarch64 +#![feature(no_core, lang_items)] +#![no_core] + +#[lang="sized"] +trait Sized {} + +// FIXME: this should not need to be public. +pub fn main() { + #[target_feature(enable = "pacg")] + //~^ ERROR must all be either enabled or disabled together + unsafe fn inner() {} + + unsafe { + foo(); + bar(); + baz(); + inner(); + } +} + +#[target_feature(enable = "paca")] +//~^ ERROR must all be either enabled or disabled together +unsafe fn foo() {} + + +#[target_feature(enable = "paca,pacg")] +unsafe fn bar() {} + +#[target_feature(enable = "paca")] +#[target_feature(enable = "pacg")] +unsafe fn baz() {} |