Paul Eggert wrote:
> * doc/gnulib-readme.texi:
> Prefer “null pointer” to “@code{NULL}” since C23 has nullptr.
> (Portability guidelines): Mention C99 instead of C89 for what
> Gnulib assumes of headers.
> (C99 features avoided): Mention CHERI issue with intptr_t etc.
> (Other portability assumptions): Say that C23 requires two’s
> complement. Mention CHERI’s holes.
Thanks, especially for the update from C89 to C99.
> @item
> There are no ``holes'' in integer values: all the bits of an integer
> contribute to its value in the usual way.
> In particular, an unsigned type and its signed counterpart have the
> same number of bits when you count the latter's sign bit.
> +(As an exception, Gnulib code is portable to CHERI platforms
> +even though this assumption is false for CHERI.)
Huh? Which integer types on CHERI have "holes"?
If you are referring to
<https://lists.gnu.org/archive/html/bug-gnulib/2023-11/msg00092.html>,
this patch was necessary because on CHERI it's invalid to fetch 8 bytes
from memory if only 1 to 7 bytes were allocated, not because of holes
in the 'unsigned long' type.
Bruno