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 14:00:21 +0000 (10:00 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 12 Sep 2002 14:00:21 +0000 (10:00 -0400)
        * calls.c (store_one_arg): Use size_in_bytes to determine the
        amount of space to push.

From-SVN: r57064

gcc/ChangeLog
gcc/calls.c

index 22006f057132d5ac4fcc3192e64f98bb914c7c5d..11d2c281c270e4b12ec10f291db42e22e1439536 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.
@@ -2720,12 +2725,8 @@ Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
 
        * testsuite/gcc.dg/tls/diag-3.c: New.
 
-2002-08-06  Jason Merrill  <jason@redhat.com>
-
-       * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is
-       a VAR_DECL with RTL that matches the target, just return that RTL.
-
 2002-08-06  Dale Johannesen  <dalej@apple.com>
+
        * c-common.c (fname_decl): Use line number 0 for
        __func__, to avoid confusing debuggers.
 
index 2e238094ffbb21ce75088ddd50053bd375566ac3..378c54f0ec2d46dbf50b934a1117b08877271113 100644 (file)
@@ -4512,7 +4512,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)