diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-03-18 02:38:17 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-03-18 02:38:17 +0000 |
commit | 59011a60c01403fec67e08bc6b94bb44da920482 (patch) | |
tree | 7c1839131a6afe8a4689fb882f4a40ba696bb7b8 /libgfortran/io/io.h | |
parent | 5408fbe892f610330f2d06f1cbdae515c1656443 (diff) | |
download | gcc-59011a60c01403fec67e08bc6b94bb44da920482.zip gcc-59011a60c01403fec67e08bc6b94bb44da920482.tar.gz gcc-59011a60c01403fec67e08bc6b94bb44da920482.tar.bz2 |
re PR fortran/43265 (No EOF condition if reading with '(x)' from an empty file)
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.
From-SVN: r157527
Diffstat (limited to 'libgfortran/io/io.h')
-rw-r--r-- | libgfortran/io/io.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h index 8f482e6..aa79edd 100644 --- a/libgfortran/io/io.h +++ b/libgfortran/io/io.h @@ -642,9 +642,6 @@ internal_proto(type_name); extern void * read_block_form (st_parameter_dt *, int *); internal_proto(read_block_form); -extern char *read_sf (st_parameter_dt *, int *); -internal_proto(read_sf); - extern void *write_block (st_parameter_dt *, int); internal_proto(write_block); |