+Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
+
+ * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
+
Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
* abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
So a value padded in memory at the upper end can't go in a register.
For a little-endian machine, the reverse is true. */
+#ifndef MUST_PASS_IN_STACK
#define MUST_PASS_IN_STACK(MODE,TYPE) \
((TYPE) != 0 \
&& (TREE_CODE (TYPE_SIZE (TYPE)) != INTEGER_CST \
% (PARM_BOUNDARY / BITS_PER_UNIT))) \
&& (FUNCTION_ARG_PADDING (MODE, TYPE) \
== (BYTES_BIG_ENDIAN ? upward : downward)))))
+#endif
/* Nonzero if type TYPE should be returned in memory.
Most machines can use the following default definition. */
defined, the argument will be computed in the stack and then loaded into
a register.
+@findex MUST_PASS_IN_STACK
+@item MUST_PASS_IN_STACK (@var{mode}, @var{type})
+Define as a C expression that evaluates to nonzero if we do not know how
+to pass TYPE solely in registers. The file @file{expr.h} defines a
+definition that is usually appropriate, refer to @file{expr.h} for additional
+documentation.
+
@findex FUNCTION_INCOMING_ARG
@item FUNCTION_INCOMING_ARG (@var{cum}, @var{mode}, @var{type}, @var{named})
Define this macro if the target machine has ``register windows'', so