(aggregate_value_p): If hard_function_value returns
authorJim Wilson <wilson@gcc.gnu.org>
Mon, 8 Jul 1996 22:11:03 +0000 (15:11 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Mon, 8 Jul 1996 22:11:03 +0000 (15:11 -0700)
a non-REG, then return 0.

From-SVN: r12413

gcc/function.c

index beaca62f60a928e7bf410d31a4bb235d043cc82c..275685e6ab29a1fe4c350bd557bc91ce159bed3b 100644 (file)
@@ -3222,6 +3222,12 @@ aggregate_value_p (exp)
   /* Make sure we have suitable call-clobbered regs to return
      the value in; if not, we must return it in memory.  */
   reg = hard_function_value (type, 0);
+
+  /* If we have something other than a REG (e.g. a PARALLEL), then assume
+     it is OK.  */
+  if (GET_CODE (reg) != REG)
+    return 0;
+
   regno = REGNO (reg);
   nregs = HARD_REGNO_NREGS (regno, TYPE_MODE (type));
   for (i = 0; i < nregs; i++)