diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 72a1a180c774cedab667264218cb5428f801e138..40e955426d52aaf8bd8e74591a1e3431d914fd55 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-06-07 Jeffrey Law <law@redhat.com> + + * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list + on empty lists. + 2002-06-07 H.J. Lu (hjl@gnu.org) * configure.in: Add --enable-__cxa_atexit. diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index ec18f9d1973d65f63c4d64ca59e7ec29876c2589..644f1bdbd1f6b1811c610e98633c9ea470dadd4f 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -1508,9 +1508,12 @@ free_deps (deps) EXECUTE_IF_SET_IN_REG_SET (&deps->reg_last_in_use, 0, i, { struct deps_reg *reg_last = &deps->reg_last[i]; - free_INSN_LIST_list (®_last->uses); - free_INSN_LIST_list (®_last->sets); - free_INSN_LIST_list (®_last->clobbers); + if (reg_last->uses) + free_INSN_LIST_list (®_last->uses); + if (reg_last->sets) + free_INSN_LIST_list (®_last->sets); + if (reg_last->clobbers) + free_INSN_LIST_list (®_last->clobbers); }); CLEAR_REG_SET (&deps->reg_last_in_use);