On Wed, Jun 14, 2023 at 12:42 PM Herve Codina herve.codina@bootlin.com wrote:
On Wed, 14 Jun 2023 12:02:57 +0300 Andy Shevchenko andy.shevchenko@gmail.com wrote:
On Wed, Jun 14, 2023 at 10:49 AM Herve Codina herve.codina@bootlin.com 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.