aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/mips/mips.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 49a3409..3ae2d25 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-05 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.c (mips_pass_by_reference): Do not return false
+ for EABI if type is NULL. Use a size check based on GET_MODE_SIZE
+ instead.
+
2006-10-05 Bernd Schmidt <bernd.schmidt@analog.com>
* config/bfin/bfin.md (subsi3): Lose expander, change previously
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 7110a2d..ef4a35e 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -7556,10 +7556,10 @@ mips_pass_by_reference (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED,
int size;
/* ??? How should SCmode be handled? */
- if (type == NULL_TREE || mode == DImode || mode == DFmode)
+ if (mode == DImode || mode == DFmode)
return 0;
- size = int_size_in_bytes (type);
+ size = type ? int_size_in_bytes (type) : GET_MODE_SIZE (mode);
return size == -1 || size > UNITS_PER_WORD;
}
else