[openib-general] [PATCH] Avoid truncating to 'long' in ALIGN() macro
Roland Dreier
rdreier at cisco.com
Sat Nov 25 15:09:38 PST 2006
> You would need to also cast the constants with typeof() to.
Why? I'm not much of a C language lawyer, but I would have thought
that in something like
(x) + _a - 1
the "1" will be promoted to the type of the rest of the expression
without any explicit cast. I tested the unsigned long/unsigned int
and u64/int cases of ALIGN(), and my macro with typeof() works for
both of those cases at least.
> But yes, given the array sizing case in the neighbour code,
> perhaps we can use your original patch for now. Feel free
> to push that to Linus.
akpm is CC'ed on this thread. Andrew, are you going to pick this up?
Thanks,
Roland
More information about the general
mailing list