diff mbox series

Fix PR88133

Message ID alpine.LSU.2.20.1811211516580.1827@zhemvz.fhfr.qr
State New
Headers show
Series Fix PR88133 | expand

Commit Message

Richard Biener Nov. 21, 2018, 2:18 p.m. UTC
This fixes a bogus warning in bitmap.c by avoiding the problematic
transform of cunrolli, thereby eliding the elt->bits[0] test for
--disable-checking.

Bootstrapped (with and without --disable-checking) and tested on
x86_64-unknown-linux-gnu, applied.

Richard.

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.
diff mbox series

Patch

Index: gcc/bitmap.c
===================================================================
--- gcc/bitmap.c	(revision 266340)
+++ gcc/bitmap.c	(working copy)
@@ -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
Index: gcc/Makefile.in
===================================================================
--- gcc/Makefile.in	(revision 266340)
+++ gcc/Makefile.in	(working copy)
@@ -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