write.c (output_float): special check when writing 0.0 with EN and ES formats.
* write.c (output_float): special check when writing 0.0 with EN and ES formats. * pr20480.f90: New test. From-SVN: r96566
This commit is contained in:
parent
e4d5432a73
commit
dcdeec06a0
@ -1,3 +1,8 @@
|
|||||||
|
2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||||
|
|
||||||
|
PR libfortran/20480
|
||||||
|
* pr20480.f90: New test.
|
||||||
|
|
||||||
2005-03-16 Richard Henderson <rth@redhat.com>
|
2005-03-16 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
PR middle-end/15700
|
PR middle-end/15700
|
||||||
|
9
gcc/testsuite/gfortran.dg/pr20480.f90
Normal file
9
gcc/testsuite/gfortran.dg/pr20480.f90
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
! { dg-do run }
|
||||||
|
! PR libfortran/20480
|
||||||
|
! fxcoudert@gcc.gnu.org
|
||||||
|
character(len=80) c
|
||||||
|
write (c,'(ES12.3)') 0.0
|
||||||
|
if (trim(adjustl(c)) .ne. '0.000E+00') call abort ()
|
||||||
|
write (c,'(EN12.3)') 0.0
|
||||||
|
if (trim(adjustl(c)) .ne. '0.000E+00') call abort ()
|
||||||
|
end
|
@ -1,3 +1,9 @@
|
|||||||
|
2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||||
|
|
||||||
|
PR libfortran/20480
|
||||||
|
* write.c (output_float): special check when writing 0.0 with
|
||||||
|
EN and ES formats.
|
||||||
|
|
||||||
2005-03-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
2005-03-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||||
|
|
||||||
PR libfortran/20124
|
PR libfortran/20124
|
||||||
|
@ -411,7 +411,8 @@ output_float (fnode *f, double value, int len)
|
|||||||
case FMT_EN:
|
case FMT_EN:
|
||||||
/* The exponent must be a multiple of three, with 1-3 digits before
|
/* The exponent must be a multiple of three, with 1-3 digits before
|
||||||
the decimal point. */
|
the decimal point. */
|
||||||
e--;
|
if (value != 0.0)
|
||||||
|
e--;
|
||||||
if (e >= 0)
|
if (e >= 0)
|
||||||
nbefore = e % 3;
|
nbefore = e % 3;
|
||||||
else
|
else
|
||||||
@ -428,7 +429,8 @@ output_float (fnode *f, double value, int len)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case FMT_ES:
|
case FMT_ES:
|
||||||
e--;
|
if (value != 0.0)
|
||||||
|
e--;
|
||||||
nbefore = 1;
|
nbefore = 1;
|
||||||
nzero = 0;
|
nzero = 0;
|
||||||
nafter = d;
|
nafter = d;
|
||||||
|
Loading…
Reference in New Issue
Block a user