------- Comment #25 from burnus at gcc dot gnu dot org 2008-10-31 21:43 ------- (In reply to comment #24) > First, gfortran (especially the constant folding) doesn't > follow IEEE754 for NaN. AFAIK, there is no distinction > between qNaN and sNaN.
There is no distinction in MPFR - that also the reason why -finit-real=sNaN is not implemented. One reason for the lacking support in MPFR was that IEEE 754-1985 had no destinction (IEEE 754-2008 has). Somehow we need to support at some point sNaN - not only for -finit-real=sNaN but also for IEEE_VALUE. > It appears that gfortran's error message is providing "some > language-defined diagnostic information." That part I think is OK. > I'll also note that the diagnostic information tells you how to > disable the range checking. That is actually not true: For ARITH_NAN and ARITH_UNDERFLOW there is no -fno-range-check mentioned - only for ARITH_OVERFLOW is. Question: Is this bug now fixed or remains something else to do? (Besides mentioning -fno-range-check in the error message and implementing F2003's IEEE functions.) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37930