+2024-05-13 Bruno Haible <bruno@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.
+
2024-05-13 Paul Eggert <eggert@cs.ucla.edu>
stdbit: port to theoretical platforms
* 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::
@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
--- /dev/null
+@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
@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: