aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1993-03-12 00:10:21 +0000
committerDoug Evans <dje@gnu.org>1993-03-12 00:10:21 +0000
commite14fa9c45a5fd9b4be62dedd78daa5559f4c83fc (patch)
treedb4aa309ff091e04ba8f5df5c60b09e38c6ea2db /gcc/expr.h
parentac07e0665d5044978a404837c22bfbf4adbe7ffa (diff)
downloadgcc-e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc.zip
gcc-e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc.tar.gz
gcc-e14fa9c45a5fd9b4be62dedd78daa5559f4c83fc.tar.bz2
* (RETURN_IN_MEMORY): Handle BLKmode values.
From-SVN: r3709
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index f3a8cb5..39e29db 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -225,12 +225,11 @@ enum direction {none, upward, downward}; /* Value has this type. */
&& (FUNCTION_ARG_PADDING (MODE, TYPE) \
== MUST_PASS_IN_STACK_BAD_PADDING))))
-/* Nonzero if type TYPE should be returned in memory
- (even though its mode is not BLKmode).
+/* Nonzero if type TYPE should be returned in memory.
Most machines can use the following default definition. */
#ifndef RETURN_IN_MEMORY
-#define RETURN_IN_MEMORY(TYPE) 0
+#define RETURN_IN_MEMORY(TYPE) (TYPE_MODE (TYPE) == BLKmode)
#endif
/* Optabs are tables saying how to generate insn bodies