-
Bug
-
Resolution: Unresolved
-
Critical
-
rhel-10.0.beta
-
None
-
rust-1.79.0-3.el10
-
Yes
-
None
-
1
-
rhel-sst-pt-llvm-rust-go
-
ssg_platform_tools
-
1
-
False
-
-
No
-
SST LLVM/Rust/Go Sprint 8
-
Pass
-
Automated
-
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") } }
- is cloned by
-
RHEL-54024 Jump threading MIR opt unsoundly uses bitpattern equality for floats
- Closed
-
RHEL-54025 Jump threading MIR opt unsoundly uses bitpattern equality for floats
- Closed
- links to
-
RHBA-2024:131363 rust bug fix and enhancement update
- mentioned on