Integer read from stdin yields a value overflow for a valid integer. Here's the example program:
{{{ program int_range integer*4 smallest 100 format(1i11) read(5,100) smallest print 100,smallest end }}} If compiled and invoked as {{{ echo -2147483648 | ./int_range }}} it yields {{{ Fortran runtime error: Value overflowed during integer read }}} but using -2147483647 works. Shouldn't the most negative integer*4 be -2^(31-1) = -2147483648 and the largest integer*4 be 2^(32-1)-1 = 2147483647? Just a note, the largest integer works with this code. -- Summary: Integer read from stdin yields a value overflow for a valid integer. Product: gcc Version: 4.3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: szeliga at colorado dot edu GCC build triplet: powerpc-apple-darwin8 GCC host triplet: powerpc-apple-darwin8 GCC target triplet: powerpc-apple-darwin8 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36515