From d2e73365e2f71412a639e180e870b412a8ea125c Mon Sep 17 00:00:00 2001 From: kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Sat, 26 Apr 2003 11:16:44 +0000 Subject: [PATCH] * 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 --- gcc/ChangeLog | 5 +++++ gcc/expr.c | 8 +++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 628695ba8c3b..bc26bb5b81cc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * expr.c (store_field): When making temporary for store, don't + make it TYPE_QUAL_CONST. + 2003-04-25 Phil Edwards <pme@gcc.gnu.org> * toplev.c (read_integral_parameter): Use "argument" in error diff --git a/gcc/expr.c b/gcc/expr.c index 9176c30a8b1f..6488a8088b38 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))) -- GitLab