aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/sparc/sparc.h7
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index eb262bd..c2126c0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+1999-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ * config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
+
1999-12-05 Jakub Jelinek <jakub@redhat.com>
* config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index f402b83..28371f4 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1744,6 +1744,13 @@ init_cumulative_args (& (CUM), (FNTYPE), (LIBNAME), (INDIRECT));
#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \
function_arg_advance (& (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)))
+
/* Determine where to put an argument to a function.
Value is zero to push the argument on the stack,
or a hard register in which to store the argument.