On Thu, Mar 08, 2018 at 10:25:45PM +0000, Christos Zoulas wrote:
> In article <20180308215453.gb22...@britannica.bec.de>,
> Joerg Sonnenberger  <jo...@bec.de> wrote:
> >On Thu, Mar 08, 2018 at 03:32:33PM -0500, Christos Zoulas wrote:
> >> Module Name:       src
> >> Committed By:      christos
> >> Date:              Thu Mar  8 20:32:33 UTC 2018
> >> 
> >> Modified Files:
> >>    src/sys/sys: bitops.h
> >> 
> >> Log Message:
> >> PR/53081: Fix size of the shift to depend on the type of the bitmap so that
> >> we get the correct width.
> >
> >Please don't use __typeof__. 1ull is good enough and we can depend on
> >a non-stupid compiler to truncate the intermediate.
> 
> The __typeof__ ship has already sailed:
> 
> $ fgrep -r __typeof__ /usr/include/sys/ | wc -l
>        3

Of those, only the rounddown2 is non-optional. That falls into the same
category even, it doesn't really hurt to widen there.

> Doing a 64 bit calculation on a 32 bit platform when it is not needed
> is a waste (and produces narrowing warnings).

It's not a 64bit calculation if the compiler is at least trying to
create sane code. The bit masking should ensure that.

Joerg

Reply via email to