Re: [PATCH next] minmax.h: Use auto for variables in __minmax_array()
From: Andrew Morton
Date: Sat Feb 07 2026 - 21:26:03 EST
On Sat, 7 Feb 2026 10:25:51 +0000 David Laight <david.laight.linux@xxxxxxxxx> wrote:
> On Fri, 6 Feb 2026 14:41:35 -0800
> Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> > On Fri, 6 Feb 2026 22:25:54 +0000 david.laight.linux@xxxxxxxxx wrote:
> >
> > > From: David Laight <david.laight.linux@xxxxxxxxx>
> > >
> > > While 'auto __element = _array[--__len]' should remove 'const',
> > > gcc prior to version 11 are buggy and retain it.
> >
> > With what effect?
>
> If you have:
> int f(const int x)
> {
> auto y = x;
> y++;
> return y;
> }
> gcc prior to 11.0 error that y is const.
> So in this case the loop can't change __element.
Still not undersanding, sorry. Does this patch fix a build issue with
any compiler/kernel combination?
> > I'm not understanding the motivation for this change. Is there some
> > compilation issue to be addressed?
>
> Mainly unqual_scalar_typeof() being horrid.
> There is an ongoing long thread about its use in the arm64 LTO READ_ONCE().
> Newer compilers do have a builtin, and there are some shorter alternatives
> that work in some places.
> But here is just isn't needed.
> So one less place to check.
OK, so it's a cleanup.
> I did mean to copy the main contributers to that thread, but forgot.
I think a v2 would be good please, to clarify the effects of and
motivation for the change.