PR libfortran
* io/transfer.c (read_sf): Handle EOR and EOF conditions for
ADVANCE="no" with PAD="yes" or PAD="no".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156540
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-02-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran
+ * io/transfer.c (read_sf): Handle EOR and EOF conditions for
+ ADVANCE="no" with PAD="yes" or PAD="no".
+
2010-02-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/42901
if (lorig > *length && !dtp->u.p.sf_seen_eor && !seen_comma)
{
if (n > 0 || no_error)
- dtp->u.p.at_eof = 1;
+ {
+ if (dtp->u.p.advance_status == ADVANCE_NO)
+ {
+ if (dtp->u.p.current_unit->pad_status == PAD_NO)
+ {
+ hit_eof (dtp);
+ return NULL;
+ }
+ else
+ dtp->u.p.eor_condition = 1;
+ }
+ else
+ dtp->u.p.at_eof = 1;
+ }
else
{
hit_eof (dtp);