* config/sh/sh.c (sh_gimplify_va_arg_expr): Fix sh2a support.
authorDJ Delorie <dj@redhat.com>
Wed, 29 Aug 2007 03:37:01 +0000 (23:37 -0400)
committerDJ Delorie <dj@gcc.gnu.org>
Wed, 29 Aug 2007 03:37:01 +0000 (23:37 -0400)
From-SVN: r127879

gcc/ChangeLog
gcc/config/sh/sh.c

index 7b738c0e090c9342160b40cbb7474dc4ae5f22e3..223b65ab5664a7e8d0efcdcd293407279128d4fa 100644 (file)
@@ -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.
index 941aadb9f009f1564f41af49c78543fa0d8c8ff3..927355fb775c9cf566b8edfe0a6d2cd267ea285b 100644 (file)
@@ -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);