http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47878
--- Comment #11 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-02-24 14:34:09 UTC --- Failing test case - though different to the one reported above: integer :: a(5) open(99,Recl = 40) write(99,'(5i3)') 1,2,3 rewind(99) read(99,'(5i3)') a ! Expected: 1 2 3 0 0 print *, a end The program print here "0 2 3 0 0", but "1 2 3 0 0" with gfortran 4.1, g95, NAG f95, ifort and pathf95. Test case for the actual issue: integer :: a(42) open(99, recl=90) write(99,'(a)') '3F4344484E5A63728592A0AEBAC6BEC1C4C5C6C6C7C6C' & //'8C7C8C5C6C8C8C9C6C7C8C9C9C9CBCECBCCCE' rewind(99) Read (Unit = 99, FMT = '(64(Z2.2))') a print '(10(i5))', a end The crucial part seems to be to have (a) RECL= and (b) a line which is longer than 80 characters.