aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2002-09-12 10:00:21 -0400
committerJason Merrill <jason@gcc.gnu.org>2002-09-12 10:00:21 -0400
commitdb4c55f6934574f06f5c3c7af90c976453095501 (patch)
tree27d201d1be83cd8ba27ee7a791611ef89c4b1062
parent13c0bc206158d370f4a9396c2970650575aa4acf (diff)
downloadgcc-db4c55f6934574f06f5c3c7af90c976453095501.zip
gcc-db4c55f6934574f06f5c3c7af90c976453095501.tar.gz
gcc-db4c55f6934574f06f5c3c7af90c976453095501.tar.bz2
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: r57064
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/calls.c3
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 22006f0..11d2c28 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 2e23809..378c54f 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)