aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-12-18 16:39:20 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1995-12-18 16:39:20 -0500
commitfec535227f9632e0a9d96fbc4a7a03cf607834b0 (patch)
treeb62c341f1389c84577511a46ea93b0691a4e0174
parent3d199f7a312e6e0fb59245b6e8da4b8469610307 (diff)
downloadgcc-fec535227f9632e0a9d96fbc4a7a03cf607834b0.zip
gcc-fec535227f9632e0a9d96fbc4a7a03cf607834b0.tar.gz
gcc-fec535227f9632e0a9d96fbc4a7a03cf607834b0.tar.bz2
(store_constructor): Fix error in last change: just copy MEM, but be sure to share address.
(store_constructor): Fix error in last change: just copy MEM, but be sure to share address. (expand_expr, case CONSTRUCTOR): Likewise. From-SVN: r10801
-rw-r--r--gcc/expr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 5297ae2..16db109 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -3070,7 +3070,8 @@ store_constructor (exp, target)
if (TREE_READONLY (field))
{
- to_rtx = copy_rtx (to_rtx);
+ to_rtx = change_address (to_rtx, GET_MODE (to_rtx),
+ XEXP (to_rtx, 0));
RTX_UNCHANGING_P (to_rtx) = 1;
}
@@ -4540,7 +4541,8 @@ expand_expr (exp, target, tmode, modifier)
if (TREE_READONLY (exp))
{
- target = copy_rtx (target);
+ target = change_address (target, GET_MODE (target),
+ XEXP (target, 0));
RTX_UNCHANGING_P (target) = 1;
}