From 459b861100f2ec92ddba0c7f930b17b2f693fb60 Mon Sep 17 00:00:00 2001 From: kenner Date: Sun, 28 Oct 2001 16:06:17 +0000 Subject: [PATCH] * expr.c (store_constructor_field): Only call adjust_address on MEM. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46585 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/expr.c | 13 +++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dfbbf9d2c0c..ee0f8e61336 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sun Oct 28 09:59:54 2001 Richard Kenner + + * expr.c (store_constructor_field): Only call adjust_address on MEM. + Sun Oct 28 16:48:09 CET 2001 Jan Hubicka * genrecog.c (write_switch): Output if before switch for 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 -- 2.11.0