http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52428
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu.org --- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-02-29 08:50:33 UTC --- Post scriptum: * For read (*, '(i18)') i the value -2147483648 is accepted But only if one has compiled the main program with -fno-range-check. Cf. libgfortran/io/read.c's read_decimal function. * For read (*, *) i the value -2147483648 is always rejected, independent of that flag. Cf. libgfortran/io/list_read.c's convert_integer function. Expected: * A list-directed read gives the same result as a read with an edit descriptor. * The value is always accepted - even without -fno-range-check. This flag is completely nontransparent (with regards to the run-time library), it only works if the main program is compiled with that flag, and not even the documentation of the flag mentions that the run-time library is affected. See: -fno-range-check at http://gcc.gnu.org/onlinedocs/gfortran/Fortran-Dialect-Options.html Admittedly, it is mentioned at http://gcc.gnu.org/onlinedocs/gfortran/_005fgfortran_005fset_005foptions.html