Re: [PATCH] compat: helper for detecting unsigned overflow
- From
- Joshua Juran <jjuran@gmail.com>
- Date
- Feb 10, 2011, 13:23 UTC
- Message-ID
- <E84FF9D8-92D7-4CA0-9CF4-77FF33893977@gmail.com>
- In-Reply-To
- <AANLkTinqkSxj0C+GyMVR4a7d=yy_mh+oDuar0moZjZ8_@mail.gmail.com>
On Feb 10, 2011, at 4:11 AM, Sverre Rabbelier wrote:
Show 14 quoted lines
> On Thu, Feb 10, 2011 at 10:35, Jonathan Nieder <jrnieder@gmail.com> > wrote: >> unsigned_add_overflows(a, b) > >> Define such a macro, expanding roughly to ((a) < UINT_MAX - (b)). >> Because the expansion uses each argument only once outside of >> sizeof() >> expressions, it is safe to use with arguments that have side effects. > >> +#define unsigned_add_overflows(a, b) \ >> + ((b) > maximum_unsigned_value_of_type(a) - (a)) > > I'm confused, you say you won't use it twice, and then you do use it > twice?
The author is asserting that maximum_unsigned_value_of_type() is a function of sizeof a, which would have no runtime effect.
Josh