2002-11-07 H.J. Lu <hjl@gnu.org>
Fix bootstrap/8146 and
gcc.c-torture/execute/
20020307-2.c with -march=i686.
* calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
* expr.c (PUSH_ARGS_REVERSED): Likewise.
* config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
From-SVN: r58898
+2002-11-07 H.J. Lu <hjl@gnu.org>
+
+ Fix bootstrap/8146 and
+ gcc.c-torture/execute/20020307-2.c with -march=i686.
+
+ * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
+ * expr.c (PUSH_ARGS_REVERSED): Likewise.
+
+ * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
+
2002-11-04 Aldy Hernandez <aldyh@redhat.com>
Fix c/8252.
#ifdef PUSH_ROUNDING
+#ifndef PUSH_ARGS_REVERSED
#if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
#define PUSH_ARGS_REVERSED PUSH_ARGS
#endif
+#endif
#endif
#define PUSH_ARGS (TARGET_PUSH_ARGS && !ACCUMULATE_OUTGOING_ARGS)
+/* We want the stack and args grow in opposite directions, even if
+ PUSH_ARGS is 0. */
+#define PUSH_ARGS_REVERSED 1
+
/* Offset of first parameter from the argument pointer register value. */
#define FIRST_PARM_OFFSET(FNDECL) 0
#ifdef PUSH_ROUNDING
+#ifndef PUSH_ARGS_REVERSED
#if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
#define PUSH_ARGS_REVERSED /* If it's last to first. */
#endif
+#endif
#endif