OSDN Git Service

* expr.h (MUST_PASS_IN_STACK): Allow target port to override.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Dec 1997 22:31:54 +0000 (22:31 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Dec 1997 22:31:54 +0000 (22:31 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17230 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.h
gcc/tm.texi

index fd3149d..575f9a5 100644 (file)
@@ -1,3 +1,7 @@
+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,
index aec539a..62909c3 100644 (file)
@@ -216,6 +216,7 @@ enum direction {none, upward, downward};  /* Value has this type.  */
    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     \
@@ -226,6 +227,7 @@ enum direction {none, upward, downward};  /* Value has this type.  */
                          % (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.  */
index e24a7e2..3a9b310 100644 (file)
@@ -2696,6 +2696,13 @@ argument, the compiler will abort.  If @code{REG_PARM_STACK_SPACE} is
 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