summaryrefslogtreecommitdiff
path: root/opcodes/fr30-desc.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-05-15 20:54:50 +0000
committerNick Clifton <nickc@redhat.com>2002-05-15 20:54:50 +0000
commit3fe5c219f0c53048527ed541d084ce948172e914 (patch)
treea8c848d348ed3497093e20ff01c941e79a411df9 /opcodes/fr30-desc.c
parent19be65018d1c98d200d98ca40726201c3107508c (diff)
downloadgdb-3fe5c219f0c53048527ed541d084ce948172e914.tar.gz
Regernate cgen built files.
Diffstat (limited to 'opcodes/fr30-desc.c')
-rw-r--r--opcodes/fr30-desc.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/opcodes/fr30-desc.c b/opcodes/fr30-desc.c
index fd6afee7d2d..18963b9f168 100644
--- a/opcodes/fr30-desc.c
+++ b/opcodes/fr30-desc.c
@@ -1747,10 +1747,43 @@ void
fr30_cgen_cpu_close (cd)
CGEN_CPU_DESC cd;
{
+ unsigned int i;
+ CGEN_INSN *insns;
+
+ if (cd->macro_insn_table.init_entries)
+ {
+ insns = cd->macro_insn_table.init_entries;
+ for (i = 0; i < cd->macro_insn_table.num_init_entries; ++i, ++insns)
+ {
+ if (CGEN_INSN_RX ((insns)))
+ regfree(CGEN_INSN_RX (insns));
+ }
+ }
+
+ if (cd->insn_table.init_entries)
+ {
+ insns = cd->insn_table.init_entries;
+ for (i = 0; i < cd->insn_table.num_init_entries; ++i, ++insns)
+ {
+ if (CGEN_INSN_RX (insns))
+ regfree(CGEN_INSN_RX (insns));
+ }
+ }
+
+
+
+ if (cd->macro_insn_table.init_entries)
+ free ((CGEN_INSN *) cd->macro_insn_table.init_entries);
+
if (cd->insn_table.init_entries)
free ((CGEN_INSN *) cd->insn_table.init_entries);
+
if (cd->hw_table.entries)
free ((CGEN_HW_ENTRY *) cd->hw_table.entries);
+
+ if (cd->operand_table.entries)
+ free ((CGEN_HW_ENTRY *) cd->operand_table.entries);
+
free (cd);
}