diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2003-04-26 11:16:44 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2003-04-26 07:16:44 -0400 |
commit | 85a43a2f113072b8599e45286afd0edb2b0aa98f (patch) | |
tree | eda72672cde30b4f52d59e2ae9a239358052057f /gcc/expr.c | |
parent | c7f79b4cb298e12acd56406db24107614ac9a76b (diff) | |
download | gcc-85a43a2f113072b8599e45286afd0edb2b0aa98f.zip gcc-85a43a2f113072b8599e45286afd0edb2b0aa98f.tar.gz gcc-85a43a2f113072b8599e45286afd0edb2b0aa98f.tar.bz2 |
expr.c (store_field): When making temporary for store, don't make it TYPE_QUAL_CONST.
* expr.c (store_field): When making temporary for store, don't
make it TYPE_QUAL_CONST.
From-SVN: r66103
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -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))) |