From aeccaf28d8aadad4c270ffb7ca2727773606fec9 Mon Sep 17 00:00:00 2001 From: rguenth Date: Mon, 19 Jul 2010 15:39:51 +0000 Subject: 2010-07-19 Richard Guenther PR middle-end/44941 * expr.c (emit_block_move_hints): Move zero size check first. Move asserts to more useful places. * calls.c (load_register_parameters): Check for zero size. * gcc.c-torture/compile/pr44941.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162308 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/calls.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gcc/calls.c') diff --git a/gcc/calls.c b/gcc/calls.c index 04892948b02..73771092a48 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -1668,7 +1668,8 @@ load_register_parameters (struct arg_data *args, int num_actuals, emit_move_insn (gen_rtx_REG (word_mode, REGNO (reg) + j), args[i].aligned_regs[j]); - else if (partial == 0 || args[i].pass_on_stack) + else if ((partial == 0 || args[i].pass_on_stack) + && size != 0) { rtx mem = validize_mem (args[i].value); -- cgit v1.2.1