symbol.c (free_old_symbol): Fix confusing comment, and add code to free old_symbol->formal.

fortran/
2005-01-27  Erik Edelmann  <eedelman@gcc.gnu.org>

        * symbol.c (free_old_symbol): Fix confusing comment, and add code
         to free old_symbol->formal.

From-SVN: r110301
This commit is contained in:
Erik Edelmann 2006-01-27 17:05:21 +00:00
parent 929e5e5b5d
commit 091c9413bb
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2005-01-27 Erik Edelmann <eedelman@gcc.gnu.org>
* symbol.c (free_old_symbol): Fix confusing comment, and add code
to free old_symbol->formal.
2005-01-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25964

View File

@ -2230,8 +2230,11 @@ gfc_undo_symbols (void)
}
/* Free sym->old_symbol. sym->old_symbol is mostly a shallow copy of sym; but
few components might have been given new values. */
/* Free sym->old_symbol. sym->old_symbol is mostly a shallow copy of sym; the
components of old_symbol that might need deallocation are the "allocatables"
that are restored in gfc_undo_symbols(), with two exceptions: namelist and
namelist_tail. In case these differ between old_symbol and sym, it's just
because sym->namelist has gotten a few more items. */
static void
free_old_symbol (gfc_symbol * sym)
@ -2245,6 +2248,9 @@ free_old_symbol (gfc_symbol * sym)
if (sym->old_symbol->value != sym->value)
gfc_free_expr (sym->old_symbol->value);
if (sym->old_symbol->formal != sym->formal)
gfc_free_formal_arglist (sym->old_symbol->formal);
gfc_free (sym->old_symbol);
sym->old_symbol = NULL;
}