-
Bug
-
Resolution: Done-Errata
-
Critical
-
rhel-8.10.z
-
None
-
rust-toolset-rhel8-8100020241010204932.95876b8d
-
Yes
-
None
-
2
-
rhel-sst-pt-llvm-rust-go
-
ssg_platform_tools
-
1
-
False
-
-
No
-
SST LLVM/Rust/Go Sprint 8, SST LLVM/Rust/Go Sprint 9
-
Requested
-
None
-
Unspecified Release Note Type - Unknown
-
-
All
-
None
Upstream:
Jump threading was enabled in Rust 1.78, but this bug with floating point comparisons was only discovered 2 weeks ago. It was deemed important enough by the upstream compiler team to justify the 1.80.1 point release, and I think we should strongly consider it for RHEL's upcoming 1.79 builds as well.
The minimized reproducer prints "ok" in debug mode and "bug" in release mode (rustc -O).
fn main() { let tmp = if true { -0.0 } else { 1.0 }; if tmp == 0.0 { println!("ok"); } else { println!("bug") } }
- clones
-
RHEL-54023 Jump threading MIR opt unsoundly uses bitpattern equality for floats
- Release Pending
- links to
-
RHBA-2024:132285 rust-toolset:rhel8 bug fix and enhancement update