mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-12 18:07:40 +00:00
32 lines
1016 B
Rust
32 lines
1016 B
Rust
![]() |
//@ run-pass
|
||
|
//@ compile-flags: --check-cfg=cfg(target_has_reliable_f16,target_has_reliable_f16_math,target_has_reliable_f128,target_has_reliable_f128_math)
|
||
|
// Verify that the feature gates and config work and are registered as known config
|
||
|
// options.
|
||
|
|
||
|
#![deny(unexpected_cfgs)]
|
||
|
#![feature(cfg_target_has_reliable_f16_f128)]
|
||
|
|
||
|
#[cfg(target_has_reliable_f16)]
|
||
|
pub fn has_f16() {}
|
||
|
|
||
|
#[cfg(target_has_reliable_f16_math)]
|
||
|
pub fn has_f16_math() {}
|
||
|
|
||
|
#[cfg(target_has_reliable_f128 )]
|
||
|
pub fn has_f128() {}
|
||
|
|
||
|
#[cfg(target_has_reliable_f128_math)]
|
||
|
pub fn has_f128_math() {}
|
||
|
|
||
|
fn main() {
|
||
|
if cfg!(target_arch = "aarch64") && cfg!(target_os = "linux") {
|
||
|
// Aarch64+Linux is one target that has support for all features, so use it to spot
|
||
|
// check that the compiler does indeed enable these gates.
|
||
|
|
||
|
assert!(cfg!(target_has_reliable_f16));
|
||
|
assert!(cfg!(target_has_reliable_f16_math));
|
||
|
assert!(cfg!(target_has_reliable_f128));
|
||
|
assert!(cfg!(target_has_reliable_f128_math));
|
||
|
}
|
||
|
}
|