aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2002-06-07 12:00:44 -0600
committerJeff Law <law@gcc.gnu.org>2002-06-07 12:00:44 -0600
commitf28468203d0067182fb93773233af6c1ab07a15a (patch)
treeeaef5662e44dec7f053c7245f694e0423942ac92 /gcc
parent808157065303051f2c1d92e7bc64f8281dd574f8 (diff)
downloadgcc-f28468203d0067182fb93773233af6c1ab07a15a.zip
gcc-f28468203d0067182fb93773233af6c1ab07a15a.tar.gz
gcc-f28468203d0067182fb93773233af6c1ab07a15a.tar.bz2
sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list on empty lists.
* sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list on empty lists. From-SVN: r54347
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/sched-deps.c9
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 72a1a18..40e9554 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 ec18f9d..644f1bd 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 (&reg_last->uses);
- free_INSN_LIST_list (&reg_last->sets);
- free_INSN_LIST_list (&reg_last->clobbers);
+ if (reg_last->uses)
+ free_INSN_LIST_list (&reg_last->uses);
+ if (reg_last->sets)
+ free_INSN_LIST_list (&reg_last->sets);
+ if (reg_last->clobbers)
+ free_INSN_LIST_list (&reg_last->clobbers);
});
CLEAR_REG_SET (&deps->reg_last_in_use);