[Bug libfortran/20257] Fortran runtime error: End of record occurs when writing large arrays
jvdelisle at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Apr 29 04:27:00 GMT 2006
------- Comment #11 from jvdelisle at gcc dot gnu dot org 2006-04-29 04:27 -------
Subject: Bug 20257
Author: jvdelisle
Date: Sat Apr 29 04:27:09 2006
New Revision: 113373
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113373
Log:
2006-04-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/20257
* io/io.h: Add prototypes for get_internal_unit and free_internal_unit.
* io/unit.c (get_internal_unit): Initialize unit number, not zero.
(free_internal_unit): New function to consolidate freeing memory.
(get_unit): Initialize internal_unit_desc to NULL when unit is
external.
* io/unix.c (mem_close): Check for not NULL before freeing memory.
* io/transfer.c (read_block): Reset bytes_left and skip error if unit
is preconnected and default record length is reached.
(read_block_direct): Ditto.
(write_block): Ditto.
(write_buf): Ditto.
(data_transfer_init): Only flush if not internal unit.
(finalize_transfer): Ditto and delete code to free memory used by
internal units.
(st_read_done): Use new function - free_internal_unit.
(st_write_done): Use new function - free_internal unit.
Modified:
branches/gcc-4_1-branch/libgfortran/ChangeLog
branches/gcc-4_1-branch/libgfortran/io/io.h
branches/gcc-4_1-branch/libgfortran/io/transfer.c
branches/gcc-4_1-branch/libgfortran/io/unit.c
branches/gcc-4_1-branch/libgfortran/io/unix.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20257
More information about the Gcc-bugs
mailing list