Re: [PATCH next] minmax.h: Use auto for variables in __minmax_array()

From: David Laight

Date: Sun Feb 08 2026 - 06:34:08 EST


On Sat, 7 Feb 2026 18:25:59 -0800
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> 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.

Ok - I always expect to do a v2, the way of the world.

David