re PR middle-end/33273 (FAIL: 27_io/basic_istream/ignore/char/1.cc (test for excess...
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Mon, 17 Sep 2007 02:13:23 +0000 (02:13 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Mon, 17 Sep 2007 02:13:23 +0000 (02:13 +0000)
PR middle-end/33273
* expr.c (store_expr): Call adjust_address to change mode of dest_mem
to BLKmode.

From-SVN: r128537

gcc/ChangeLog
gcc/expr.c

index 60bd52db87f2f9021f4c32d7f6a5334b119bea98..1239d63c2ac8f4a397a11919fa52084bd9802b59 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 554d72a38a9fafb69a5eb0987b69fb5b6eb20fb4..93028108c481a0cded738d346cb7099776a726a2 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;
     }