]> gcc.gnu.org Git - gcc.git/commitdiff
* expr.h (MUST_PASS_IN_STACK): Allow target port to override.
authorJeffrey A Law <law@cygnus.com>
Wed, 24 Dec 1997 22:31:54 +0000 (22:31 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 24 Dec 1997 22:31:54 +0000 (15:31 -0700)
From-SVN: r17230

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

index fd3149d4700bf5050b4d6700574bc47ae2acafdc..575f9a569a1fec511a36999e8b1aaab8aee0a05b 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 aec539a422fc92c4e10f69caf211a8f735e6b295..62909c3c9464005299d009ffc9f0ff7ba35adafd 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 e24a7e25f480cb7e689b8a1fdbcc87b0a20b9401..3a9b3108636b2aa23949f578bc30a4164b6f4773 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
This page took 0.082958 seconds and 5 git commands to generate.