/* GAS cgen support.
- Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
/* Maximum number of fixups in an insn.
If you need to change this, allow target to override and do so there. */
+#ifndef GAS_CGEN_MAX_FIXUPS
#define GAS_CGEN_MAX_FIXUPS 3
+#endif
/* Struct defining result of gas_cgen_finish_insn. */
typedef struct {
/* Call this from md_assemble to initialize the assembler callback. */
extern void gas_cgen_init_parse PARAMS ((void));
-extern void gas_cgen_save_fixups PARAMS ((void));
-extern void gas_cgen_restore_fixups PARAMS ((void));
-extern void gas_cgen_swap_fixups PARAMS ((void));
-
+/* Routines and macros for saving fixup chains. */
+extern void gas_cgen_save_fixups PARAMS ((int));
+extern void gas_cgen_restore_fixups PARAMS ((int));
+extern void gas_cgen_swap_fixups PARAMS ((int));
+extern void gas_cgen_initialize_saved_fixups_array PARAMS ((void));
+#define MAX_SAVED_FIXUP_CHAINS 50
+
/* Add a register to the assembler's hash table.
This makes lets GAS parse registers for us.
??? This isn't currently used, but it could be in the future. */
expressionS *));
/* md_apply_fix3 handler */
-extern int gas_cgen_md_apply_fix3 PARAMS ((fixS *, valueT *, segT));
+extern void gas_cgen_md_apply_fix3 PARAMS ((fixS *, valueT *, segT));
/* tc_gen_reloc handler */
extern arelent *gas_cgen_tc_gen_reloc PARAMS ((asection *, fixS *));
const CGEN_OPERAND *, int,
expressionS *));
+extern void gas_cgen_md_operand PARAMS ((expressionS *));
+
+/* Perform any cgen specific initialisation for gas. */
+extern void gas_cgen_begin PARAMS ((void));
+
#endif /* GAS_CGEN_H */