diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index eacc39352c7687024c9e8dc9672058ae53514374..07be43fdba5058bd664b64fb21fb355dd5c8c650 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2004-11-01  Andrew Pinski  <pinskia@physics.uc.edu>
+
+	PR bootstrap/18232
+	* bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
+	(EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
+	(EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
+	(EXECUTE_IF_AND_IN_BITMAP): Likewise.
+
 2004-11-01  Joseph S. Myers  <joseph@codesourcery.com>
 
 	PR c/18239
diff --git a/gcc/bitmap.h b/gcc/bitmap.h
index 73d5a58fe3ec1279dc27121ec4f5768be59a6f21..67eb9d2ef47fd0e1e17a0c543335daa734c48335 100644
--- a/gcc/bitmap.h
+++ b/gcc/bitmap.h
@@ -298,9 +298,9 @@ bmp_iter_single_init (bitmap_iterator *bi, bitmap bmp, unsigned min)
    were processed.  */
 
 static inline bool
-bmp_iter_end_p (bitmap_iterator bi)
+bmp_iter_end_p (const bitmap_iterator *bi)
 {
-  return bi.ptr1 == NULL;
+  return bi->ptr1 == NULL;
 }
 
 /* Moves the iterator BI to the next bit of bitmap and returns the bit
@@ -319,7 +319,7 @@ bmp_iter_single_next (bitmap_iterator *bi)
 
 #define EXECUTE_IF_SET_IN_BITMAP(BITMAP, MIN, BITNUM, ITER)		\
   for ((BITNUM) = bmp_iter_single_init (&(ITER), (BITMAP), (MIN));	\
-       !bmp_iter_end_p (ITER);					\
+       !bmp_iter_end_p (&(ITER));					\
        (BITNUM) = bmp_iter_single_next (&(ITER)))
 
 /* Moves the iterator BI to the first set bit on or after the current
@@ -448,7 +448,7 @@ bmp_iter_and_not_next (bitmap_iterator *bi)
 
 #define EXECUTE_IF_AND_COMPL_IN_BITMAP(BMP1, BMP2, MIN, BITNUM, ITER)	\
   for ((BITNUM) = bmp_iter_and_not_init (&(ITER), (BMP1), (BMP2), (MIN)); \
-       !bmp_iter_end_p (ITER);						\
+       !bmp_iter_end_p (&(ITER));						\
        (BITNUM) = bmp_iter_and_not_next (&(ITER)))
 
 /* Moves the iterator BI to the first set bit on or after the current
@@ -592,7 +592,7 @@ bmp_iter_and_next (bitmap_iterator *bi)
 
 #define EXECUTE_IF_AND_IN_BITMAP(BMP1, BMP2, MIN, BITNUM, ITER)		\
   for ((BITNUM) = bmp_iter_and_init (&(ITER), (BMP1), (BMP2), (MIN));	\
-       !bmp_iter_end_p (ITER);						\
+       !bmp_iter_end_p (&(ITER));						\
        (BITNUM) = bmp_iter_and_next (&(ITER)))
 
 #endif /* GCC_BITMAP_H */