aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>1999-10-11 03:35:14 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>1999-10-11 03:35:14 +0000
commitb5d6a850510e446c0ebbda4b352495ab86d13446 (patch)
tree650a7705034843a01dec78021f63f05fa0bb6a8d
parent74c937ca61c1872ce7ff653c2d7fda6d4b38db30 (diff)
downloadgcc-b5d6a850510e446c0ebbda4b352495ab86d13446.zip
gcc-b5d6a850510e446c0ebbda4b352495ab86d13446.tar.gz
gcc-b5d6a850510e446c0ebbda4b352495ab86d13446.tar.bz2
mips.c (mips_build_va_list): Correct TREE_CHAIN setting when hard-float.
* config/mips/mips.c (mips_build_va_list): Correct TREE_CHAIN setting when hard-float. (mips_va_start): Use corrected setting. (mips_va_arg): Likewise. Also pass a tree to build of POSTINCREMENT_EXPR rather than a naked 'int'. From-SVN: r29898
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/mips/mips.c8
2 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0386a21..888a886 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+Mon Oct 11 13:29:06 1999 Geoffrey Keating <geoffk@cygnus.com>
+
+ * config/mips/mips.c (mips_build_va_list): Correct
+ TREE_CHAIN setting when hard-float.
+ (mips_va_start): Use corrected setting.
+ (mips_va_arg): Likewise. Also pass a tree to build of
+ POSTINCREMENT_EXPR rather than a naked 'int'.
+
Sun Oct 10 18:27:27 1999 Mark Mitchell <mark@codesourcery.com>
* ggc.h (ggc_push_context): Fix comment.
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index c846ac6b..0828489 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -4025,7 +4025,7 @@ mips_build_va_list ()
TYPE_FIELDS (record) = f_fpr;
TREE_CHAIN (f_fpr) = f_rem;
- TREE_CHAIN (f_gpr) = f_gpr;
+ TREE_CHAIN (f_rem) = f_gpr;
layout_type (record);
@@ -4059,7 +4059,7 @@ mips_va_start (stdarg_p, valist, nextarg)
f_fpr = TYPE_FIELDS (va_list_type_node);
f_rem = TREE_CHAIN (f_fpr);
- f_gpr = TREE_CHAIN (f_gpr);
+ f_gpr = TREE_CHAIN (f_rem);
fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr);
rem = build (COMPONENT_REF, TREE_TYPE (f_rem), valist, f_rem);
@@ -4168,7 +4168,7 @@ mips_va_arg (valist, type)
f_fpr = TYPE_FIELDS (va_list_type_node);
f_rem = TREE_CHAIN (f_fpr);
- f_gpr = TREE_CHAIN (f_gpr);
+ f_gpr = TREE_CHAIN (f_rem);
fpr = build (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr);
rem = build (COMPONENT_REF, TREE_TYPE (f_rem), valist, f_rem);
@@ -4218,7 +4218,7 @@ mips_va_arg (valist, type)
expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
}
- t = build (POSTINCREMENT_EXPR, TREE_TYPE (gpr), gpr, rsize);
+ t = build (POSTINCREMENT_EXPR, TREE_TYPE (gpr), gpr, size_int (rsize));
TREE_SIDE_EFFECTS (t) = 1;
r = expand_expr (t, addr_rtx, Pmode, EXPAND_NORMAL);
if (r != addr_rtx)