]> Savannah Git Hosting - gnulib.git/commit
stdckdint-h: new module
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 10 Aug 2022 06:20:49 +0000 (23:20 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 10 Aug 2022 07:22:09 +0000 (00:22 -0700)
commit2eb92c362ecfb2dae9c9cb37cb9246df6989181c
tree298053737c12bfc1144936111b7763b53ae51be7
parent9331caeffae1b7b5f49b65c98c2ff9cc8f3691fd
stdckdint-h: new module

This supports draft C23 <stdckdint.h>.
* doc/posix-headers/stdckdint.texi:
* lib/stdckdint.in.h, modules/stdckdint:
* modules/stdckdint-tests, tests/test-stdckdint.c:
New files.
* MODULES.html.sh, doc/gnulib.texi: Update for new module.
* lib/intprops-internal.h: Include <stdckdint.h> if C23 and
its macros would help and our substitute has not already
started to be included.
(_GL_INT_ADD_WRAPV, _GL_INT_SUBTRACT_WRAPV)
(_GL_INT_MULTIPLY_WRAPV): Use ckd_add, ckd_sub, ckd_mul
if they are defined and would help.
* lib/intprops-internal.h, lib/intprops.h: Improve comments.
The C23 restrictions on stdckdint macros already mostly applied to
intprops.h, so these are clarifications, not further restrictions.
* tests/test-intprops.c: If TEST_STDCKDINT is defined,
include <stdckdint.h> instead of "intprops.h", and test
it instead.
(VERIFY) [TEST_STDCKDINT]: Ignore the arg in this case.
(main) [TEST_STDCKDINT]: Skip tests irrelevant to stdckdint.h.
ChangeLog
MODULES.html.sh
doc/gnulib.texi
doc/posix-headers/stdckdint.texi [new file with mode: 0644]
lib/intprops-internal.h
lib/intprops.h
lib/stdckdint.in.h [new file with mode: 0644]
modules/stdckdint [new file with mode: 0644]
modules/stdckdint-tests [new file with mode: 0644]
tests/test-intprops.c
tests/test-stdckdint.c [new file with mode: 0644]