Re: Build failure with v4.9-rc1 and GCC trunk -- compiler weirdness

From: Peter Zijlstra
Date: Thu Feb 02 2017 - 04:03:11 EST


On Wed, Feb 01, 2017 at 11:04:54AM -0800, Joe Perches wrote:
> > +#define order_base_2(n) \
> > +( \
> > + __builtin_constant_p(n) ? ( \
> > + ((n) < 2) ? (n) : \
> > + ilog2((n) - 1) + 1) : \
> > + __order_base_2(n) \
> > + )
>
> Does this work properly when n is a signed negative value?

Do you see it returning a complex number?