diff options
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/calls.c | 3 |
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 22006f05713..11d2c281c27 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/calls.c b/gcc/calls.c index 2e238094ffb..378c54f0ec2 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -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) |