RE: [PATCH next 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness.

From: David Laight
Date: Thu Jul 27 2023 - 10:01:58 EST


From: 'Andy Shevchenko'
> Sent: 26 July 2023 17:20
>
> On Wed, Jul 26, 2023 at 08:30:59AM +0000, David Laight wrote:
> > From: kernel test robot
> > > Sent: 25 July 2023 16:58
> > >
> > > kernel test robot noticed the following build errors:
>
> ...
>
> > > In file included from init/calibrate.c:8:
> > > >> include/linux/jiffies.h:427:28: error: call to undeclared function 'static_assert'; ISO C99 and
> > > later do not support implicit function declarations [-Wimplicit-function-declaration]
> > > 427 | return jiffies_to_clock_t(max(0L, delta));
> > > | ^
> > ...
> > > include/linux/minmax.h:29:3: note: expanded from macro '__cmp_once'
> > > 29 | static_assert(__types_ok(x, y), \
> >
> > This is fixed by the earlier patch:
> > [PATCH v1 1/1] minmax: Fix header inclusions
> >
> > which adds #include <linux/build_bug.h> and thus defines static_assert().
> >
> > Can I just assume that will be applied?
>
> You can test that and reply there with your Tested-by there, it will help it
> to be applied.

I can check it doesn't break my x86-64 build.

I think the build error was on a 'um' build - not really obvious
in the report.

I suspect everything else gets build_bug.h included from a very
common header file.

On x86-64 (5.10.xxx) by forcing an error I get:
CC init/calibrate.o
In file included from linux/include/linux/bits.h:22,
from linux/include/linux/bitops.h:5,
from linux/include/linux/kernel.h:12,
from linux/arch/x86/include/asm/percpu.h:27,
from linux/arch/x86/include/asm/current.h:6,
from linux/arch/x86/include/asm/processor.h:17,
from linux/arch/x86/include/asm/timex.h:5,
from linux/include/linux/timex.h:67,
from linux/include/linux/time32.h:13,
from linux/include/linux/time.h:73,
from linux/include/linux/jiffies.h:10,
from linux/init/calibrate.c:9:
linux/include/linux/build_bug.h: ...

I can't help feeling some of that chain isn't needed :-)

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)