aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2004-12-23 16:09:01 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2004-12-23 16:09:01 +0000
commitfaa003343e09656a6b0174c00305073823f2fd0c (patch)
tree82261656f3a9fd3eadfadd7364f74402670803bc /gcc/calls.c
parent579eab589756ecf43ea7b1466d2946506b66c948 (diff)
downloadgcc-faa003343e09656a6b0174c00305073823f2fd0c.zip
gcc-faa003343e09656a6b0174c00305073823f2fd0c.tar.gz
gcc-faa003343e09656a6b0174c00305073823f2fd0c.tar.bz2
re PR target/16819 (ICE with empty struct as arg)
gcc/ChangeLog: PR target/16819 * calls.c (load_register_parameters): Don't call use_regs when nregs is zero. gcc/testsuite/ChangeLog: PR target/16891 * gcc.dg/empty2.c: New. From-SVN: r92551
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 3c4d13e..946e5bd 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1554,8 +1554,8 @@ load_register_parameters (struct arg_data *args, int num_actuals,
use_group_regs (call_fusage, reg);
else if (nregs == -1)
use_reg (call_fusage, reg);
- else
- use_regs (call_fusage, REGNO (reg), nregs == 0 ? 1 : nregs);
+ else if (nregs > 0)
+ use_regs (call_fusage, REGNO (reg), nregs);
}
}
}