OSDN Git Service

* expr.c (store_constructor_field): Only call adjust_address on MEM.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 28 Oct 2001 16:06:17 +0000 (16:06 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 28 Oct 2001 16:06:17 +0000 (16:06 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46585 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.c

index dfbbf9d..ee0f8e6 100644 (file)
@@ -1,3 +1,7 @@
+Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (store_constructor_field): Only call adjust_address on MEM.
+
 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
 
        * genrecog.c (write_switch):  Output if before switch for
index cd90364..c0ddd98 100644 (file)
@@ -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