aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-12-10 08:46:44 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1995-12-10 08:46:44 -0500
commit07604beb82888d339e51e31e818c04693ce270e7 (patch)
treec3a948f88c55310a9059f7821f72a07830d8add3 /gcc
parent5cb7a25a952e77361f70d43e545957209739b147 (diff)
downloadgcc-07604beb82888d339e51e31e818c04693ce270e7.zip
gcc-07604beb82888d339e51e31e818c04693ce270e7.tar.gz
gcc-07604beb82888d339e51e31e818c04693ce270e7.tar.bz2
(expand_expr, case CONSTRUCTOR): If TREE_READONLY, set
RTX_UNCHANGING_P in TARGET. From-SVN: r10696
Diffstat (limited to 'gcc')
-rw-r--r--gcc/expr.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 795ec85..7af6750 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -4539,6 +4539,13 @@ expand_expr (exp, target, tmode, modifier)
MEM_IN_STRUCT_P (target) = 1;
}
}
+
+ if (TREE_READONLY (exp))
+ {
+ target = copy_rtx (target);
+ RTX_UNCHANGING_P (target) = 1;
+ }
+
store_constructor (exp, target);
return target;
}