From 11805975034e1a54ab579416a3f0f71b1454a68c Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Thu, 12 Sep 2002 09:53:39 -0400 Subject: [PATCH] calls.c (store_one_arg): Use size_in_bytes to determine the amount of space to push. * calls.c (store_one_arg): Use size_in_bytes to determine the amount of space to push. From-SVN: r57063 --- gcc/ChangeLog | 5 +++++ gcc/calls.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 15802244ec9b..d1ca4b3180be 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-09-12 Jason Merrill + + * calls.c (store_one_arg): Use size_in_bytes to determine the + amount of space to push. + 2002-09-12 Jakub Jelinek * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo. diff --git a/gcc/calls.c b/gcc/calls.c index 6cb2956d66cf..c0a73e7740e9 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -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) -- 2.47.2