Fix memory leaks for IA-64 opcode idescs.
[deliverable/binutils-gdb.git] / gas / config / tc-ia64.c
index abcfe63cb0c0165899ae1ad1ef500d33f50c7fd8..c704cc68df3d5f368e26628ccbbdef376297c526 100644 (file)
@@ -5390,6 +5390,7 @@ emit_one_bundle ()
            as_fatal ("emit_one_bundle: unexpected dynamic op");
 
          sprintf (mnemonic, "%s.%c", idesc->name, "?imbf??"[insn_unit]);
+         ia64_free_opcode (idesc);
          md.slot[curr].idesc = idesc = ia64_find_opcode (mnemonic);
 #if 0
          know (!idesc->next);  /* no resolved dynamic ops have collisions */
@@ -8493,6 +8494,7 @@ md_assemble (str)
            mnemonic = "addl";
          else
            mnemonic = "adds";
+         ia64_free_opcode (idesc);
          idesc = ia64_find_opcode (mnemonic);
 #if 0
          know (!idesc->next);
@@ -8516,6 +8518,7 @@ md_assemble (str)
            mnemonic = "mov.i";
          else
            mnemonic = "mov.m";
+         ia64_free_opcode (idesc);
          idesc = ia64_find_opcode (mnemonic);
          while (idesc != NULL
                 && (idesc->operands[0] != opnd1
This page took 0.050896 seconds and 4 git commands to generate.