https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90150
Bug ID: 90150
Summary: wrong output produced by float format fX.Y descriptor
following translated scientific format XpeY.Z
Product: gcc
Version: 6.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: perini at wisc dot edu
Target Milestone: ---
Created attachment 46201
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46201&action=edit
Simple test program that reproduces the error
Hi,
just found this error in floating point string format in gfortran 7.4.0.
The error affects floating point output (fX.Y), ONLY when this follows a
scientific output with heading non-zeros (ZpeX.Y).
The fX.Y output number is multiplied i.e. translated by as many digits as in
the previous scientific specifier. The issue seems to happen only when both are
part of a same string format.
The attached program prints the same two numbers (1000.0, 10.0) three times
with the following formats:
A = 1000.0
b = 10.0
$ a.exe
0.100E+04 10.000 ! "(1e10.3,1x,f8.3)"
1.000E+03 100.000 ! "(1pe10.3,1x,f8.3)"
10.00E+02 1000.000 ! "(2pe10.3,1x,f8.3)"
Thanks and keep up the good work!
Federico