aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClinton Popetz <cpopetz@cygnus.com>2000-01-14 21:21:57 +0000
committerClinton Popetz <cpopetz@gcc.gnu.org>2000-01-14 16:21:57 -0500
commitf5c8ac96dc90c77efcc6edf6b89de6d9bfc0f775 (patch)
tree8cc1b1f6061ef44d3539d265751b54f731e06517
parent5e4f624424df8c5a8a6a6a7a7f9b0709d4f1213e (diff)
downloadgcc-f5c8ac96dc90c77efcc6edf6b89de6d9bfc0f775.zip
gcc-f5c8ac96dc90c77efcc6edf6b89de6d9bfc0f775.tar.gz
gcc-f5c8ac96dc90c77efcc6edf6b89de6d9bfc0f775.tar.bz2
mips.c (mips_va_arg): Fix fprv for the 32 bit eabi...
* config/mips/mips.c (mips_va_arg): Fix fprv for the 32 bit eabi, and make sure queued POSTINCREMENT rtl is emitted at the right point. From-SVN: r31422
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/mips/mips.h7
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c2ea56d..76fdf3f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,8 +1,14 @@
2000-01-14 Clinton Popetz <cpopetz@cygnus.com>
+ * config/mips/mips.c (mips_va_arg): Fix fprv for the 32 bit
+ eabi, and make sure queued POSTINCREMENT rtl is emitted at
+ the right point.
+
+2000-01-14 Clinton Popetz <cpopetz@cygnus.com>
+
* builtins.c (PAD_VARARGS_DOWN): Define.
(std_expand_builtin_va_arg): Use the above macro.
- * config/mips/mips.c (PAD_VARARGS_DOWN): Define.
+ * config/mips/mips.h (PAD_VARARGS_DOWN): Define.
* tm.texi (Register Arguments): Document the above macro.
2000-01-14 Nick Clifton <nickc@cygnus.com>
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 5e7195ef..b6d7559 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. MIPS version.
- Copyright (C) 1989, 90-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1989, 90-98, 1999, 2000 Free Software Foundation, Inc.
Contributed by A. Lichnewsky (lich@inria.inria.fr).
Changed by Michael Meissner (meissner@osf.org).
64 bit r4000 support by Ian Lance Taylor (ian@cygnus.com) and
@@ -1438,6 +1438,11 @@ do { \
|| TREE_CODE (TYPE) == UNION_TYPE \
|| TREE_CODE (TYPE) == RECORD_TYPE)) ? BITS_PER_WORD : (ALIGN))
+
+/* Force right-alignment for small varargs in 32 bit little_endian mode */
+
+#define PAD_VARARGS_DOWN (TARGET_64BIT ? BYTES_BIG_ENDIAN : !BYTES_BIG_ENDIAN)
+
/* Define this macro if an argument declared as `char' or `short' in a
prototype should actually be passed as an `int'. In addition to
avoiding errors in certain cases of mismatch, it also makes for