mips.c (mips_pass_by_reference): Do not return false for EABI if type is NULL.
authorRichard Sandiford <richard@codesourcery.com>
Thu, 5 Oct 2006 22:19:35 +0000 (22:19 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 5 Oct 2006 22:19:35 +0000 (22:19 +0000)
gcc/
* 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.

From-SVN: r117468

gcc/ChangeLog
gcc/config/mips/mips.c

index 49a3409..3ae2d25 100644 (file)
@@ -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
index 7110a2d..ef4a35e 100644 (file)
@@ -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