[Bug fortran/78661] [F03] Namelist output missing object designator under DTIO
janus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 16 22:05:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78661
--- Comment #4 from janus at gcc dot gnu.org ---
I think this should fix it:
Index: libgfortran/io/write.c
===================================================================
--- libgfortran/io/write.c (revision 243729)
+++ libgfortran/io/write.c (working copy)
@@ -2076,7 +2076,7 @@ nml_write_obj (st_parameter_dt *dtp, namelist_info
/* Write namelist variable names in upper case. If a derived type,
nothing is output. If a component, base and base_name are set. */
- if (obj->type != BT_DERIVED)
+ if (obj->type != BT_DERIVED || obj->dtio_sub != NULL)
{
namelist_write_newline (dtp);
write_character (dtp, " ", 1, 1, NODELIM);
@@ -2253,7 +2253,7 @@ nml_write_obj (st_parameter_dt *dtp, namelist_info
child_iomsg = tmp_iomsg;
child_iomsg_len = IOMSG_LEN;
}
- namelist_write_newline (dtp);
+
/* Call the user defined formatted WRITE procedure. */
dtp->u.p.current_unit->child_dtio++;
dtio_ptr ((void *)&list_obj, &unit, iotype, &vlist,
More information about the Gcc-bugs
mailing list