aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2000-11-29 22:03:33 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2000-11-29 22:03:33 +0100
commit981666391297739542a41bc2ea23cb4d64a4a819 (patch)
tree80cd1dba025ee1910c5ed53682cca7323431fa4e
parentb2d7dd203a2e65ce15d70de6d535e763cd642170 (diff)
downloadgcc-981666391297739542a41bc2ea23cb4d64a4a819.zip
gcc-981666391297739542a41bc2ea23cb4d64a4a819.tar.gz
gcc-981666391297739542a41bc2ea23cb4d64a4a819.tar.bz2
expr.c (can_store_by_pieces): Reinitialize max_size for reverse tests.
* expr.c (can_store_by_pieces): Reinitialize max_size for reverse tests. From-SVN: r37857
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expr.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4d38a91..ed669b0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-11-29 Jakub Jelinek <jakub@redhat.com>
+
+ * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
+ tests.
+
2000-11-29 Neil Booth <neilb@earthling.net>
* c-pragma.c (init_pragma): Update for parse_in type change.
diff --git a/gcc/expr.c b/gcc/expr.c
index e520c6d..f924d53 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -2263,7 +2263,7 @@ can_store_by_pieces (len, constfun, constfundata, align)
PTR constfundata;
unsigned int align;
{
- unsigned HOST_WIDE_INT max_size = MOVE_MAX_PIECES + 1, l;
+ unsigned HOST_WIDE_INT max_size, l;
HOST_WIDE_INT offset = 0;
enum machine_mode mode, tmode;
enum insn_code icode;
@@ -2286,6 +2286,7 @@ can_store_by_pieces (len, constfun, constfundata, align)
{
l = len;
mode = VOIDmode;
+ max_size = MOVE_MAX_PIECES + 1;
while (max_size > 1)
{
for (tmode = GET_CLASS_NARROWEST_MODE (MODE_INT);