+2008-10-13 Jerry DeLisle <jvdelisle@gcc.gnu.org
+
+ PR libfortran/37083
+ * io/list_read.c (next_char): Simplify EOF tests and set endfile flag.
+ (finish_list_read): Add EOF check.
+
2008-10-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/37753
{
if (length == 0)
{
- if (dtp->u.p.advance_status == ADVANCE_NO)
- {
- if (dtp->u.p.current_unit->endfile == AT_ENDFILE)
- longjmp (*dtp->u.p.eof_jump, 1);
- dtp->u.p.current_unit->endfile = AT_ENDFILE;
- c = '\n';
- }
- else
+ if (dtp->u.p.current_unit->endfile == AT_ENDFILE)
longjmp (*dtp->u.p.eof_jump, 1);
+ dtp->u.p.current_unit->endfile = AT_ENDFILE;
+ c = '\n';
}
}
done:
c = next_char (dtp);
}
while (c != '\n');
+
+ if (dtp->u.p.current_unit->endfile != NO_ENDFILE)
+ {
+ generate_error (&dtp->common, LIBERROR_END, NULL);
+ dtp->u.p.current_unit->endfile = AFTER_ENDFILE;
+ dtp->u.p.current_unit->current_record = 0;
+ }
}
/* NAMELIST INPUT