OSDN Git Service

PR middle-end/33273
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Sep 2007 02:13:23 +0000 (02:13 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Sep 2007 02:13:23 +0000 (02:13 +0000)
* expr.c (store_expr): Call adjust_address to change mode of dest_mem
to BLKmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128537 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.c

index 60bd52d..1239d63 100644 (file)
@@ -1,3 +1,9 @@
+2007-09-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/33273
+       * expr.c (store_expr): Call adjust_address to change mode of dest_mem
+       to BLKmode.
+
 2007-09-16  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        * dse.c (find_shift_sequence): Allow word as well as subword shifts.
index 554d72a..9302810 100644 (file)
@@ -4541,7 +4541,8 @@ store_expr (tree exp, rtx target, int call_param_p, bool nontemporal)
                                  MEM_ALIGN (target), false,
                                  exp_len > str_copy_len ? 1 : 0);
       if (exp_len > str_copy_len)
-       clear_storage (dest_mem, GEN_INT (exp_len - str_copy_len),
+       clear_storage (adjust_address (dest_mem, BLKmode, 0),
+                      GEN_INT (exp_len - str_copy_len),
                       BLOCK_OP_NORMAL);
       return NULL_RTX;
     }