* doc/gnulib-readme.texi (Other portability assumptions): Move the all-bits-zero assumption outside the flat address space section, since the two issues are independent. --- ChangeLog | 5 +++++ doc/gnulib-readme.texi | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 14a2ea957..5f4ae46a6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2020-12-06 Paul Eggert <egg...@cs.ucla.edu> + doc: fix flat address space discussion + * doc/gnulib-readme.texi (Other portability assumptions): + Move the all-bits-zero assumption outside the flat address space + section, since the two issues are independent. + doc: document -static-libubsan more * doc/gnulib-readme.texi (High Quality): Document pros and cons of -static-libubsan a bit more. Mostly cons. diff --git a/doc/gnulib-readme.texi b/doc/gnulib-readme.texi index 833888320..3854829af 100644 --- a/doc/gnulib-readme.texi +++ b/doc/gnulib-readme.texi @@ -465,6 +465,11 @@ 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. +@item +Objects with all bits zero are treated as 0 or NULL@. For example, +@code{memset@ (A, 0, sizeof@ A)} initializes an array @code{A} of +pointers to NULL. + @item The types @code{intptr_t} and @code{uintptr_t} exist, and pointers can be converted to and from these types without loss of information. @@ -505,11 +510,6 @@ Overflow in this case would mean that the rest of your program fits into @var{T} bytes, which can't happen in realistic flat-address-space hosts. -@item -Objects with all bits zero are treated as 0 or NULL@. For example, -@code{memset@ (A, 0, sizeof@ A)} initializes an array @code{A} of -pointers to NULL. - @item Adding zero to a null pointer does not change the pointer. For example, @code{0 + (char *) NULL == (char *) NULL}. -- 2.27.0