re PR fortran/26766 ([F2003] Recursive I/O still (again) broken)
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Thu, 13 Apr 2006 06:24:58 +0000 (06:24 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Thu, 13 Apr 2006 06:24:58 +0000 (06:24 +0000)
commit6f34d6e078fafa8cdc99a2c3b98d5d8882c62303
treec763d2334fb0ded7d39d7fef5c1d53dabe519ab2
parent7b5d92b270ef6b7a55f4b337ee52777e53695807
re PR fortran/26766 ([F2003] Recursive I/O still (again) broken)

2006-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/26766
* io/io.h: Add bit to identify associated unit as internal.
* io/unit.c (get_external_unit): Renamed the find_unit_1 function to
reflect the external unit functionality vs internal unit.
(get_internal_unit): New function to allocate and initialize an internal
unit structure.
(get_unit): Use get_internal_unit and get_external_unit.
(is_internal_unit): Revised to use new bit added in io.h.
* io/transfer.c (data_transfer_init): Fix line width.
(st_read_done): Free memory allocated for internal unit.
(st_write_done): Add test to only flush and truncate when not an
internal unit.  Free memory allocated for internal unit.

From-SVN: r112914
libgfortran/ChangeLog
libgfortran/io/io.h
libgfortran/io/transfer.c
libgfortran/io/unit.c