From: Richard Kenner Date: Tue, 16 Apr 1996 10:21:39 +0000 (-0400) Subject: (expand_assignment): Don't pre-evaluate RHS if a CALL_EXPR with a X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b35cd3c16c6bcbeddfac00f6c2cfc8b83b14a372;p=gcc.git (expand_assignment): Don't pre-evaluate RHS if a CALL_EXPR with a variable-size return. From-SVN: r11804 --- diff --git a/gcc/expr.c b/gcc/expr.c index e29b404b69e..512a083937f 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -2803,6 +2803,7 @@ expand_assignment (to, from, want_value, suggest_reg) Handling this in the normal way is safe because no computation is done before the call. */ if (TREE_CODE (from) == CALL_EXPR && ! aggregate_value_p (from) + && TREE_CODE (TYPE_SIZE (TREE_TYPE (from))) == INTEGER_CST && ! (TREE_CODE (to) == VAR_DECL && GET_CODE (DECL_RTL (to)) == REG)) { rtx value;