aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/io/transfer.c
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2017-08-28 03:42:47 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2017-08-28 03:42:47 +0000
commitbf498b07586693bd0751a7aed15be59cd3f96206 (patch)
tree59b1526c6a783bc51b642935f339b817ae44428b /libgfortran/io/transfer.c
parent77e320394453c43c4b452e1fdd5d829b1ee9bbe9 (diff)
downloadgcc-bf498b07586693bd0751a7aed15be59cd3f96206.zip
gcc-bf498b07586693bd0751a7aed15be59cd3f96206.tar.gz
gcc-bf498b07586693bd0751a7aed15be59cd3f96206.tar.bz2
re PR fortran/78387 (OpenMP segfault/stack size exceeded writing to internal file)
2017-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/78387 * io/list_read.c (nml_read_obj): Remove use of stash. * io/transfer.c (st_read_done, st_write_done): Likewise. * io/unit.c (stash_internal_unit): Delete function. (get_unit): Remove use of stash. (init_units): Likewise. (close_units): Likewise. * io/write.c (nml_write_obj): Likewise: From-SVN: r251374
Diffstat (limited to 'libgfortran/io/transfer.c')
-rw-r--r--libgfortran/io/transfer.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c
index 298b29e..5296370 100644
--- a/libgfortran/io/transfer.c
+++ b/libgfortran/io/transfer.c
@@ -4080,8 +4080,7 @@ st_read_done (st_parameter_dt *dtp)
free_ionml (dtp);
/* If this is a parent READ statement we do not need to retain the
- internal unit structure for child use. Free it and stash the unit
- number for reuse. */
+ internal unit structure for child use. */
if (dtp->u.p.current_unit != NULL
&& dtp->u.p.current_unit->child_dtio == 0)
{
@@ -4095,7 +4094,6 @@ st_read_done (st_parameter_dt *dtp)
if (dtp->u.p.current_unit->ls)
free (dtp->u.p.current_unit->ls);
dtp->u.p.current_unit->ls = NULL;
- stash_internal_unit (dtp);
}
if (is_internal_unit (dtp) || dtp->u.p.format_not_saved)
{
@@ -4153,8 +4151,7 @@ st_write_done (st_parameter_dt *dtp)
free_ionml (dtp);
/* If this is a parent WRITE statement we do not need to retain the
- internal unit structure for child use. Free it and stash the
- unit number for reuse. */
+ internal unit structure for child use. */
if (is_internal_unit (dtp) &&
(dtp->common.flags & IOPARM_DT_HAS_UDTIO) == 0)
{
@@ -4165,7 +4162,6 @@ st_write_done (st_parameter_dt *dtp)
if (dtp->u.p.current_unit->ls)
free (dtp->u.p.current_unit->ls);
dtp->u.p.current_unit->ls = NULL;
- stash_internal_unit (dtp);
}
if (is_internal_unit (dtp) || dtp->u.p.format_not_saved)
{