OSDN Git Service

2010-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Mar 2010 02:38:17 +0000 (02:38 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Mar 2010 02:38:17 +0000 (02:38 +0000)
commitab4da3982a78f694c23d2f2c985474214ec024ba
tree7c1839131a6afe8a4689fb882f4a40ba696bb7b8
parent7071ad11ee3404faa8d57909b6c67f01684e24c1
2010-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/43265
* io/io.h: Delete prototype for read_sf, making it static.
* io/read.c (read_x): Modify to call hit_eof if PAD="no".
* io/transfer.c (read_sf_internal): New static function extracted from
read_sf for use on internal units only. Handle empty string case.
(read_sf): New factoring of this function, make it static.  Add special
conditions for EOF based on ADVANCE="no", PAD="no", and whether any
bytes have been previously read from the record.
(read_block_form): Modify to call read_sf or read_sf_internal.
(next_record_r): Add a done flag similar to next_record_w. Call hit_eof
if internal array unit next record returns finished, meaning an EOF was
found and not done, ie not the last record expected.  For external
units call hit_eof if item_count is 1 or there are no pending spaces.
(next_record): Update call to next_record_r.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157527 138bc75d-0d04-0410-961f-82ee72b054a4
libgfortran/ChangeLog
libgfortran/io/io.h
libgfortran/io/read.c
libgfortran/io/transfer.c