------- Comment #1 from burnus at gcc dot gnu dot org 2007-12-15 19:01 ------- Hmm, looking at the test suite results, it works on i686-pc-linux-gnu, i386-pc-linux-gnu, ia64-suse-linux-gnu, x86_64-unknown-linux-gnu, arm-unknown-elf, v850-unknown-elf, i686-pc-cygwin, hppa2.0w-hp-hpux11.11 but fails on hppa-unknown-linux-gnu, hppa64-hp-hpux11.11, powerpc-apple-darwin8.5.0, powerpc64-apple-darwin8.11.0, m32r-unknown-elf, powerpc64-suse-linux-gnu
I wonder whether this is an endian problem. I am transferring the hexadecimal constant z'FFFFFFFF' bitwise to a 4-byte-wide real variable. (Actually, I do not care about its value, only about that (a) the value is transferred bitwise and (b) that if an error is printed for an overflow/underflow/NaN/+-Inf.) On the "working" systems the bit pattern is equivalent to NaN, but I do not know the value is on the failing systems. Which version of the MPFR library are you using? Can you compile and run the following program and post the output? (If needed, use the option -fno-range-check, but seemingly the option is not needed as the message is missing.) print *, real(z'FFFFFFFF') end -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34482