This patch lists the 14 function-like macros from <stdbit.h> in the documentation.
I'm not documenting the 70 functions (with suffixes _uc, _us, _ui, _ul, _ull), because this would be excessive (for my taste). It also updates the platforms list for <stdbit.h>: macOS and Cygwin were missing from the list where the header is absent. 2024-05-13 Bruno Haible <br...@clisp.org> doc: Document <stdbit.h> function-like macros. * doc/posix-headers/stdbit.texi: Reference ISO C 23 as the documentation. Update platforms list. * doc/posix-functions/stdc_leading_zeros.texi: New file. * doc/posix-functions/stdc_leading_ones.texi: New file. * doc/posix-functions/stdc_trailing_zeros.texi: New file. * doc/posix-functions/stdc_trailing_ones.texi: New file. * doc/posix-functions/stdc_first_leading_zero.texi: New file. * doc/posix-functions/stdc_first_leading_one.texi: New file. * doc/posix-functions/stdc_first_trailing_zero.texi: New file. * doc/posix-functions/stdc_first_trailing_one.texi: New file. * doc/posix-functions/stdc_count_zeros.texi: New file. * doc/posix-functions/stdc_count_ones.texi: New file. * doc/posix-functions/stdc_has_single_bit.texi: New file. * doc/posix-functions/stdc_bit_width.texi: New file. * doc/posix-functions/stdc_bit_floor.texi: New file. * doc/posix-functions/stdc_bit_ceil.texi: New file. * doc/gnulib.texi (Function Substitutes): Include them all. diff --git a/doc/gnulib.texi b/doc/gnulib.texi index 6cbd10619e..24acb1afc8 100644 --- a/doc/gnulib.texi +++ b/doc/gnulib.texi @@ -2290,6 +2290,20 @@ * sscanf:: * stat:: * statvfs:: +* stdc_bit_ceil:: +* stdc_bit_floor:: +* stdc_bit_width:: +* stdc_count_ones:: +* stdc_count_zeros:: +* stdc_first_leading_one:: +* stdc_first_leading_zero:: +* stdc_first_trailing_one:: +* stdc_first_trailing_zero:: +* stdc_has_single_bit:: +* stdc_leading_ones:: +* stdc_leading_zeros:: +* stdc_trailing_ones:: +* stdc_trailing_zeros:: * stderr:: * stdin:: * stdout:: @@ -3586,6 +3600,20 @@ @include posix-functions/sscanf.texi @include posix-functions/stat.texi @include posix-functions/statvfs.texi +@include posix-functions/stdc_bit_ceil.texi +@include posix-functions/stdc_bit_floor.texi +@include posix-functions/stdc_bit_width.texi +@include posix-functions/stdc_count_ones.texi +@include posix-functions/stdc_count_zeros.texi +@include posix-functions/stdc_first_leading_one.texi +@include posix-functions/stdc_first_leading_zero.texi +@include posix-functions/stdc_first_trailing_one.texi +@include posix-functions/stdc_first_trailing_zero.texi +@include posix-functions/stdc_has_single_bit.texi +@include posix-functions/stdc_leading_ones.texi +@include posix-functions/stdc_leading_zeros.texi +@include posix-functions/stdc_trailing_ones.texi +@include posix-functions/stdc_trailing_zeros.texi @include posix-functions/stderr.texi @include posix-functions/stdin.texi @include posix-functions/stdout.texi diff --git a/doc/posix-functions/stdc_bit_ceil.texi b/doc/posix-functions/stdc_bit_ceil.texi new file mode 100644 index 0000000000..7597c9fcea --- /dev/null +++ b/doc/posix-functions/stdc_bit_ceil.texi @@ -0,0 +1,21 @@ +@node stdc_bit_ceil +@section @code{stdc_bit_ceil} +@findex stdc_bit_ceil + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.16. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_bit_floor.texi b/doc/posix-functions/stdc_bit_floor.texi new file mode 100644 index 0000000000..cf2c2aad05 --- /dev/null +++ b/doc/posix-functions/stdc_bit_floor.texi @@ -0,0 +1,21 @@ +@node stdc_bit_floor +@section @code{stdc_bit_floor} +@findex stdc_bit_floor + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.15. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_bit_width.texi b/doc/posix-functions/stdc_bit_width.texi new file mode 100644 index 0000000000..7e25c3f325 --- /dev/null +++ b/doc/posix-functions/stdc_bit_width.texi @@ -0,0 +1,21 @@ +@node stdc_bit_width +@section @code{stdc_bit_width} +@findex stdc_bit_width + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.14. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_count_ones.texi b/doc/posix-functions/stdc_count_ones.texi new file mode 100644 index 0000000000..892a27dd47 --- /dev/null +++ b/doc/posix-functions/stdc_count_ones.texi @@ -0,0 +1,21 @@ +@node stdc_count_ones +@section @code{stdc_count_ones} +@findex stdc_count_ones + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.12. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_count_zeros.texi b/doc/posix-functions/stdc_count_zeros.texi new file mode 100644 index 0000000000..c5717e823a --- /dev/null +++ b/doc/posix-functions/stdc_count_zeros.texi @@ -0,0 +1,21 @@ +@node stdc_count_zeros +@section @code{stdc_count_zeros} +@findex stdc_count_zeros + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.11. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_first_leading_one.texi b/doc/posix-functions/stdc_first_leading_one.texi new file mode 100644 index 0000000000..103586df77 --- /dev/null +++ b/doc/posix-functions/stdc_first_leading_one.texi @@ -0,0 +1,21 @@ +@node stdc_first_leading_one +@section @code{stdc_first_leading_one} +@findex stdc_first_leading_one + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.8. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_first_leading_zero.texi b/doc/posix-functions/stdc_first_leading_zero.texi new file mode 100644 index 0000000000..69be359103 --- /dev/null +++ b/doc/posix-functions/stdc_first_leading_zero.texi @@ -0,0 +1,21 @@ +@node stdc_first_leading_zero +@section @code{stdc_first_leading_zero} +@findex stdc_first_leading_zero + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.7. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_first_trailing_one.texi b/doc/posix-functions/stdc_first_trailing_one.texi new file mode 100644 index 0000000000..08970b4565 --- /dev/null +++ b/doc/posix-functions/stdc_first_trailing_one.texi @@ -0,0 +1,21 @@ +@node stdc_first_trailing_one +@section @code{stdc_first_trailing_one} +@findex stdc_first_trailing_one + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.10. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_first_trailing_zero.texi b/doc/posix-functions/stdc_first_trailing_zero.texi new file mode 100644 index 0000000000..689ede9410 --- /dev/null +++ b/doc/posix-functions/stdc_first_trailing_zero.texi @@ -0,0 +1,21 @@ +@node stdc_first_trailing_zero +@section @code{stdc_first_trailing_zero} +@findex stdc_first_trailing_zero + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.9. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_has_single_bit.texi b/doc/posix-functions/stdc_has_single_bit.texi new file mode 100644 index 0000000000..ce0745ee82 --- /dev/null +++ b/doc/posix-functions/stdc_has_single_bit.texi @@ -0,0 +1,21 @@ +@node stdc_has_single_bit +@section @code{stdc_has_single_bit} +@findex stdc_has_single_bit + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.13. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_leading_ones.texi b/doc/posix-functions/stdc_leading_ones.texi new file mode 100644 index 0000000000..15e7050787 --- /dev/null +++ b/doc/posix-functions/stdc_leading_ones.texi @@ -0,0 +1,21 @@ +@node stdc_leading_ones +@section @code{stdc_leading_ones} +@findex stdc_leading_ones + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.4. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_leading_zeros.texi b/doc/posix-functions/stdc_leading_zeros.texi new file mode 100644 index 0000000000..a1f6a70875 --- /dev/null +++ b/doc/posix-functions/stdc_leading_zeros.texi @@ -0,0 +1,21 @@ +@node stdc_leading_zeros +@section @code{stdc_leading_zeros} +@findex stdc_leading_zeros + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.3. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_trailing_ones.texi b/doc/posix-functions/stdc_trailing_ones.texi new file mode 100644 index 0000000000..ceb67912eb --- /dev/null +++ b/doc/posix-functions/stdc_trailing_ones.texi @@ -0,0 +1,21 @@ +@node stdc_trailing_ones +@section @code{stdc_trailing_ones} +@findex stdc_trailing_ones + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.6. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-functions/stdc_trailing_zeros.texi b/doc/posix-functions/stdc_trailing_zeros.texi new file mode 100644 index 0000000000..b877c23279 --- /dev/null +++ b/doc/posix-functions/stdc_trailing_zeros.texi @@ -0,0 +1,21 @@ +@node stdc_trailing_zeros +@section @code{stdc_trailing_zeros} +@findex stdc_trailing_zeros + +Documentation:@* +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18.5. + +Gnulib module: stdbit + +Portability problems fixed by Gnulib: +@itemize +@item +This macro is missing on many platforms: +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/posix-headers/stdbit.texi b/doc/posix-headers/stdbit.texi index 8870668a59..b3b59229f3 100644 --- a/doc/posix-headers/stdbit.texi +++ b/doc/posix-headers/stdbit.texi @@ -1,14 +1,18 @@ @node stdbit.h @section @file{stdbit.h} +POSIX :@* Not in POSIX yet, but we expect it will be. +ISO C23 (latest free draft +@url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf}) +section 7.18. + Gnulib module: stdbit Portability problems fixed by Gnulib: @itemize @item This header file is missing on many non-C23 platforms: -glibc 2.38, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, -AIX 7.3, HP-UX 11.31, Solaris 11.4, mingw, MSVC 17, Android 15. +glibc 2.38, macOS 12.5, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 7.3.1, HP-UX 11.31, Solaris 11.4, Cygwin 3.5.3, mingw, MSVC 17, Android 15. @end itemize Portability problems not fixed by Gnulib: