2016-11-12 20:15 GMT+01:00 Mikael Morin <morin-mik...@orange.fr>: >>>> [Btw, speaking of gfc_get_tbp_symtree: Can anyone tell me by chance >>>> why it is necessary to nullify 'result->n.tb' on a newly-created >>>> symtree?] >>> >>> >>> Removing the corresponding line does not do any harm to the testsuite, >>> as I just verified: >>> >>> Index: gcc/fortran/class.c >>> =================================================================== >>> --- gcc/fortran/class.c (Revision 242066) >>> +++ gcc/fortran/class.c (Arbeitskopie) >>> @@ -2970,7 +2970,6 @@ gfc_get_tbp_symtree (gfc_symtree **root, const cha >>> { >>> result = gfc_new_symtree (root, name); >>> gcc_assert (result); >>> - result->n.tb = NULL; >>> } >>> >>> return result; >>> >> >> I think the assert can be removed as well. gfc_new_symtree >> is defined by XCNEW, which is defined in terms of xcalloc, >> which is defined in libiberty/xmalloc.c in terms of calloc. >> calloc zeros allocated memory. xcalloc also checks for a >> valid allocation, so gcc_assert is redundant. >> >> > And you can remove «tbp» from the function name, as there is nothing related > to typebound procedures any more.
True. Probably one should also move it to symbol.c. However, one can wonder whether renaming to gfc_get_symtree would not make the name too similar to gfc_get_sym_tree, which also lives in symbol.c ...? Cheers, Janus