summaryrefslogtreecommitdiff
path: root/doc/posix-headers
Commit message (Collapse)AuthorAgeFilesLines
* doc: mention when O_* defaults to 0Paul Eggert2023-04-181-2/+7
| | | | | * doc/posix-headers/fcntl.texi: Document in more detail which O_* macros default to 0 in Gnulib.
* sys_shm: New module.Bruno Haible2023-04-141-1/+1
| | | | | | | * lib/sys_shm.in.h: New file. * m4/sys_shm_h.m4: New file. * modules/sys_shm: New file. * doc/posix-headers/sys_shm.texi: Mention the new module.
* sys_sem: New module.Bruno Haible2023-04-141-1/+1
| | | | | | | * lib/sys_sem.in.h: New file. * m4/sys_sem_h.m4: New file. * modules/sys_sem: New file. * doc/posix-headers/sys_sem.texi: Mention the new module.
* sys_msg: New module.Bruno Haible2023-04-141-1/+1
| | | | | | | * lib/sys_msg.in.h: New file. * m4/sys_msg_h.m4: New file. * modules/sys_msg: New file. * doc/posix-headers/sys_msg.texi: Mention the new module.
* doc: document year2038 firstPaul Eggert2023-04-101-1/+1
| | | | | * doc/year2038.texi: Document year2038 first, then year2038-required.
* doc: Avoid ambiguous wording.Bruno Haible2023-04-101-2/+2
| | | | * doc/posix-headers/time.texi: Say "or" not "and".
* doc: Fix a typo.Bruno Haible2023-04-101-1/+1
| | | | * doc/posix-headers/time.texi: Fix typo in module name.
* doc: improve cross-refs for year 2038 issuePaul Eggert2023-04-093-4/+11
|
* largefile: sync from Autoconf masterPaul Eggert2023-04-091-2/+6
| | | | | | | | | | | * modules/largefile-required, modules/year2038-required: New modules. * MODULES.html.sh, doc/largefile.texi, doc/posix-headers/time.texi: * doc/year2038.texi: Document this. * m4/largefile.m4: Sync from Autoconf master. Conditionalize the workaround on AC_SYS_LARGEFILE_REQUIRED rather than on AC_SYS_YEAR2038 so that we replace older but still unreleased Autoconf. (AC_SYS_LARGEFILE_REQUIRED, AC_SYS_YEAR2038_REQUIRED): New macros.
* doc: Add references to registered Haiku bugs.Bruno Haible2023-04-061-1/+2
| | | | | | | | | | | * doc/posix-functions/call_once.texi: Mention Haiku bug. * doc/posix-functions/duplocale.texi: Likewise. * doc/posix-functions/freelocale.texi: Likewise. * doc/posix-functions/getlogin_r.texi: Likewise. * doc/posix-functions/initstate.texi: Likewise. * doc/posix-functions/mbrtoc32.texi: Likewise. * doc/posix-functions/strxfrm.texi: Likewise. * doc/posix-headers/math.texi: Update.
* uchar: Work around Haiku bug.Bruno Haible2023-04-051-0/+4
| | | | | | | | | | | | * m4/uchar_h.m4 (gl_UCHAR_H, gl_TYPE_CHAR8_T, gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): Before including <uchar.h>, on Haiku, first include <stdint.h>. * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Likewise. * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_CHECK_FUNC_MBRTOC32, gl_MBRTOC32_EMPTY_INPUT, gl_MBRTOC32_C_LOCALE, gl_MBRTOC32_SANITYCHECK): Likewise. * lib/uchar.in.h: On Haiku, include <stdint.h> before the include_next. * doc/posix-headers/uchar.texi: Mention the Haiku bug.
* stdlib: Work around MB_CUR_MAX bug on Solaris 10.Bruno Haible2023-04-041-0/+4
| | | | | | | | | | * lib/stdlib.in.h (gl_MB_CUR_MAX): New function. (MB_CUR_MAX, GNULIB_defined_MB_CUR_MAX): New macros. * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether MB_CUR_MAX is correct. (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MB_CUR_MAX. * modules/stdlib (Files): Add m4/locale-fr.m4. (Makefile.am): Substitute REPLACE_MB_CUR_MAX. * doc/posix-headers/stdlib.texi: Mention the Solaris 10 bug.
* stdlib: ISO C 23: Document issue with once_flag and call_once.Bruno Haible2023-03-251-0/+6
| | | | * doc/posix-headers/stdlib.texi: Document issue and workaround.
* stddef: Define 'unreachable', for ISO C 23 compliance.Bruno Haible2023-03-161-0/+4
| | | | | | | | | | | | * lib/verify.h (_GL_HAS_BUILTIN_UNREACHABLE): Don't define if already defined. * lib/stddef.in.h (_GL_HAS_BUILTIN_UNREACHABLE, unreachable): New macros. (abort): Declare if needed for unreachable. * m4/stddef_h.m4 (gl_STDDEF_H): Test for unreachable. * tests/test-stddef.c (test_unreachable_optimization, test_unreachable_noreturn): New functions, based on tests/test-verify.c. * doc/posix-headers/stddef.texi: Mention unreachable.
* time-h: Renamed from time.Bruno Haible2023-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * modules/time-h: Renamed from modules/time. * tests/test-time-h.c: Renamed from tests/test-time.c. * modules/time-h-tests: Renamed from modules/time-tests. Update. * tests/test-time-h-c++.cc: Renamed from tests/test-time-c++.cc. * tests/test-time-h-c++2.cc: Renamed from tests/test-time-c++2.cc. * modules/time-h-c++-tests: Renamed from modules/time-c++-tests. Update. * modules/cond (Depends-on): Update. * modules/ctime (Depends-on): Likewise. * modules/localtime (Depends-on): Likewise. * modules/mktime (Depends-on): Likewise. * modules/nanosleep (Depends-on): Likewise. * modules/parse-datetime (Depends-on): Likewise. * modules/posixcheck (Depends-on): Likewise. * modules/pthread-h (Depends-on): Likewise. * modules/stat-time (Depends-on): Likewise. * modules/stat-time-tests (Depends-on): Likewise. * modules/strftime-fixes (Depends-on): Likewise. * modules/strptime (Depends-on): Likewise. * modules/sys_stat (Depends-on): Likewise. * modules/tempname (Depends-on): Likewise. * modules/threads-h (Depends-on): Likewise. * modules/time_r (Depends-on): Likewise. * modules/time_rz (Depends-on): Likewise. * modules/timegm (Depends-on): Likewise. * modules/timespec (Depends-on): Likewise. * modules/timespec_get (Depends-on): Likewise. * modules/timespec_getres (Depends-on): Likewise. * modules/tzset (Depends-on): Likewise. * modules/usleep-tests (Depends-on): Likewise. * modules/utime (Depends-on): Likewise. * modules/utimecmp (Depends-on): Likewise. * modules/utimens (Depends-on): Likewise. * modules/windows-cond (Depends-on): Likewise. * modules/windows-timedmutex (Depends-on): Likewise. * modules/windows-timedrecmutex (Depends-on): Likewise. * modules/windows-timedrwlock (Depends-on): Likewise. * modules/xnanosleep (Depends-on): Likewise. * doc/posix-headers/time.texi: Update. * NEWS: Mention the change.
* limits-h: Work around a clang 15 bug.Bruno Haible2023-02-091-0/+3
| | | | | * m4/limits-h.m4 (gl_LIMITS_H): Test also for BOOL_MAX. * doc/posix-headers/limits.texi: Mention the clang bug.
* c-nullptr: new modulePaul Eggert2023-02-051-0/+6
| | | | | | * doc/gnulib.texi (nullptr): New section. * doc/posix-headers/stddef.texi: Document lack of nullptr_t. * m4/c-nullptr.m4, modules/c-nullptr: New files.
* alignasof: new modulePaul Eggert2023-01-151-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | This splits off support for the C23 keywords alignas and alignof, from the now-deprecated stdalign module. The latter now merely provides C11 support. * MODULES.html.sh, NEWS, doc/gnulib.texi: * doc/posix-headers/stdalign.texi: Document the change. * lib/stdalign.in.h: Remove most of the definitions (which are now supplied by the alignasof module), leaving only __alignas_is_defined and __alignof_is_defined. * modules/alignasof, modules/alignasof-tests: New files. * m4/stdalign.m4 (gl_ALIGNASOF): New macro, with most of the contents of the old gl_STDALIGN_H. Do not define __alignas_is_defined or __alignof_is_defined. (gl_STDALIGN_H): Rely on gl_ALIGNASOF for most of the work. * modules/alignalloc, modules/alignof, modules/argp: * modules/crypto/md4-buffer, modules/crypto/md5-buffer: * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer: * modules/crypto/sha512-buffer, modules/crypto/sm3-buffer: * modules/fts, modules/rawmemchr, modules/relocatable-prog-wrapper: * modules/stddef-tests, modules/sys_socket: Depend on alignasof, not stdalign. * modules/stdalign: Deprecate. Depend on alignasof. * modules/stdalign-tests: Move most contents to the new module alignasof-tests, and depend on that.
* stdnoreturn: deprecatePaul Eggert2022-12-241-0/+2
| | | | | | | C23 says <stdnoreturn.h> is obsolescent, so deprecate the stdnoreturn module. I don't think it was being used anyway as it had too many problems. * modules/stdnoreturn: Mark as obsolete.
* stdalign: alignas and alignof are C23 keywordsPaul Eggert2022-09-131-14/+21
| | | | | | | | | | * m4/stdalign.m4 (gl_STDALIGN_H): Check also whether alignas and alignof are keywords and so don’t need stdalign.h, and define HAVE_C_ALIGNASOF if so. If not, arrange for config.h to #define alignas and alignof by including <stdalign.h>. * modules/stdalign: No need to include <stdalign.h>. * tests/test-stdalign.c: Do not include stdalign.h.
* assert-h: static_assert is a keyword in C23Paul Eggert2022-09-131-14/+23
| | | | | | | | | | | | * m4/assert_h.m4 (gl_ASSERT_H): Also test for static_assert keyword a la C23, and define HAVE_C_STATIC_ASSERT if so. If not, arrange for config.h to #define static_assert by including <assert.h>, and then do "#undef assert" so that the assert macro still needs an explicit include. This should be safe even on very old hosts, as assert.h has been re-includable for decades. * tests/tests-assert.c: New test. * modules/assert-h-tests (Files, Makefile.am): Add it.
* stdalign-tests: port to C23Paul Eggert2022-09-131-4/+8
| | | | | | | * tests/test-stdalign.c: Do not test __alignas_is_defined, _Alignof, or _Alignas as they are obsolescent. Do not use __alignas_is_defined in C23 or later (or C++11 or later), as it’s removed in C23.
* uchar: Work around error in C++ mode on AIX 7.2 with xlclang.Bruno Haible2022-09-101-0/+3
| | | | | | * lib/uchar.in.h (char16_t, char32_t): On AIX with xlclang++, define these as macros. * doc/posix-headers/uchar.texi: Document the AIX + xlclang++ bug.
* Rely on new stdbool behaviorPaul Eggert2022-09-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prefer the C23 style to the C99 style, since the stdbool module now supports C23. * lib/acl-internal.h, lib/acl.h, lib/argmatch.c, lib/argmatch.h: * lib/argp-help.c, lib/argv-iter.h, lib/asyncsafe-spin.c: * lib/backup-internal.h, lib/backupfile.c, lib/base32.h: * lib/base64.h, lib/basename-lgpl.c, lib/bitset/base.h: * lib/c-ctype.h, lib/c-strcasestr.c, lib/canonicalize-lgpl.c: * lib/canonicalize.c, lib/chdir-long.c, lib/chown.c: * lib/classpath.h, lib/clean-temp-private.h: * lib/clean-temp-simple.c, lib/clean-temp-simple.h: * lib/clean-temp.c, lib/clean-temp.h, lib/cloexec.h: * lib/close-stream.c, lib/closein.c, lib/closeout.c, lib/closeout.h: * lib/csharpcomp.h, lib/csharpexec.h, lib/cycle-check.c: * lib/cycle-check.h, lib/des.h, lib/dfa.h, lib/diffseq.h: * lib/dirname.h, lib/exclude.c, lib/exclude.h, lib/execute.c: * lib/execute.h, lib/execvpe.c, lib/fatal-signal.c, lib/fchdir.c: * lib/file-set.h, lib/filevercmp.c, lib/findprog-in.c: * lib/findprog.c, lib/findprog.h, lib/fma.c, lib/fnmatch.c: * lib/fopen.c, lib/freadable.h, lib/freading.h, lib/freopen-safer.c: * lib/fstrcmp.c, lib/fsusage.h, lib/fts.c, lib/fwritable.h: * lib/fwriteerror.c, lib/fwriting.h, lib/gen-uni-tables.c: * lib/getaddrinfo.c, lib/getcwd.c, lib/getloadavg.c: * lib/getndelim2.c, lib/getpass.c, lib/getrandom.c: * lib/git-merge-changelog.c, lib/gl_list.h, lib/gl_map.h: * lib/gl_omap.h, lib/gl_oset.h, lib/gl_set.h, lib/glob.c: * lib/glthread/cond.h, lib/hamt.h, lib/hard-locale.h: * lib/hash-triple.h, lib/hash.h, lib/human.h, lib/i-ring.h: * lib/isapipe.c, lib/javacomp.h, lib/javaexec.h, lib/javaversion.c: * lib/lchown.c, lib/localeinfo.h, lib/localename.c: * lib/long-options.h, lib/malloc/dynarray.h, lib/mbchar.h: * lib/mbfile.h, lib/mbiter.h, lib/mbmemcasecoll.h, lib/mbscasestr.c: * lib/mbsstr.c, lib/mbuiter.h, lib/mkdir-p.h, lib/modechange.h: * lib/mountlist.h, lib/nanosleep.c, lib/nonblocking.h: * lib/nstrftime.c, lib/openat.c, lib/openat.h, lib/os2-spawn.c: * lib/parse-datetime.h, lib/pipe-filter-aux.c, lib/pipe-filter-gi.c: * lib/pipe-filter-ii.c, lib/pipe-filter.h, lib/posixtm.h: * lib/priv-set.c, lib/progreloc.c, lib/propername.c: * lib/pthread-spin.c, lib/quotearg.c, lib/readtokens.c: * lib/readtokens0.h, lib/readutmp.c, lib/regex-quote.h: * lib/regex_internal.h, lib/relocwrapper.c, lib/rename.c: * lib/renameatu.c, lib/rpmatch.c, lib/same.c, lib/same.h: * lib/save-cwd.c, lib/savewd.c, lib/savewd.h, lib/spawn-pipe.h: * lib/spawni.c, lib/stack.h, lib/stat.c, lib/stdckdint.in.h: * lib/strcasestr.c, lib/strfmon_l.c, lib/striconveh.c: * lib/striconveha.h, lib/string-buffer.h, lib/strptime.c: * lib/strstr.c, lib/strtod.c, lib/supersede.h, lib/system-quote.c: * lib/tempname.c, lib/term-style-control.c: * lib/term-style-control.h, lib/textstyle.in.h, lib/time_rz.c: * lib/tmpdir.c, lib/tmpdir.h, lib/tmpfile.c, lib/unicase.in.h: * lib/unicase/caseprop.h, lib/unicase/invariant.h: * lib/unicase/u16-casemap.c, lib/unicase/u16-ct-totitle.c: * lib/unicase/u16-is-invariant.c, lib/unicase/u32-casemap.c: * lib/unicase/u32-ct-totitle.c, lib/unicase/u32-is-invariant.c: * lib/unicase/u8-casemap.c, lib/unicase/u8-ct-totitle.c: * lib/unicase/u8-is-invariant.c, lib/unictype.in.h: * lib/unigbrk.in.h, lib/unigbrk/u16-grapheme-breaks.c: * lib/unigbrk/u32-grapheme-breaks.c: * lib/unigbrk/u8-grapheme-breaks.c: * lib/unigbrk/uc-grapheme-breaks.c, lib/uniname/uniname.c: * lib/unistr.in.h, lib/unlinkdir.h, lib/userspec.h, lib/utime.c: * lib/utimecmp.c, lib/utimens.c, lib/wait-process.h: * lib/windows-cond.c, lib/windows-spawn.c, lib/windows-spawn.h: * lib/windows-timedrwlock.c, lib/write-any-file.h, lib/xbinary-io.c: * lib/xstrtod.h, lib/yesno.h: * tests/nap.h, tests/qemu.h, tests/test-areadlink-with-size.c: * tests/test-areadlink.c, tests/test-areadlinkat-with-size.c: * tests/test-areadlinkat.c, tests/test-base32.c: * tests/test-base64.c, tests/test-ceil2.c, tests/test-ceilf2.c: * tests/test-chown.c, tests/test-dirname.c, tests/test-dup-safer.c: * tests/test-dup3.c, tests/test-exclude.c: * tests/test-execute-child.c, tests/test-execute-main.c: * tests/test-execute-script.c, tests/test-explicit_bzero.c: * tests/test-fchownat.c, tests/test-fcntl-safer.c: * tests/test-fcntl.c, tests/test-fdutimensat.c: * tests/test-filenamecat.c, tests/test-floor2.c: * tests/test-floorf2.c, tests/test-fstatat.c, tests/test-fstrcmp.c: * tests/test-futimens.c, tests/test-getlogin.h, tests/test-getopt.h: * tests/test-hard-locale.c, tests/test-hash.c: * tests/test-idpriv-drop.c, tests/test-idpriv-droptemp.c: * tests/test-immutable.c, tests/test-intprops.c: * tests/test-lchown.c, tests/test-link.c, tests/test-linkat.c: * tests/test-lstat.c, tests/test-mbmemcasecmp.c: * tests/test-mbmemcasecoll.c, tests/test-mkdir.c: * tests/test-mkdirat.c, tests/test-mkfifo.c, tests/test-mkfifoat.c: * tests/test-mknod.c, tests/test-nonblocking-pipe-child.c: * tests/test-nonblocking-pipe-main.c: * tests/test-nonblocking-socket-child.c: * tests/test-nonblocking-socket-main.c, tests/test-open.c: * tests/test-openat.c, tests/test-pipe.c, tests/test-pipe2.c: * tests/test-poll.c, tests/test-posix_spawn-chdir.c: * tests/test-posix_spawn-dup2-stdin.c: * tests/test-posix_spawn-dup2-stdout.c: * tests/test-posix_spawn-fchdir.c, tests/test-posix_spawn-open1.c: * tests/test-posix_spawn-open2.c, tests/test-quotearg-simple.c: * tests/test-quotearg.c, tests/test-readlink.c: * tests/test-readlinkat.c, tests/test-readtokens.c: * tests/test-rename.c, tests/test-renameat.c: * tests/test-renameatu.c, tests/test-rmdir.c, tests/test-round2.c: * tests/test-select.h, tests/test-spawn-pipe-child.c: * tests/test-spawn-pipe-main.c, tests/test-spawn-pipe-script.c: * tests/test-stack.c, tests/test-stat.c, tests/test-supersede.c: * tests/test-symlink.c, tests/test-symlinkat.c: * tests/test-system-quote-main.c: * tests/test-term-style-control-hello.c: * tests/test-term-style-control-yes.c, tests/test-timespec.c: * tests/test-trunc2.c, tests/test-truncf2.c, tests/test-unlink.c: * tests/test-unlinkat.c, tests/test-userspec.c, tests/test-utime.c: * tests/test-utimens.c, tests/test-utimensat.c: * tests/unictype/test-categ_byname.c: * tests/unigbrk/test-uc-is-grapheme-break.c: Don’t include stdbool.h. * modules/acl, modules/xgetcwd: Don’t depend on stdbool, as these modules don’t use bool. * modules/argp, modules/bitset, modules/diffseq, modules/file-has-acl: * modules/gen-uni-tables, modules/getrandom: * modules/hash-triple-simple, modules/posix_spawn-internal: * modules/strcasestr, modules/supersede, modules/system-quote: * modules/uniconv/base, modules/uniname/uniname, modules/utime: * modules/windows-timedrwlock: Depend on stdbool, as these modules use bool.
* stdbool: upgrade from C99 to C23Paul Eggert2022-09-101-1/+6
| | | | | | | | | | | Change the stdbool module so that it now emulates C23. The module now assumes C99. The old module (which assumes C89 and emulates C99) is still available as stdbool-c99, but is deprecated. * tests/test-stdbool.c [TEST_STDBOOL_H]: Do not include stdbool.h. (WORKING_BOOL): Depend on HAVE_C_BOOL, not __STDC_VERSION__. * m4/c-bool.m4, modules/c-bool, modules/c-bool-tests: * tests/test-c-bool.c: New files.
* stdnoreturn: Document relation to C++.Bruno Haible2022-09-041-0/+3
| | | | * doc/posix-headers/stdnoreturn.texi: Document FreeBSD problem.
* net_if: Add C++ tests.Bruno Haible2022-09-031-3/+3
| | | | | | | * tests/test-net_if-c++.cc: New file. * modules/net_if-c++-tests: New file. * modules/net_if-tests (Depends-on): Add net_if-c++-tests. * doc/posix-headers/net_if.texi: Fix documentation.
* stdckdint-h: new modulePaul Eggert2022-08-101-0/+21
| | | | | | | | | | | | | | | | | | | | | | | 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.
* doc: Update O_PATH platforms list.Bruno Haible2022-06-121-2/+1
| | | | * doc/posix-headers/fcntl.texi: Update O_PATH platforms list.
* fcntl: document O_PATHPaul Eggert2022-06-111-0/+6
| | | | * doc/posix-headers/fcntl.texi: Mention O_PATH.
* stdint-tests: long long preproc on recent Sun CPaul Eggert2021-09-121-2/+4
| | | | | * tests/test-stdint.c: Test long long preprocessor constants on Oracle Developer Studio 12.6, where they should work.
* doc: C2X -> C2xPaul Eggert2021-07-311-1/+1
|
* limits-h: add BOOL_MAX, BOOL_WIDTHPaul Eggert2021-07-311-0/+4
| | | | | | | * doc/posix-headers/limits.texi (limits.h): Document them. * lib/limits.in.h: Also define CHAR_WIDTH etc. if C2x. (BOOL_MAX, BOOL_WIDTH): New macros, from C2x. * m4/limits-h.m4 (gl_LIMITS_H): Also check BOOL_WIDTH.
* doc: clarify which module fixes 32-bit time_tPaul Eggert2021-07-061-6/+10
| | | | | | * doc/posix-headers/time.texi: Make it clear that the 32-bit time_t problem is addressed by the year2038 module, not by the time module.
* year2038: support glibc 2.34 _TIME_BITS=64Paul Eggert2021-07-011-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | In glibc 2.34 on Linux kernels where time_t is traditionally 32-bit, defining _FILE_OFFSET_BITS=64 and _TIME_BITS=64 makes time_t 64-bit. Apps must define both macros. Gnulib applications that use either the largefile or the year2038 modules will want this behavior; largefile because it deals with the off_t and ino_t components of struct stat already, and so should also deal with time_t. * NEWS, doc/largefile.texi, doc/posix-headers/time.texi: Mention this. * m4/largefile.m4: Override two macros even in Autoconf 2.70 and later. (_AC_SYS_LARGEFILE_MACRO_VALUE): #undef $1 before #defining it, in case some other Gnulib macro has #defined it. (AC_SYS_LARGEFILE): Use AS_IF and AS_CASE to propagate AC_REQUIREs. Invoke gl_YEAR2038_BODY if we need to set _FILE_OFFSET_BITS=64. * m4/year2038.m4 (gl_YEAR2038_TEST_INCLUDES): New macro. (gl_YEAR2038_BODY): New macro, with gl_YEAR2038’s old body; this macro is designed to be used directly instead of being AC_REQUIREd. It takes an argument specifying whether 64-bit is required. Set _TIME_BITS=64 if this makes a difference in time_t width when setting _FILE_OFFSET_BITS=64. Do not warn about 32-bit time_t more than once. * modules/largefile (Files): Add year2038.m4. (Depends-on): Require gl_YEAR2038_EARLY.
* doc: Update for FreeBSD 13.0/arm64.Bruno Haible2021-04-181-1/+1
| | | | | * doc/posix-headers/stdint.texi: Mention FreeBSD 13 bug. * m4/stdint.m4: Update comment.
* doc: Update for FreeBSD 11.0, 12.0, 13.0.Bruno Haible2021-04-176-6/+6
| | | | | | | | | * doc/posix-headers/*.texi: Update. * doc/glibc-headers/*.texi: Update. * doc/posix-functions/*.texi: Likewise. * doc/pastposix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise. * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Update cross-compilation guess.
* doc: Update for macOS 11.1.Bruno Haible2021-03-2114-14/+14
| | | | | | | | | | * doc/posix-headers/*.texi: Update. * doc/glibc-headers/*.texi: Update. * doc/posix-functions/*.texi: Likewise. * doc/pastposix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise. * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Update cross-compilation guess.
* stddef: Generalize tcc workaround to other compilers.Bruno Haible2021-03-051-2/+2
| | | | | | | | | Suggested by Paul Eggert in <https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00027.html>. * lib/stddef.in.h: Undefine the __need_* macros with all compilers. * doc/posix-headers/stddef.texi: Mention that the TinyCC bug also exists on macOS.
* stddef: Work around an interoperability problem of tcc with glibc.Bruno Haible2021-03-031-0/+4
| | | | | | | | | | Reported by Luca Saiu <positron@gnu.org> in <https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00011.html>. * lib/stddef.in.h [__TINYC__]: In case of the special invocation convention, undefine the macros that TinyCC's <stddef.h> should undefine but doesn't. * doc/posix-headers/stddef.texi: Mention the TinyCC bug.
* stddef: Override wrong max_align_t on AIX 7 with xlc in 64-bit mode.Bruno Haible2021-01-031-1/+1
| | | | | | | * m4/stddef_h.m4 (gl_STDDEF_H): Make check for good max_align_t stricter: Add tests for offsetof-based alignof. * lib/stddef.in.h (max_align_t): Override on AIX in 64-bit mode. * doc/posix-headers/stddef.texi: Document the AIX max_align_t bug.
* time: Define TIME_UTC.Bruno Haible2021-01-021-2/+4
| | | | | | | | | * lib/time.in.h (TIME_UTC, GNULIB_defined_TIME_UTC): New macros. * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Set TIME_H_DEFINES_TIME_UTC. * modules/time (Makefile.am): Substitute TIME_H_DEFINES_TIME_UTC. * tests/test-time.c: Check that TIME_UTC is defined and a positive integer. * doc/posix-headers/time.texi: Mention TIME_UTC.
* test-stdalign: test Oracle Studio betterPaul Eggert2020-09-201-4/+4
| | | | | | * doc/posix-headers/stdalign.texi (stdalign.h): * tests/test-stdalign.c (main): Sun Studio Bug #2125432 seems to be fixed.
* doc: Update for OpenBSD 6.0, 6.7.Bruno Haible2020-08-2323-28/+32
| | | | | | | | | | | | * doc/*/*.texi: Update. * m4/printf.m4: Update comments and cross-compilation guesses. * m4/ceill.m4: Update comments. * m4/getcwd-abort-bug.m4: Likewise. * m4/ilogb.m4: Likewise. * m4/ilogbf.m4: Likewise. * m4/langinfo_h.m4: Likewise. * m4/modf.m4: Likewise. * m4/modff.m4: Likewise.
* stdnoreturn: Work around problem with MSVC/clang.Bruno Haible2020-08-151-0/+4
| | | | | | * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some system header after <stdnoreturn.h>. * doc/posix-headers/stdnoreturn.texi: Mention the issue.
* doc: Update for NetBSD 7.1, 8.0, 9.0.Bruno Haible2020-07-2514-16/+22
| | | | | | | | | | | | | * doc/*/*.texi: Update. * m4/exp2l.m4: Update comments. * m4/expl.m4: Likewise. * m4/ilogb.m4: Likewise. * m4/ilogbf.m4: Likewise. * m4/log10l.m4: Likewise. * m4/logl.m4: Likewise. * m4/printf.m4: Likewise. * m4/rintl.m4: Likewise. * m4/wcwidth.m4: Likewise.
* doc: Update for Mac OS X 10.13.Bruno Haible2020-07-2513-13/+13
| | | | | | | | | * doc/*/*.texi: Update. * m4/expm1l.m4: Update comments. * m4/getgroups.m4: Likewise. * m4/getlogin_r.m4: Likewise. * m4/linkat.m4: Likewise. * m4/printf.m4: Likewise.
* doc: Update for Cygwin 2.9.0.Bruno Haible2020-07-258-9/+8
| | | | * doc/*/*.texi: Update.
* doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).Bruno Haible2020-05-281-1/+5
| | | | * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
* doc: fix time.texi wordingJim Meyering2020-01-031-1/+1
| | | | * doc/posix-headers/time.texi (time.h): Typo.