re PR bootstrap/88133 (Build fails with host GCC < 4.3)
authorRichard Biener <rguenther@suse.de>
Wed, 21 Nov 2018 14:19:17 +0000 (14:19 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 21 Nov 2018 14:19:17 +0000 (14:19 +0000)
2018-11-21  Richard Biener  <rguenther@suse.de>

PR bootstrap/88133
* bitmap.c (bitmap_last_set_bit): Refactor to avoid warning.
* Makefile.in (bitmap.o-warn): Remove again.

From-SVN: r266344

gcc/ChangeLog
gcc/Makefile.in
gcc/bitmap.c

index 9679676..2e0be88 100644 (file)
@@ -1,3 +1,9 @@
+2018-11-21  Richard Biener  <rguenther@suse.de>
+
+       PR bootstrap/88133
+       * bitmap.c (bitmap_last_set_bit): Refactor to avoid warning.
+       * Makefile.in (bitmap.o-warn): Remove again.
+
 2018-11-20  Jeff Law  <law@redhat.com>
 
        PR tree-optimization/88069
index cf9fcb3..881487b 100644 (file)
@@ -221,7 +221,6 @@ libgcov-merge-tool.o-warn = -Wno-error
 gimple-match.o-warn = -Wno-unused
 generic-match.o-warn = -Wno-unused
 dfp.o-warn = -Wno-strict-aliasing
-bitmap.o-warn = -Wno-error=array-bounds # PR 87926
 
 # All warnings have to be shut off in stage1 if the compiler used then
 # isn't gcc; configure determines that.  WARN_CFLAGS will be either
index c3880eb..0255944 100644 (file)
@@ -1186,13 +1186,13 @@ bitmap_last_set_bit (const_bitmap a)
     elt = elt->next;
 
   bit_no = elt->indx * BITMAP_ELEMENT_ALL_BITS;
-  for (ix = BITMAP_ELEMENT_WORDS - 1; ix >= 0; ix--)
+  for (ix = BITMAP_ELEMENT_WORDS - 1; ix >= 1; ix--)
     {
       word = elt->bits[ix];
       if (word)
        goto found_bit;
     }
-  gcc_unreachable ();
+  gcc_assert (elt->bits[ix] != 0);
  found_bit:
   bit_no += ix * BITMAP_WORD_BITS;
 #if GCC_VERSION >= 3004