From 8c042b47af6f5d91c4f0baf0c2efa5af7272e002 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Mon, 24 May 1993 19:26:25 +0000 Subject: [PATCH] (expand_expr): Finish Tue Aug 18 23:07:33 1992 change. (expand_expr): Finish Tue Aug 18 23:07:33 1992 change. It didn't handle the target != 0 case, now it does. From-SVN: r4561 --- gcc/expr.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gcc/expr.c b/gcc/expr.c index a3827379ffd..08b2078cb52 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -5098,6 +5098,18 @@ expand_expr (exp, target, tmode, modifier) is the actual stack address that we want to initialize. The function we call will perform the cleanup in this case. */ + /* If we have already assigned it space, use that space, + not target that we were passed in, as our target + parameter is only a hint. */ + if (DECL_RTL (slot) != 0) + { + target = DECL_RTL (slot); + /* If we have already expanded the slot, so don't do + it again. (mrs) */ + if (TREE_OPERAND (exp, 1) == NULL_TREE) + return target; + } + DECL_RTL (slot) = target; } -- 2.30.2