summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-11 03:35:14 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-11 03:35:14 +0000
commitdd846cb4bdbb2d07a07b0bff1b3c5946b0d30066 (patch)
tree650a7705034843a01dec78021f63f05fa0bb6a8d
parente3691812c0f20274df52d34b0621d77309cffd75 (diff)
downloadgcc-dd846cb4bdbb2d07a07b0bff1b3c5946b0d30066.tar.gz
* 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'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29898 138bc75d-0d04-0410-961f-82ee72b054a4
-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 0386a21f848..888a886f646 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 c846ac6b2aa..08284894003 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)