Re: [PATCH v4 07/13] minmax: Introduce {min,max}_array()

From: Andy Shevchenko
Date: Wed Jun 14 2023 - 07:52:26 EST


On Wed, Jun 14, 2023 at 12:42 PM Herve Codina <herve.codina@xxxxxxxxxxx> wrote:
> On Wed, 14 Jun 2023 12:02:57 +0300
> Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:
> > On Wed, Jun 14, 2023 at 10:49 AM Herve Codina <herve.codina@xxxxxxxxxxx> wrote:

...

> > > + typeof(__array[0] + 0) __element = __array[--__len]; \
> >
> > Do we need the ' + 0' part?
>
> Yes.
>
> __array can be an array of const items and it is legitimate to get the
> minimum value from const items.
>
> typeof(__array[0]) keeps the const qualifier but we need to assign __element
> in the loop.
> One way to drop the const qualifier is to get the type from a rvalue computed
> from __array[0]. This rvalue has to have the exact same type with only the const
> dropped.
> '__array[0] + 0' was a perfect canditate.

Seems like this also deserves a comment. But if the series is accepted
as is, it may be done as a follow up.

--
With Best Regards,
Andy Shevchenko