aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/sh/sh.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7b738c0..223b65a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2007-08-28 DJ Delorie <dj@redhat.com>
+
+ * config/sh/sh.c (sh_gimplify_va_arg_expr): Fix sh2a support.
+
2007-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* system.h (CONST_CAST): Avoid union for gcc-4.0.x.
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 941aadb..927355f 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -7201,7 +7201,7 @@ sh_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p,
}
}
- if (TARGET_SH4)
+ if (TARGET_SH4 || TARGET_SH2A_DOUBLE)
{
pass_as_float = ((TREE_CODE (eff_type) == REAL_TYPE && size <= 8)
|| (TREE_CODE (eff_type) == COMPLEX_TYPE
@@ -7313,7 +7313,7 @@ sh_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p,
tmp = build1 (LABEL_EXPR, void_type_node, lab_false);
gimplify_and_add (tmp, pre_p);
- if (size > 4 && ! TARGET_SH4)
+ if (size > 4 && ! (TARGET_SH4 || TARGET_SH2A))
{
tmp = build2 (GIMPLE_MODIFY_STMT, ptr_type_node,
next_o, next_o_limit);