http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41093
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-08-27 12:07:52 UTC --- Author: burnus Date: Mon Aug 27 12:07:43 2012 New Revision: 190710 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190710 Log: 2012-08-27 Tobias Burnus <bur...@net-b.de> PR fortran/41093 * gfortran.h (gfc_common_head): Add "int refs". * match.c (gfc_match_common): Increment refs. * resolve.c (resolve_symbol): Only increment formal_ns->refs if formal_ns is not sym->ns. * symbol.c (gfc_free_symbol): Only free formal_ns if if formal_ns is not sym->ns. Free common_block if refs is one. (gfc_release_symbol): Release formal_ns only if the symbol is not ENTRY of a module. * decl.c (get_proc_name): Don't increment gfc_current_ns->refs. * parse.c (parse_interface): Incement proc_unit->refs++ for proc-pointer result variables. * module.c (mio_symbol): Don't increase sym->refs for its use in sym->formal_ns->proc_name. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/decl.c trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/match.c trunk/gcc/fortran/module.c trunk/gcc/fortran/parse.c trunk/gcc/fortran/resolve.c trunk/gcc/fortran/symbol.c