i386.c (function_arg): Pass variable sized structures correctly on the stack.
authorRichard Henderson <rth@redhat.com>
Wed, 26 Feb 2003 01:26:51 +0000 (17:26 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 26 Feb 2003 01:26:51 +0000 (17:26 -0800)
        * config/i386/i386.c (function_arg): Pass variable sized
        structures correctly on the stack.

From-SVN: r63442

gcc/ChangeLog
gcc/config/i386/i386.c

index d985ed55658b4222026049d8e8f26a34864f2fc5..80f2afae69771307c3a85d6c23cb3b4064e4db25 100644 (file)
@@ -1,3 +1,8 @@
+2003-02-25  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (function_arg): Pass variable sized
+       structures correctly on the stack.
+
 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
 
        * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
index c464b6c06748f38d1ed7f6c4401c16850e723076..53df0892172e52e81c45c8782f38a2e718a7da45 100644 (file)
@@ -2468,6 +2468,9 @@ function_arg (cum, mode, type, named)
        break;
 
       case BLKmode:
+       if (bytes < 0)
+         break;
+       /* FALLTHRU */
       case DImode:
       case SImode:
       case HImode: