diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-08-24 19:16:12 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-08-24 19:16:12 -0400 |
commit | 002bdd6c053033674b57183ef9a0fca1fc321db0 (patch) | |
tree | 0ce2d2e4d790994c16e96311b3fed09c1fc4670a /gcc | |
parent | 7063dcbeb705d334e62355cfa1332d2d0c582338 (diff) | |
download | gcc-002bdd6c053033674b57183ef9a0fca1fc321db0.zip gcc-002bdd6c053033674b57183ef9a0fca1fc321db0.tar.gz gcc-002bdd6c053033674b57183ef9a0fca1fc321db0.tar.bz2 |
(expand_call): Check for variable-sized return value in proper place.
From-SVN: r7974
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/calls.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index 9e08558..22ab484 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -667,9 +667,6 @@ expand_call (exp, target, ignore) { struct_value_size = int_size_in_bytes (TREE_TYPE (exp)); - if (struct_value_size < 0) - abort (); - if (target && GET_CODE (target) == MEM) structure_value_addr = XEXP (target, 0); else @@ -680,6 +677,9 @@ expand_call (exp, target, ignore) specified. If we were to allocate space on the stack here, we would have no way of knowing when to free it. */ + if (struct_value_size < 0) + abort (); + structure_value_addr = XEXP (assign_stack_temp (BLKmode, struct_value_size, 1), 0); target = 0; |