summaryrefslogtreecommitdiffstats
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-26 11:16:44 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-26 11:16:44 +0000
commitd2e73365e2f71412a639e180e870b412a8ea125c (patch)
treeeda72672cde30b4f52d59e2ae9a239358052057f /gcc/expr.c
parentce98c1385296822d24f00c01bf313903b10570ca (diff)
downloadppe42-gcc-d2e73365e2f71412a639e180e870b412a8ea125c.tar.gz
ppe42-gcc-d2e73365e2f71412a639e180e870b412a8ea125c.zip
* expr.c (store_field): When making temporary for store, don't
make it TYPE_QUAL_CONST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66103 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 9176c30a8b1..6488a8088b3 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -5528,15 +5528,13 @@ store_field (target, bitsize, bitpos, mode, exp, value_mode, unsignedp, type,
that object. Finally, load from the object into TARGET. This is not
very efficient in general, but should only be slightly more expensive
than the otherwise-required unaligned accesses. Perhaps this can be
- cleaned up later. */
+ cleaned up later. It's tempting to make OBJECT readonly, but it's set
+ twice, once with emit_move_insn and once via store_field. */
if (mode == BLKmode
&& (GET_CODE (target) == REG || GET_CODE (target) == SUBREG))
{
- rtx object
- = assign_temp
- (build_qualified_type (type, TYPE_QUALS (type) | TYPE_QUAL_CONST),
- 0, 1, 1);
+ rtx object = assign_temp (type, 0, 1, 1);
rtx blk_object = adjust_address (object, BLKmode, 0);
if (bitsize != (HOST_WIDE_INT) GET_MODE_BITSIZE (GET_MODE (target)))
OpenPOWER on IntegriCloud