With Dominique's test case: character(15) :: str="+ .339 567+2" real :: x read(str,'(F15.6)') x print *, x read(str,'(G15.7)') x print *, x end
Current trunk yields: $ ./a.out 33.956699 0.33899999 It should be: $ ./a.out 33.95670 33.95670 -- Summary: Default BLANK= mode for internal units is wrong Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libfortran AssignedTo: jvdelisle at gcc dot gnu dot org ReportedBy: jvdelisle at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38735