Skip to content

Commit

Permalink
disable problematic float-conv tests in i586 targets
Browse files Browse the repository at this point in the history
  • Loading branch information
RalfJung committed Aug 16, 2024
1 parent 5fe81c4 commit 852b9dd
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions tests/ui/consts/const-float-bits-conv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ macro_rules! const_assert {
};
}

fn has_broken_floats() -> bool {
// i586 targets are broken due to <https://github.com/rust-lang/rust/issues/114479>.
std::env::var("TARGET").is_ok_and(|v| v.contains("i586"))
}

fn f32() {
const_assert!((1f32).to_bits(), 0x3f800000);
const_assert!(u32::from_be_bytes(1f32.to_be_bytes()), 0x3f800000);
Expand All @@ -48,7 +53,9 @@ fn f32() {
const_assert!(f32::from_bits(MASKED_NAN1).is_nan());
const_assert!(f32::from_bits(MASKED_NAN2).is_nan());
const_assert!(f32::from_bits(MASKED_NAN1).to_bits(), MASKED_NAN1);
const_assert!(f32::from_bits(MASKED_NAN2).to_bits(), MASKED_NAN2);
if !has_broken_floats() {
const_assert!(f32::from_bits(MASKED_NAN2).to_bits(), MASKED_NAN2);
}
}

fn f64() {
Expand Down Expand Up @@ -76,7 +83,9 @@ fn f64() {
const_assert!(f64::from_bits(MASKED_NAN1).is_nan());
const_assert!(f64::from_bits(MASKED_NAN2).is_nan());
const_assert!(f64::from_bits(MASKED_NAN1).to_bits(), MASKED_NAN1);
const_assert!(f64::from_bits(MASKED_NAN2).to_bits(), MASKED_NAN2);
if !has_broken_floats() {
const_assert!(f64::from_bits(MASKED_NAN2).to_bits(), MASKED_NAN2);
}
}

fn main() {
Expand Down

0 comments on commit 852b9dd

Please sign in to comment.