diff options
Diffstat (limited to 'libgfortran/io/write.c')
-rw-r--r-- | libgfortran/io/write.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c index 47970d4..f03929e 100644 --- a/libgfortran/io/write.c +++ b/libgfortran/io/write.c @@ -2253,6 +2253,12 @@ nml_write_obj (st_parameter_dt *dtp, namelist_info * obj, index_type offset, child_iomsg_len = IOMSG_LEN; } namelist_write_newline (dtp); + + /* If writing to an internal unit, stash it to allow + the child procedure to access it. */ + if (is_internal_unit (dtp)) + stash_internal_unit (dtp); + /* Call the user defined formatted WRITE procedure. */ dtp->u.p.current_unit->child_dtio++; dtio_ptr ((void *)&list_obj, &unit, iotype, &vlist, |