aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-m32r.c
diff options
context:
space:
mode:
authorJohn Healy <jhealy@redhat.com>2001-07-06 19:09:23 +0000
committerJohn Healy <jhealy@redhat.com>2001-07-06 19:09:23 +0000
commit002de68b31ef4c555e876fa30d1d154bc60d8e45 (patch)
treeb24a69f301bd41372d7959a1020c61b8c095a4c9 /gas/config/tc-m32r.c
parentb1aeb4c5a3e17984e4333b45608293ba06ee8085 (diff)
downloadgdb-002de68b31ef4c555e876fa30d1d154bc60d8e45.zip
gdb-002de68b31ef4c555e876fa30d1d154bc60d8e45.tar.gz
gdb-002de68b31ef4c555e876fa30d1d154bc60d8e45.tar.bz2
2001-07-06 John Healy <jhealy@redhat.com>
* 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.
Diffstat (limited to 'gas/config/tc-m32r.c')
-rw-r--r--gas/config/tc-m32r.c10
1 files changed, 6 insertions, 4 deletions
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);