On Wed, May 10, 2017 at 07:44:17AM +0100, Richard Sandiford wrote:
> tbsaunde+...@tbsaunde.org writes:
> > From: Trevor Saunders <tbsaunde+...@tbsaunde.org>
> >
> > This make the sbitmap version return true if the bit was previously
> > unset to make it similar to the bitmap version.
> >
> > gcc/ChangeLog:
> >
> > 2017-05-09  Trevor Saunders  <tbsaunde+...@tbsaunde.org>
> >
> >     * sbitmap.h (bitmap_set_bit): Return bool similar to bitmap
> > version of this function.
> > ---
> >  gcc/sbitmap.h | 9 ++++++---
> >  1 file changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/gcc/sbitmap.h b/gcc/sbitmap.h
> > index cba0452cdb9..d4e3177d495 100644
> > --- a/gcc/sbitmap.h
> > +++ b/gcc/sbitmap.h
> > @@ -108,11 +108,14 @@ bitmap_bit_p (const_sbitmap map, int bitno)
> >  
> >  /* Set bit number BITNO in the sbitmap MAP.  */
> >  
> > -static inline void
> > +static inline bool
> >  bitmap_set_bit (sbitmap map, int bitno)
> >  {
> > -  map->elms[bitno / SBITMAP_ELT_BITS]
> > -    |= (SBITMAP_ELT_TYPE) 1 << (bitno) % SBITMAP_ELT_BITS;
> > +  SBITMAP_ELT_TYPE &word = map->elms[bitno / SBITMAP_ELT_BITS];
> > +    SBITMAP_ELT_TYPE mask = (SBITMAP_ELT_TYPE) 1 << (bitno) % 
> > SBITMAP_ELT_BITS;
> > +    bool ret = (word & mask) == 0;
> > +    word |= mask;
> > +    return ret;
> >  }
> 
> Indentation looks off (mabye it's a mailer thing?).  Think the function
> comment should be updated too -- personally I can never remember whether
> true means "I just set it" or "it was already set" :-)

Sure, I can handle that.

> What's the current position on the use of references?  IMO a pointer
> is clearer here.

Well, I generally think non const references aren't a great idea, so I'm
not really sure why I used one here.  Anyway not a big deal so happy to
change that.

thanks

Trev

> 
> Thanks,
> Richard

Reply via email to