Re: [PATCH] Avoid truncating to 'long' in ALIGN() macro

From: Al Viro
Date: Sat Nov 25 2006 - 20:28:51 EST


On Sat, Nov 25, 2006 at 05:17:08PM -0800, Roland Dreier wrote:
> > (typeof(x))((x + a - 1) & ~(a - 1ULL))
>
> Yes I was being stupid thinking I needed a temporary variable to use
> typeof. But what does the cast to typeof(x) accomplish if we write
> things the way you suggested above? It seems that the right things is
> really just
>
> (((x) + (a) - 1) & ~((typeof(x)) (a) - 1))

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