This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch, libgfortran] PR78881 [F03] reading from string with DTIO procedure does not work properly


Hi Jerry,

This looks fine to me. OK for trunk.

Thanks for the patch.

Paul

On 25 March 2017 at 13:41, Jerry DeLisle <jvdelisle@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  <jvdelisle@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]