OSDN Git Service

(aggregate_value_p): If hard_function_value returns
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Jul 1996 22:11:03 +0000 (22:11 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Jul 1996 22:11:03 +0000 (22:11 +0000)
a non-REG, then return 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12413 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/function.c

index beaca62..275685e 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++)