(store_constructor): Fix error in last change: just copy MEM, but be sure to share...
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 18 Dec 1995 21:39:20 +0000 (16:39 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 18 Dec 1995 21:39:20 +0000 (16:39 -0500)
(store_constructor): Fix error in last change: just
copy MEM, but be sure to share address.
(expand_expr, case CONSTRUCTOR): Likewise.

From-SVN: r10801

gcc/expr.c

index 5297ae21694a99abab5d3ec8b9a73f06f4092e57..16db109917689d16b1c5b38b66b0f6419266a020 100644 (file)
@@ -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;
            }