aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1998-03-09 06:13:39 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1998-03-09 06:13:39 +0000
commit97e3c42239ca0eb3ee8425cfc40faa615fdead4c (patch)
tree01519a35e3cecc4fddde7f6cd67a69665308f56b /gcc
parent5e75ef4aca22a5c6ac6e32dd46e8035793bd9607 (diff)
downloadgcc-97e3c42239ca0eb3ee8425cfc40faa615fdead4c.zip
gcc-97e3c42239ca0eb3ee8425cfc40faa615fdead4c.tar.gz
gcc-97e3c42239ca0eb3ee8425cfc40faa615fdead4c.tar.bz2
* sh.h (MUST_PASS_IN_STACK): Define.
From-SVN: r18447
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/sh/sh.h8
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 87b27d8..2092ff1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.h (MUST_PASS_IN_STACK): Define.
+
Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
* final.c (shorten_branches): Fix minor logic error in
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 746da4f..fad76c9 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -730,6 +730,14 @@ extern enum reg_class reg_class_from_letter[];
on the stack. */
#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) 0
+/* Nonzero if we do not know how to pass TYPE solely in registers.
+ Values that come in registers with inconvenient padding are stored
+ to memory at the function start. */
+
+#define MUST_PASS_IN_STACK(MODE,TYPE) \
+ ((TYPE) != 0 \
+ && (TREE_CODE (TYPE_SIZE (TYPE)) != INTEGER_CST \
+ || TREE_ADDRESSABLE (TYPE)))
/* Some subroutine macros specific to this machine. */
#define BASE_RETURN_VALUE_REG(MODE) \