From 002de68b31ef4c555e876fa30d1d154bc60d8e45 Mon Sep 17 00:00:00 2001 From: John Healy Date: Fri, 6 Jul 2001 19:09:23 +0000 Subject: 2001-07-06 John Healy * cgen.c (gas_cgen_save_fixups): Modified to allow more than one set of fixups to be stored. (gas_cgen_restore_fixups): Modified to allow the fixup chain to be restored to be chosen from any that are saved. (gas_cgen_swap_fixups): Modified to allow the current set of fixups to be swapped with any other set that has been saved. (gas_cgen_initialize_saved_fixups_array): New routine. * cgen.h: Modifed prototypes for gas_cgen_save_fixups, gas_cgen_restore_fixups, and gas_cgen_swap_fixups. Added definitions or MAX_SAVED_FIXUP_CHAINS. * config/tc-m32r.c (assemble_two_insns): Changed calls to fixup store, swap and restore fuctions to reflect the new interface. --- gas/config/tc-m32r.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gas/config/tc-m32r.c') diff --git a/gas/config/tc-m32r.c b/gas/config/tc-m32r.c index 47378d4..b3d2bc4 100644 --- a/gas/config/tc-m32r.c +++ b/gas/config/tc-m32r.c @@ -554,6 +554,8 @@ md_begin () scom_symbol.section = &scom_section; allow_m32rx (enable_m32rx); + + gas_cgen_initialize_saved_fixups_array(); } #define OPERAND_IS_COND_BIT(operand, indices, index) \ @@ -832,7 +834,7 @@ assemble_two_insns (str, str2, parallel_p) /* Preserve any fixups that have been generated and reset the list to empty. */ - gas_cgen_save_fixups (); + gas_cgen_save_fixups (0); /* Get the indices of the operands of the instruction. */ /* FIXME: CGEN_FIELDS is already recorded, but relying on that fact @@ -941,7 +943,7 @@ assemble_two_insns (str, str2, parallel_p) || (errmsg = (char *) can_make_parallel (&first, &second)) == NULL) { /* Get the fixups for the first instruction. */ - gas_cgen_swap_fixups (); + gas_cgen_swap_fixups (0); /* Write it out. */ expand_debug_syms (first.debug_sym_link, 1); @@ -953,7 +955,7 @@ assemble_two_insns (str, str2, parallel_p) make_parallel (second.buffer); /* Get its fixups. */ - gas_cgen_restore_fixups (); + gas_cgen_restore_fixups (0); /* Write it out. */ expand_debug_syms (second.debug_sym_link, 1); @@ -972,7 +974,7 @@ assemble_two_insns (str, str2, parallel_p) make_parallel (first.buffer); /* Get the fixups for the first instruction. */ - gas_cgen_restore_fixups (); + gas_cgen_restore_fixups (0); /* Write out the first instruction. */ expand_debug_syms (first.debug_sym_link, 1); -- cgit v1.1