Hi Jerry, This looks fine to me. OK for trunk.
Thanks for the patch. Paul On 25 March 2017 at 13:41, Jerry DeLisle <jvdeli...@charter.net> wrote: > Hi all, > > I managed to figure out the rest of this. > > Attached is updated full patch. I consolidated the two previous test cases > into one which checks all four conditions I was concerned with. > > Regression tested on x86_64_linux. > > Ok for trunk? > > Regards, > > Jerry > > 2017-03-25 Jerry DeLisle <jvdeli...@gcc.gnu.org> > > PR libgfortran/78881 > * io/io.h (st_parameter_dt): Rename unused component last_char to > child_saved_iostat. Move comment to gfc_unit. > * io/list_read.c (list_formatted_read_scalar): After call to > child READ procedure, save the returned iostat value for later > check. (finish_list_read): Only finish READ if child_saved_iostat > was OK. > * io/transfer.c (read_sf_internal): If there is a saved character > in last character, seek back one. Add a new check for EOR > condition. (read_sf): If there is a saved character > in last character, seek back one. (formatted_transfer_scalar_read): > Initialize last character before invoking child procedure. > (data_transfer_init): If child dtio, set advance > status to nonadvancing. Move update of size and check for EOR > condition to before child dtio return. > > Changelog for test case will be added. -- "If you can't explain it simply, you don't understand it well enough" - Albert Einstein