https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94694
--- Comment #25 from Fritz Reese <foreese at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #24) > The dec_math.f90 FAILs are at all opt levels: > ( ) qsind( 60.000000000000000000000000000000) > 0.866025403784438646763723170753 0.866025403784438596588302061718 > Note: The following floating-point exceptions are signalling: > IEEE_INVALID_FLAG > STOP 1 > > If I preprocess trigd.c before/after the #c21 patch, the difference (appart > from lines/whitespace) are: > - (x = fmaf(((x)), (1.74560547e-02f), ((x) * -2.76216747e-06f))); > + (x = fmaf((x), 1.74560547e-02, (x) * -2.76216747e-06)); > > - (x = 8.66025388e-01f); > + (x = 8.66025388e-01); > > - (x = fmaf(((x)), (1.74560547e-02f), ((x) * -2.76216747e-06f))); > + (x = fmaf((x), 1.74560547e-02, (x) * -2.76216747e-06)); > > - (x = 8.66025388e-01f); > + (x = 8.66025388e-01); > > ... > - static const volatile GFC_REAL_10 tiny = 0x1.p-16400L; > + static const volatile GFC_REAL_10 tiny = 0x1.p-16400l; > ... > - (x = 8.66025403784438646787e-01L); > + (x = 8.66025403784438646787e-01); > ... > - (x = fmal(((x)), (1.74532925229868851602e-02L), ((x) * > -3.04358939097084072823e-12L))); > + (x = fmal((x), 1.74532925229868851602e-02, (x) * > -3.04358939097084072823e-12)); > ... > - (x = 8.66025403784438646763723170752936183e-01q); > + (x = 8.66025403784438646763723170752936183e-01); > > etc., so all that matters is that some float suffixes (f, , L, q) are gone > from the constants (and the L -> l change on tiny and a few others), which > of course matters a lot. Ah, yes, I missed some LITERAL(x) wrappings. Will fix and post an updated patch shortly.