http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47434
--- Comment #8 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-01-27 17:21:24 UTC --- (In reply to comment #7) > I remember the discussion when we first implemented this and we wanted the + > on > Inf to be consistent with -Inf. Well, the following is in any case wrong: real :: inf inf = 0 inf = 1/inf print "(sp,F0.2)", inf ! SIGN=PLUS print "(ss,F0.2)", inf ! SIGN=SUPPRESS print "(s, F0.2)", inf ! SIGN=PROCESSOR_DEFINED end The same result for "F4.2": Three times "+Inf". (Ditto for g95.) For SIGN=SUPPRESS it should just print "Inf", whether "Inf" or "+Inf" is correct for PROCESSOR_DEFINED is another question. For consistency with the other compilers - and for consistency with 10.7.2.1(6), one should probably remove the "+". For "F4.2" also the other compilers do not seem to print a + with sign='PROCESSOR_DEFINED' though I am not sure that I like Intel's/pathscale's/open64's "Infi" for S and SS better. NAG and Sunf95 have " Inf" for S/SS. Regarding "0.00" vs ".00" with "F0.2": I do not have any real preference; following 10.7.2.1(6) I am slightly inclined that ".00" is better.