aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.co.uk>2000-09-15 09:24:47 +0000
committerBernd Schmidt <crux@gcc.gnu.org>2000-09-15 09:24:47 +0000
commitdd193c7921912d50eb6bbeba2819c896ddab2ca0 (patch)
tree39f06fec0829b05183ea106690c5f65bef73695b
parentc363a0c03b467833d2854a574216bb971b9fe16f (diff)
downloadgcc-dd193c7921912d50eb6bbeba2819c896ddab2ca0.zip
gcc-dd193c7921912d50eb6bbeba2819c896ddab2ca0.tar.gz
gcc-dd193c7921912d50eb6bbeba2819c896ddab2ca0.tar.bz2
Set rsize properly for args passed by reference.
From-SVN: r36429
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/config/mips/mips.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a5e9bbb..4ae1654 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -3,6 +3,8 @@
* config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__.
* config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__
is defined.
+ * config/mips/mips.c (mips_va_arg): Args passed by reference have a
+ rsize of UNITS_PER_WORD.
Fri 15-Sep-2000 06:49:07 BST Neil Booth <NeilB@earthling.net>
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 860ce95..ce5f958 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -4456,7 +4456,10 @@ mips_va_arg (valist, type)
indirect
= function_arg_pass_by_reference (NULL, TYPE_MODE (type), type, 0);
if (indirect)
- size = rsize = POINTER_SIZE / BITS_PER_UNIT;
+ {
+ size = POINTER_SIZE / BITS_PER_UNIT;
+ rsize = UNITS_PER_WORD;
+ }
addr_rtx = gen_reg_rtx (Pmode);