From 566422e03b34c8c934b878bf7b0af2fab3b1fb5f Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 21 Nov 2018 14:19:17 +0000 Subject: [PATCH] re PR bootstrap/88133 (Build fails with host GCC < 4.3) 2018-11-21 Richard Biener 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 | 6 ++++++ gcc/Makefile.in | 1 - gcc/bitmap.c | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 967967641f3..2e0be88327f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-11-21 Richard Biener + + 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 PR tree-optimization/88069 diff --git a/gcc/Makefile.in b/gcc/Makefile.in index cf9fcb3b8f4..881487b0839 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -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 diff --git a/gcc/bitmap.c b/gcc/bitmap.c index c3880ebd81c..025594400f9 100644 --- a/gcc/bitmap.c +++ b/gcc/bitmap.c @@ -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 -- 2.30.2