aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-02-25 17:26:51 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-02-25 17:26:51 -0800
commit8d4540089a757d0f1860f2169937c95c77b6388b (patch)
treec105fce4cd2759ad899e841a5cc2a493e03c8389 /gcc
parent61ba356a99fbb93f321ab8a1892c88182df4d190 (diff)
downloadgcc-8d4540089a757d0f1860f2169937c95c77b6388b.zip
gcc-8d4540089a757d0f1860f2169937c95c77b6388b.tar.gz
gcc-8d4540089a757d0f1860f2169937c95c77b6388b.tar.bz2
i386.c (function_arg): Pass variable sized structures correctly on the stack.
* config/i386/i386.c (function_arg): Pass variable sized structures correctly on the stack. From-SVN: r63442
Diffstat (limited to 'gcc')
-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: