On 2020-09-25 19:39, Jonathan Wakely wrote:
> Yes, I'm aware of all the rationale. I already said that it makes
> sense in C++ where you have generic code. I am not convinced that it's
> necessary to add to <sys/param.h> when all it does is a cast from
> size_t to ptrdiff_t.
>
While I would prefer a signed version, I could live with only
'nitems()'. Having all the __must_be_array thing is the most important
part.
On 2020-09-25 19:42, Jonathan Wakely wrote:
On 25/09/20 18:30 +0200, Alejandro Colomar via Libstdc++ wrote:
I have a similar number of ARRAY_SIZE() and ARRAY_SSIZE().
I could have '#define snitems(arr) ((ptrdiff_t)nitems(arr))' in my
projects,
but is it really necessary?
The barrier for adding something to glibc headers should be a LOT
higher than "I could [do it in my own code], but is it really
necessary?"
Did I convince you? :-)
No.
Well, you convinced me :)
I'll rewrite the patch, and the problem about <stddef.h> will vanish.
Cheers,
Alex