From f283f66b1f8eb2061535a609ae850998b9e44306 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Fri, 3 Mar 1995 03:45:02 +0000 Subject: [PATCH] (expand_expr, CLEANUP_POINT_EXPR): Force the operand out of memory before running cleanups. From-SVN: r9117 --- gcc/expr.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 (); -- 2.30.2