summaryrefslogtreecommitdiff
path: root/gcc/config/mips/mips.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/mips/mips.h')
-rw-r--r--gcc/config/mips/mips.h30
1 files changed, 23 insertions, 7 deletions
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 57e6f4890d6..29f7c78bc9d 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -157,13 +157,28 @@ extern struct rtx_def *embedded_pic_fnaddr_rtx; /* function address */
extern int mips_string_length; /* length of strings for mips16 */
extern struct rtx_def *mips16_gp_pseudo_rtx; /* psuedo reg holding $gp */
-/* Functions within mips.c that we reference. */
+/* Functions within mips.c that we reference. Some of these return type
+ HOST_WIDE_INT, so define that here. This is a copy of code in machmode.h.
+
+ ??? It would be good to try to put this as common code someplace. */
+
+#ifndef HOST_BITS_PER_WIDE_INT
+
+#if HOST_BITS_PER_LONG > HOST_BITS_PER_INT
+#define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONG
+#define HOST_WIDE_INT long
+#else
+#define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_INT
+#define HOST_WIDE_INT int
+#endif
+
+#endif
extern void abort_with_insn ();
extern int arith32_operand ();
extern int arith_operand ();
extern int cmp_op ();
-extern long compute_frame_size ();
+extern HOST_WIDE_INT compute_frame_size ();
extern int const_float_1_operand ();
extern void expand_block_move ();
extern int equality_op ();
@@ -186,7 +201,7 @@ extern void mips_asm_file_start ();
extern int mips_can_use_return_insn ();
extern int mips_const_double_ok ();
extern void mips_count_memory_refs ();
-extern int mips_debugger_offset ();
+extern HOST_WIDE_INT mips_debugger_offset ();
extern void mips_declare_object ();
extern int mips_epilogue_delay_slots ();
extern void mips_expand_epilogue ();
@@ -211,7 +226,7 @@ extern int simple_epilogue_p ();
extern int simple_memory_operand ();
extern int double_memory_operand ();
extern int small_int ();
-extern void trace();
+extern void trace ();
extern int uns_arith_operand ();
extern struct rtx_def * embedded_pic_offset ();
extern void mips_order_regs_for_local_alloc ();
@@ -1196,9 +1211,10 @@ do { \
the frame pointer to be the stack pointer after the initial
adjustment. */
-#define DEBUGGER_AUTO_OFFSET(X) mips_debugger_offset (X, 0)
-#define DEBUGGER_ARG_OFFSET(OFFSET, X) mips_debugger_offset (X, OFFSET)
-
+#define DEBUGGER_AUTO_OFFSET(X) \
+ mips_debugger_offset (X, (HOST_WIDE_INT) 0)
+#define DEBUGGER_ARG_OFFSET(OFFSET, X) \
+ mips_debugger_offset (X, (HOST_WIDE_INT) OFFSET)
/* Tell collect that the object format is ECOFF */
#ifndef OBJECT_FORMAT_ROSE