]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/16819 (ICE with empty struct as arg)
authorAlexandre Oliva <aoliva@redhat.com>
Thu, 23 Dec 2004 21:39:03 +0000 (21:39 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Thu, 23 Dec 2004 21:39:03 +0000 (21:39 +0000)
gcc/ChangeLog:
PR target/16819
* calls.c (load_register_parameters): Don't call use_regs when
nregs is zero.
gcc/testsuite/ChangeLog:
PR target/16819
* gcc.dg/empty2.c: New.

From-SVN: r92568

gcc/ChangeLog
gcc/calls.c
gcc/testsuite/ChangeLog

index a51b849790d419b1d12e5f81ce1b129081cfade7..35808b5b2730337526c3fdbd0ed5501bc1808d86 100644 (file)
@@ -1,3 +1,9 @@
+2004-12-23  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR target/16819
+       * calls.c (load_register_parameters): Don't call use_regs when
+       nregs is zero.
+
 2004-12-22  Richard Henderson  <rth@redhat.com>
 
        PR target/19102
index 5dc96c684fd3a2be3098e7ecb0782b5847247eb1..c1b900b7d8ba4fe3fb2d1011759c663767204c4e 100644 (file)
@@ -1719,8 +1719,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);
        }
     }
 }
index 68f72a38426086b309c33e974e3005faf92df31d..e0df4c05a12f84fc66a781790998d81326196d4b 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-23  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR target/16819
+       * gcc.dg/empty2.c: New.
+
 2004-12-23  Alexandre Oliva  <aoliva@redhat.com>
 
        * g++.dg/template/spec19.C: New.