Commit 002bdd6c by Richard Kenner

(expand_call): Check for variable-sized return value in proper place.

From-SVN: r7974
parent 7063dcbe
...@@ -667,9 +667,6 @@ expand_call (exp, target, ignore) ...@@ -667,9 +667,6 @@ expand_call (exp, target, ignore)
{ {
struct_value_size = int_size_in_bytes (TREE_TYPE (exp)); struct_value_size = int_size_in_bytes (TREE_TYPE (exp));
if (struct_value_size < 0)
abort ();
if (target && GET_CODE (target) == MEM) if (target && GET_CODE (target) == MEM)
structure_value_addr = XEXP (target, 0); structure_value_addr = XEXP (target, 0);
else else
...@@ -680,6 +677,9 @@ expand_call (exp, target, ignore) ...@@ -680,6 +677,9 @@ expand_call (exp, target, ignore)
specified. If we were to allocate space on the stack here, specified. If we were to allocate space on the stack here,
we would have no way of knowing when to free it. */ we would have no way of knowing when to free it. */
if (struct_value_size < 0)
abort ();
structure_value_addr structure_value_addr
= XEXP (assign_stack_temp (BLKmode, struct_value_size, 1), 0); = XEXP (assign_stack_temp (BLKmode, struct_value_size, 1), 0);
target = 0; target = 0;
......
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