//@ 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") && cfg!(not(target_env = "musl")) { // Aarch64+GNU+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)); } }