Commit 64ed0f40 by Jim Wilson

(function_cannot_inline_p): Reject function with PARALLEL result.

(function_cannot_inline_p): Reject function with
PARALLEL result.
(expand_inline_function): Abort if function result not handled.

From-SVN: r13340
parent 141719a8
......@@ -91,6 +91,7 @@ function_cannot_inline_p (fndecl)
int max_insns = INTEGRATE_THRESHOLD (fndecl);
register int ninsns = 0;
register tree parms;
rtx result;
/* No inlines with varargs. `grokdeclarator' gives a warning
message about that if `inline' is specified. This code
......@@ -184,6 +185,11 @@ function_cannot_inline_p (fndecl)
return "function with complex parameters cannot be inline";
}
/* We can't inline functions that return a PARALLEL rtx. */
result = DECL_RTL (DECL_RESULT (fndecl));
if (result && GET_CODE (result) == PARALLEL)
return "inline functions not supported for this return value type";
return 0;
}
......@@ -1698,6 +1704,8 @@ expand_inline_function (fndecl, parms, target, ignore, type,
else
map->reg_map[REGNO (loc)] = reg_to_map;
}
else
abort ();
/* Make new label equivalences for the labels in the called function. */
for (i = min_labelno; i < max_labelno; i++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment