]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
calls.c (store_one_arg): Use size_in_bytes to determine the amount of space to push.
authorJason Merrill <jason@redhat.com>
Thu, 12 Sep 2002 13:53:39 +0000 (09:53 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 12 Sep 2002 13:53:39 +0000 (09:53 -0400)
        * calls.c (store_one_arg): Use size_in_bytes to determine the
        amount of space to push.

From-SVN: r57063

gcc/ChangeLog
gcc/calls.c

index 15802244ec9b630c11464a7c841607200ecebdc2..d1ca4b3180be8900ac117cf34ca1dd37d0a57055 100644 (file)
@@ -1,3 +1,8 @@
+2002-09-12  Jason Merrill  <jason@redhat.com>
+
+       * calls.c (store_one_arg): Use size_in_bytes to determine the
+       amount of space to push.
+
 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
 
        * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
index 6cb2956d66cfb89671868676ed65eecf86df8459..c0a73e7740e96f0d36c9e6d65f9fbcaa7abb5dfc 100644 (file)
@@ -4491,7 +4491,8 @@ store_one_arg (arg, argblock, flags, variable_size, reg_parm_stack_space)
             emit_push_insn for BLKmode is careful to avoid it.  */
          excess = (arg->size.constant - int_size_in_bytes (TREE_TYPE (pval))
                    + partial * UNITS_PER_WORD);
-         size_rtx = expr_size (pval);
+         size_rtx = expand_expr (size_in_bytes (TREE_TYPE (pval)),
+                                 NULL_RTX, TYPE_MODE (sizetype), 0);
        }
 
       if ((flags & ECF_SIBCALL) && GET_CODE (arg->value) == MEM)