lkml.org 
[lkml]   [2003]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] 2.4.22pre10: {,un}likely_p() macros for pointers
From
Date
On Mon, 2003-08-11 at 14:55, Andrew Morton wrote:
> Albert Cahalan <albert@users.sourceforge.net> wrote:
> >
> > -#define likely(x) __builtin_expect((x),1)
> > -#define unlikely(x) __builtin_expect((x),0)
> > +#define likely(x) __builtin_expect(!!(x),1)
> > +#define unlikely(x) __builtin_expect(!!(x),0)
>
> Odd. I thought we fixed that ages ago.
>
> Being a simple soul, I prefer __builtin_expect((x) != 0, 1).

That's much harder to read. The !! is a nice
neat idiom. The other way requires a bit of thought.
(is that == or !=, a 0 or 1, and what does that
compute to?)

The !! is visually distinctive. It has only one use.
When you see it, you instantly know that a value is
being converted to the pure boolean form.



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:47    [W:0.076 / U:4.496 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site