diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2001-10-28 16:06:17 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2001-10-28 11:06:17 -0500 |
commit | 61cb205c64dac1c3d69c8d1e51b14f37f0b09d1b (patch) | |
tree | 174fc296c2a1412123284b48df83b498a9fab814 /gcc/expr.c | |
parent | 9591d210634dab2ee02dd260ab4a3ca2b6aaed04 (diff) | |
download | gcc-61cb205c64dac1c3d69c8d1e51b14f37f0b09d1b.tar.gz |
* expr.c (store_constructor_field): Only call adjust_address on MEM.
From-SVN: r46585
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index cd903641398..c0ddd98042e 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -4472,12 +4472,13 @@ store_constructor_field (target, bitsize, bitpos, generate unnecessary clear instructions anyways. */ && (bitpos == 0 || GET_CODE (target) == MEM)) { - target - = adjust_address (target, - GET_MODE (target) == BLKmode - || 0 != (bitpos - % GET_MODE_ALIGNMENT (GET_MODE (target))) - ? BLKmode : VOIDmode, bitpos / BITS_PER_UNIT); + if (GET_CODE (target) == MEM) + target + = adjust_address (target, + GET_MODE (target) == BLKmode + || 0 != (bitpos + % GET_MODE_ALIGNMENT (GET_MODE (target))) + ? BLKmode : VOIDmode, bitpos / BITS_PER_UNIT); /* Show the alignment may no longer be what it was and update the alias |