* config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
authorMark Mitchell <mark@codesourcery.com>
Sat, 6 Dec 2003 05:40:14 +0000 (05:40 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Sat, 6 Dec 2003 05:40:14 +0000 (05:40 +0000)
From-SVN: r74360

gcc/ChangeLog
gcc/config/ia64/ia64.h

index 9cd85d751b6bf27b438f4996fbe4045b1b93a2ee..6ce8f999b230f6f8303a6fc799c4047f07cae26f 100644 (file)
@@ -1,5 +1,7 @@
 2003-12-05  Mark Mitchell  <mark@codesourcery.com>
 
+       * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
+
        PR c++/13314
        * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
 
index 7a4353bcb4e7939eef355aa51639587ccb37a4ac..84e864908c1ca1ccb4297a0fede1c7e318372944 100644 (file)
@@ -1328,6 +1328,13 @@ enum reg_class
 #define FUNCTION_ARG_PASS_BY_REFERENCE(CUM, MODE, TYPE, NAMED) \
   ia64_function_arg_pass_by_reference (&CUM, MODE, TYPE, NAMED)
 
+/* Nonzero if we do not know how to pass TYPE solely in registers.  */
+
+#define MUST_PASS_IN_STACK(MODE, TYPE) \
+  ((TYPE) != 0                                                 \
+   && (TREE_CODE (TYPE_SIZE (TYPE)) != INTEGER_CST             \
+       || TREE_ADDRESSABLE (TYPE)))
+
 /* A C type for declaring a variable that is used as the first argument of
    `FUNCTION_ARG' and other related values.  For some target machines, the type
    `int' suffices and can hold the number of bytes of argument so far.  */