re PR fortran/58324 (Bogus END-of-line error with list-directed I/O of file without trailing sequential record marker)
2014-03-15 Jerry DeLisle <jvdelisle@gcc.gnu> PR libfortran/58324 * io/list_read.c (finish_list_read): Read one character to check for the end of the file. If it is the end, then issue the file end error message. If not, use eat_line to reach the end without giving error. The next attempt to read will then issue the error as described above. From-SVN: r208591
This commit is contained in:
parent
68a2304438
commit
e94710443a
@ -1,3 +1,12 @@
|
||||
2014-03-15 Jerry DeLisle <jvdelisle@gcc.gnu>
|
||||
|
||||
PR libfortran/58324
|
||||
* io/list_read.c (finish_list_read): Read one character to check
|
||||
for the end of the file. If it is the end, then issue the file
|
||||
end error message. If not, use eat_line to reach the end
|
||||
without giving error. The next attempt to read will then
|
||||
issue the error as described above.
|
||||
|
||||
2014-03-12 Jerry DeLisle <jvdelisle@gcc.gnu>
|
||||
|
||||
PR libfortran/38199
|
||||
@ -10,7 +19,7 @@
|
||||
formatted READ.
|
||||
* io/list_read.c (finish_list_read): Don't call eat_line for
|
||||
internal units.
|
||||
|
||||
|
||||
2014-03-08 Jerry DeLisle <jvdelisle@gcc.gnu>
|
||||
|
||||
PR libfortran/38199
|
||||
|
@ -2092,8 +2092,6 @@ list_formatted_read (st_parameter_dt *dtp, bt type, void *p, int kind,
|
||||
void
|
||||
finish_list_read (st_parameter_dt *dtp)
|
||||
{
|
||||
int err;
|
||||
|
||||
free_saved (dtp);
|
||||
|
||||
fbuf_flush (dtp->u.p.current_unit, dtp->u.p.mode);
|
||||
@ -2106,13 +2104,20 @@ finish_list_read (st_parameter_dt *dtp)
|
||||
|
||||
if (!is_internal_unit (dtp))
|
||||
{
|
||||
err = eat_line (dtp);
|
||||
if (err == LIBERROR_END)
|
||||
int c;
|
||||
c = next_char (dtp);
|
||||
if (c == EOF)
|
||||
{
|
||||
free_line (dtp);
|
||||
hit_eof (dtp);
|
||||
return;
|
||||
}
|
||||
if (c != '\n')
|
||||
eat_line (dtp);
|
||||
}
|
||||
|
||||
free_line (dtp);
|
||||
|
||||
}
|
||||
|
||||
/* NAMELIST INPUT
|
||||
|
Loading…
Reference in New Issue
Block a user