aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2010-11-04 19:43:00 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-11-04 19:43:00 +0100
commit86710a8bf2b766e47127566f9e5839997f8ea531 (patch)
treee3deb063a356674c7c69f37516f5bae272e942a4 /gcc/config
parent4aa8fe39a16b0e8463aa953a0e0983517fc2b90f (diff)
downloadgcc-86710a8bf2b766e47127566f9e5839997f8ea531.zip
gcc-86710a8bf2b766e47127566f9e5839997f8ea531.tar.gz
gcc-86710a8bf2b766e47127566f9e5839997f8ea531.tar.bz2
re PR target/46234 (ICE in expand_expr_real_2 for va-arg-XXX tescases)
PR target/46234 * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref instead of build_va_arg_indirect_ref. * config/spu/spu.c (spu_va_start): Likewise. * config/s390/s390.c (s390_va_start): Likewise. From-SVN: r166323
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/rs6000/rs6000.c2
-rw-r--r--gcc/config/s390/s390.c2
-rw-r--r--gcc/config/spu/spu.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 7ec6699..3014664 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -9252,7 +9252,7 @@ rs6000_va_start (tree valist, rtx nextarg)
f_ovf = DECL_CHAIN (f_res);
f_sav = DECL_CHAIN (f_ovf);
- valist = build_va_arg_indirect_ref (valist);
+ valist = build_simple_mem_ref (valist);
gpr = build3 (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE);
fpr = build3 (COMPONENT_REF, TREE_TYPE (f_fpr), unshare_expr (valist),
f_fpr, NULL_TREE);
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 290ae69..105cf6d 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -8719,7 +8719,7 @@ s390_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED)
f_ovf = DECL_CHAIN (f_fpr);
f_sav = DECL_CHAIN (f_ovf);
- valist = build_va_arg_indirect_ref (valist);
+ valist = build_simple_mem_ref (valist);
gpr = build3 (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE);
fpr = build3 (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr, NULL_TREE);
ovf = build3 (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf, NULL_TREE);
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index 8a41fd8..a9a5d40 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -4154,7 +4154,7 @@ spu_va_start (tree valist, rtx nextarg)
f_args = TYPE_FIELDS (TREE_TYPE (va_list_type_node));
f_skip = DECL_CHAIN (f_args);
- valist = build_va_arg_indirect_ref (valist);
+ valist = build_simple_mem_ref (valist);
args =
build3 (COMPONENT_REF, TREE_TYPE (f_args), valist, f_args, NULL_TREE);
skip =