On Thu, Aug 7, 2025 at 8:23 PM Jakub Jelinek via Gcc <gcc@gcc.gnu.org> wrote: > > On Thu, Aug 07, 2025 at 08:12:44PM +0200, Toon Moene wrote: > > On 8/7/25 18:38, Andrew Pinski (QUIC) via Gcc wrote: > > > > > So looking into https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121448, I > > > Noticed the options needed to hit this is `-fsignaling-nans > > > -ffinite-math-only`. These 2 options seems contradictory. Should > > > -ffinite-math-only turn off signaling nans? Give a warning or something > > > else? > > > > The original intent (around the early 00's) was for -finite-math-only to > > indicate that the programmer of the code was certain that valid execution of > > said code could only produce finite floating point numbers. > > > > So this combination of options indeed makes no sense, because NaNs are > > "non-finite" floating point bit patterns. > > That is still the case. Though, if we do something about this > (warn or silently disable or warn and disable), it should be only > done in the option finalization, -ffinite-math-only or -ffast-math > option when parsed certainly shouldn't turn off -fsignaling-nans, > otherwise -fsignaling-nans -ffinite-math-only -fno-finite-math-only > will not have signaling nans turned on as it should.
I think we already handle some non-sensical option combinations by dropping the one that imposes stricter requirements. So in this case we'd ignore -ffinite-math-only and diagnose that. Richard. > > Jakub >