The following short testcase (reduced from gfortran.dg/fmt_zero_precision.f90):
write(*,200) 37.99999 200 format(es8.0,"<") end ouputs " 3.E+01<" instead of " 4.E+01<". This happens on both i686-pc-mingw32 and x86_64-pc-mingw32. -- Summary: [mingw] Wrong rounding in floating-point I/O Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: libfortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: fxcoudert at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36200