Use gfc_commit_symbol() to remove UNDO status instead of new function.
This is a cleaner version, removing an unneeded function and making sure that no memory leaks can occur if callers change. gcc/fortran/ChangeLog: PR fortran/119157 * gfortran.h (gfc_pop_undo_symbol): Remove prototype. * interface.cc (gfc_get_formal_from_actual_arglist): Use gfc_commit_symbol() instead of gfc_pop_undo_symbol(). * symbol.cc (gfc_pop_undo_symbol): Remove.
This commit is contained in:
parent
7232c005af
commit
9f5b508bc5
3 changed files with 2 additions and 8 deletions
|
@ -3736,7 +3736,6 @@ void gfc_traverse_user_op (gfc_namespace *, void (*)(gfc_user_op *));
|
|||
void gfc_save_all (gfc_namespace *);
|
||||
|
||||
void gfc_enforce_clean_symbol_state (void);
|
||||
void gfc_pop_undo_symbol (void);
|
||||
|
||||
gfc_gsymbol *gfc_get_gsymbol (const char *, bool bind_c);
|
||||
gfc_gsymbol *gfc_find_gsymbol (gfc_gsymbol *, const char *);
|
||||
|
|
|
@ -5836,8 +5836,6 @@ gfc_get_formal_from_actual_arglist (gfc_symbol *sym,
|
|||
{
|
||||
snprintf (name, GFC_MAX_SYMBOL_LEN, "_formal_%d", var_num ++);
|
||||
gfc_get_symbol (name, gfc_current_ns, &s);
|
||||
/* We do not need this in an undo table. */
|
||||
gfc_pop_undo_symbol();
|
||||
if (a->expr->ts.type == BT_PROCEDURE)
|
||||
{
|
||||
gfc_symbol *asym = a->expr->symtree->n.sym;
|
||||
|
@ -5878,12 +5876,14 @@ gfc_get_formal_from_actual_arglist (gfc_symbol *sym,
|
|||
s->declared_at = a->expr->where;
|
||||
s->attr.intent = INTENT_UNKNOWN;
|
||||
(*f)->sym = s;
|
||||
gfc_commit_symbol (s);
|
||||
}
|
||||
else /* If a->expr is NULL, this is an alternate rerturn. */
|
||||
(*f)->sym = NULL;
|
||||
|
||||
f = &((*f)->next);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3898,11 +3898,6 @@ enforce_single_undo_checkpoint (void)
|
|||
gcc_checking_assert (single_undo_checkpoint_p ());
|
||||
}
|
||||
|
||||
void
|
||||
gfc_pop_undo_symbol ()
|
||||
{
|
||||
latest_undo_chgset->syms.pop();
|
||||
}
|
||||
|
||||
/* Undoes all the changes made to symbols in the current statement. */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue