aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d985ed5..80f2afa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index c464b6c..53df089 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -2468,6 +2468,9 @@ function_arg (cum, mode, type, named)
break;
case BLKmode:
+ if (bytes < 0)
+ break;
+ /* FALLTHRU */
case DImode:
case SImode:
case HImode: