From: Jason Merrill Date: Fri, 3 Mar 1995 03:45:02 +0000 (+0000) Subject: (expand_expr, CLEANUP_POINT_EXPR): Force the operand out X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f283f66b1f8eb2061535a609ae850998b9e44306;p=gcc.git (expand_expr, CLEANUP_POINT_EXPR): Force the operand out of memory before running cleanups. From-SVN: r9117 --- diff --git a/gcc/expr.c b/gcc/expr.c index f72102f3364..bd08fe9c5d2 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -4980,7 +4980,10 @@ expand_expr (exp, target, tmode, modifier) int old_temp_level = target_temp_slot_level; push_temp_slots (); target_temp_slot_level = temp_slot_level; - op0 = expand_expr (TREE_OPERAND (exp, 0), target, VOIDmode, modifier); + op0 = expand_expr (TREE_OPERAND (exp, 0), target, tmode, modifier); + /* If we're going to use this value, load it up now. */ + if (! ignore) + op0 = force_not_mem (op0); expand_cleanups_to (old_cleanups); preserve_temp_slots (op0); free_temp_slots ();