On Mon, May 15, 2017 at 01:10:43PM -0700, Jerry DeLisle wrote: > > 2017-05-15 Jerry DeLisle <jvdeli...@gcc.gnu.org> > > PR libgfortran/80727 > * transfer.c (read_sf_internal): Remove bogus code to detect EOR. > (read_block_form): For internal units, generate EOR if no more > bytes left in unit and we are trying to read with ADVANCE='NO'.
OK with change below. > > ! { dg-do run } > ! PR80727 Crash of runtime gfortran library during integer transformation > ! Note: before the patch this was giving an incorrect EOR error on READ. > program gfortran_710_io_bug > character str*4 > integer*4 i4 integer(4) > str ='' > i = 256 > write(str,fmt='(a)') i > i = 0 > read ( unit=str(1:4), fmt='(a)' ) i4 > if (i4.ne.256) call abort > end program gfortran_710_io_bug -- Steve 20170425 https://www.youtube.com/watch?v=VWUpyCsUKR4 20161221 https://www.youtube.com/watch?v=IbCHE-hONow