[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <adak61j5djh.fsf@cisco.com>
Date: Sat, 25 Nov 2006 15:09:38 -0800
From: Roland Dreier <rdreier@...co.com>
To: David Miller <davem@...emloft.net>
Cc: akpm@...l.org, linux-kernel@...r.kernel.org,
openib-general@...nib.org, tom@...ngridcomputing.com
Subject: Re: [PATCH] Avoid truncating to 'long' in ALIGN() macro
> 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists