compiling gfortran.dg/typebound_proc_31.f90 leaked the type-bound
structs:
56 bytes in 1 blocks are definitely lost.
at 0x4C2CC05: calloc (vg_replace_malloc.c:711)
by 0x151EA90: xcalloc (xmalloc.c:162)
by 0x8E3E4F: gfc_get_typebound_proc(gfc_typebound_proc*) (symbol.c:4945)
by 0x84C095: match_procedure_in_type (decl.c:10486)
by 0x84C095: gfc_match_procedure() (decl.c:6696)
...
gcc/fortran/ChangeLog:
2017-12-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* symbol.c (free_tb_tree): Free type-bound procedure struct.
(gfc_get_typebound_proc): Use explicit memcpy for clarity.
/* TODO: Free type-bound procedure structs themselves; probably needs some
sort of ref-counting mechanism. */
-
+ free (t->n.tb);
free (t);
}
result = XCNEW (gfc_typebound_proc);
if (tb0)
- *result = *tb0;
+ memcpy (result, tb0, sizeof (gfc_typebound_proc));
result->error = 1;
latest_undo_chgset->tbps.safe_push (result);