aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Taylor <dtaylor@emc.com>2003-06-10 05:34:02 +0000
committerJim Wilson <wilson@gcc.gnu.org>2003-06-09 22:34:02 -0700
commitc566f9bd367cf07de6e9151dd5a5882241b367bf (patch)
treec02c1eb9f0fa9eb3819bc43d46f28bfbc3d7962d
parente489eeb9331efd07f584794f69db5ced3cc959da (diff)
downloadgcc-c566f9bd367cf07de6e9151dd5a5882241b367bf.zip
gcc-c566f9bd367cf07de6e9151dd5a5882241b367bf.tar.gz
gcc-c566f9bd367cf07de6e9151dd5a5882241b367bf.tar.bz2
Patch from David Taylor.
* config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over the f_res field. From-SVN: r67697
-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 5f5031a..43d458d 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 c9b5849..6a9c436 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);