From: Jim Wilson Date: Thu, 31 Oct 1996 18:30:25 +0000 (-0800) Subject: (expand_expr, case CONSTRUCTOR): Don't use a PARALLEL X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e9ac02a6f163690948ef8d3a3ad73b75171079c4;p=gcc.git (expand_expr, case CONSTRUCTOR): Don't use a PARALLEL target. From-SVN: r13085 --- diff --git a/gcc/expr.c b/gcc/expr.c index abdfba72305..09aeeeb2d5f 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -5229,7 +5229,10 @@ expand_expr (exp, target, tmode, modifier) else { - if (target == 0 || ! safe_from_p (target, exp)) + /* Handle calls that pass values in multiple non-contiguous + locations. The Irix 6 ABI has examples of this. */ + if (target == 0 || ! safe_from_p (target, exp) + || GET_CODE (target) == PARALLEL) { if (mode != BLKmode && ! TREE_ADDRESSABLE (exp)) target = gen_reg_rtx (tmode != VOIDmode ? tmode : mode);