| //@ check-pass |
| |
| #![feature(f16, f128)] |
| |
| fn main() { |
| f16(); |
| f32(); |
| f64(); |
| f128(); |
| } |
| |
| const TEST: bool = 5f32 == f32::NAN; |
| //~^ WARN incorrect NaN comparison |
| |
| fn f16() { |
| macro_rules! number { () => { 5f16 }; } |
| let x = number!(); |
| x == f16::NAN; |
| //~^ WARN incorrect NaN comparison |
| x != f16::NAN; |
| //~^ WARN incorrect NaN comparison |
| x < f16::NAN; |
| //~^ WARN incorrect NaN comparison |
| x > f16::NAN; |
| //~^ WARN incorrect NaN comparison |
| x <= f16::NAN; |
| //~^ WARN incorrect NaN comparison |
| x >= f16::NAN; |
| //~^ WARN incorrect NaN comparison |
| number!() == f16::NAN; |
| //~^ WARN incorrect NaN comparison |
| f16::NAN != number!(); |
| //~^ WARN incorrect NaN comparison |
| } |
| |
| fn f32() { |
| macro_rules! number { () => { 5f32 }; } |
| let x = number!(); |
| x == f32::NAN; |
| //~^ WARN incorrect NaN comparison |
| x != f32::NAN; |
| //~^ WARN incorrect NaN comparison |
| x < f32::NAN; |
| //~^ WARN incorrect NaN comparison |
| x > f32::NAN; |
| //~^ WARN incorrect NaN comparison |
| x <= f32::NAN; |
| //~^ WARN incorrect NaN comparison |
| x >= f32::NAN; |
| //~^ WARN incorrect NaN comparison |
| number!() == f32::NAN; |
| //~^ WARN incorrect NaN comparison |
| f32::NAN != number!(); |
| //~^ WARN incorrect NaN comparison |
| } |
| |
| fn f64() { |
| macro_rules! number { () => { 5f64 }; } |
| let x = number!(); |
| x == f64::NAN; |
| //~^ WARN incorrect NaN comparison |
| x != f64::NAN; |
| //~^ WARN incorrect NaN comparison |
| x < f64::NAN; |
| //~^ WARN incorrect NaN comparison |
| x > f64::NAN; |
| //~^ WARN incorrect NaN comparison |
| x <= f64::NAN; |
| //~^ WARN incorrect NaN comparison |
| x >= f64::NAN; |
| //~^ WARN incorrect NaN comparison |
| number!() == f64::NAN; |
| //~^ WARN incorrect NaN comparison |
| f64::NAN != number!(); |
| //~^ WARN incorrect NaN comparison |
| } |
| |
| fn f128() { |
| macro_rules! number { () => { 5f128 }; } |
| let x = number!(); |
| x == f128::NAN; |
| //~^ WARN incorrect NaN comparison |
| x != f128::NAN; |
| //~^ WARN incorrect NaN comparison |
| x < f128::NAN; |
| //~^ WARN incorrect NaN comparison |
| x > f128::NAN; |
| //~^ WARN incorrect NaN comparison |
| x <= f128::NAN; |
| //~^ WARN incorrect NaN comparison |
| x >= f128::NAN; |
| //~^ WARN incorrect NaN comparison |
| number!() == f128::NAN; |
| //~^ WARN incorrect NaN comparison |
| f128::NAN != number!(); |
| //~^ WARN incorrect NaN comparison |
| } |