diff options
author | Richard Stallman <rms@gnu.org> | 1993-05-24 19:26:25 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-05-24 19:26:25 +0000 |
commit | 8c042b47af6f5d91c4f0baf0c2efa5af7272e002 (patch) | |
tree | 938abd162c8e0c2ac51aac6db6eb5b2991298f64 /gcc | |
parent | 8c9881d147f2a64f7dcef3d0fb146a9073220677 (diff) | |
download | gcc-8c042b47af6f5d91c4f0baf0c2efa5af7272e002.zip gcc-8c042b47af6f5d91c4f0baf0c2efa5af7272e002.tar.gz gcc-8c042b47af6f5d91c4f0baf0c2efa5af7272e002.tar.bz2 |
(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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/expr.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -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; } |