summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-10 05:34:02 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-10 05:34:02 +0000
commitc6e9edd10e729bfb54bc3e1e6059a054d71b11b6 (patch)
treec02c1eb9f0fa9eb3819bc43d46f28bfbc3d7962d
parent91a385a522a94154f9e0cd940c5937177737af02 (diff)
downloadgcc-c6e9edd10e729bfb54bc3e1e6059a054d71b11b6.tar.gz
Patch from David Taylor.
* config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over the f_res field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67697 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.c10
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5f5031a23cc..43d458d0963 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-06-09 David Taylor <dtaylor@emc.com>
+
+ * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over
+ the f_res field.
+
2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Remove references to host_truncate_target.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index c9b5849737f..6a9c4369508 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -4231,7 +4231,7 @@ rs6000_va_start (valist, nextarg)
rtx nextarg;
{
HOST_WIDE_INT words, n_gpr, n_fpr;
- tree f_gpr, f_fpr, f_ovf, f_sav;
+ tree f_gpr, f_fpr, f_res, f_ovf, f_sav;
tree gpr, fpr, ovf, sav, t;
/* Only SVR4 needs something special. */
@@ -4243,7 +4243,8 @@ rs6000_va_start (valist, nextarg)
f_gpr = TYPE_FIELDS (TREE_TYPE (va_list_type_node));
f_fpr = TREE_CHAIN (f_gpr);
- f_ovf = TREE_CHAIN (f_fpr);
+ f_res = TREE_CHAIN (f_fpr);
+ f_ovf = TREE_CHAIN (f_res);
f_sav = TREE_CHAIN (f_ovf);
valist = build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (valist)), valist);
@@ -4294,7 +4295,7 @@ rtx
rs6000_va_arg (valist, type)
tree valist, type;
{
- tree f_gpr, f_fpr, f_ovf, f_sav;
+ tree f_gpr, f_fpr, f_res, f_ovf, f_sav;
tree gpr, fpr, ovf, sav, reg, t, u;
int indirect_p, size, rsize, n_reg, sav_ofs, sav_scale;
rtx lab_false, lab_over, addr_rtx, r;
@@ -4325,7 +4326,8 @@ rs6000_va_arg (valist, type)
f_gpr = TYPE_FIELDS (TREE_TYPE (va_list_type_node));
f_fpr = TREE_CHAIN (f_gpr);
- f_ovf = TREE_CHAIN (f_fpr);
+ f_res = TREE_CHAIN (f_fpr);
+ f_ovf = TREE_CHAIN (f_res);
f_sav = TREE_CHAIN (f_ovf);
valist = build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (valist)), valist);