This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/47434] Wrong field width for NaN with (F0.n) formatting
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 27 Jan 2011 17:21:48 +0000
- Subject: [Bug libfortran/47434] Wrong field width for NaN with (F0.n) formatting
- Auto-submitted: auto-generated
- References: <bug-47434-4@http.gcc.gnu.org/bugzilla/>
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.