mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-28 11:17:26 +03:00
fcc1604111
remove -Csoft-float This fixes https://github.com/rust-lang/rust/issues/129893 by removing the offending flag. The flag has been added in pre-1.0 times (https://github.com/rust-lang/rust/pull/9617) without much discussion, probably with the intent to mirror `-msoft-float` in C compilers. It never properly mirrored clang though because it only affected the LLVM float ABI setting, not the "soft-float" target feature (the clang flag sets both). It is also blatantly unsound because it affects how float arguments are passed, making it UB to invoke parts of the standard library. The flag got deprecated with Rust 1.83 (released November 2024), and in the year since then, nobody spoke up in rust-lang/rust#129893 to have it preserved. I think it is time to remove it. I can totally imagine us bringing back a similar flag, properly registered as a target modifier to preserve soundness, but that should come with a coherent design that works for more than one architecture (the flag only does anything on ARM). Blocked on approval of https://github.com/rust-lang/compiler-team/issues/971. Fixes https://github.com/rust-lang/rust/issues/154106