diff options
author | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-10-11 03:35:14 +0000 |
---|---|---|
committer | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-10-11 03:35:14 +0000 |
commit | dd846cb4bdbb2d07a07b0bff1b3c5946b0d30066 (patch) | |
tree | 650a7705034843a01dec78021f63f05fa0bb6a8d | |
parent | e3691812c0f20274df52d34b0621d77309cffd75 (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 8 |
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) |