https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90150
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu.org --- Comment #1 from kargl at gcc dot gnu.org --- (In reply to federico from comment #0) > Created attachment 46201 [details] > 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)" > > Can you explain what you think the compiler should output? The P edit descriptor affects the entire string not just the immediately following edit descriptor.