summaryrefslogtreecommitdiff
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* mktime: include <intprops.h>Paul Eggert2023-05-021-0/+7
| | | | | | * lib/mktime.c: Include <intprops.h> again, fixing a typo noted by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2023-05/msg00014.html
* fopen: Silence a gcc warning.Bruno Haible2023-05-021-0/+5
| | | | * lib/fopen.c (rpl_fopen): Mark open_direction as used.
* extern-inline: port to pccPaul Eggert2023-05-011-0/+5
| | | | | | * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to pcc 1.2.0.DEVEL 20220331, which doesn’t support extern inline even though it claims to be GCC 4.3 and to support C11.
* regex: prefer C23 style overflow checkingPaul Eggert2023-05-011-0/+6
| | | | | | | * lib/regex_internal.h: Include stdckdint.h. * lib/regexec.c (re_search_2_stub): * modules/regex (Depends-on): Add stdckdint. Prefer stdckdint.h to intprops.h macros.
* dynarray: prefer C23 style overflow checkingPaul Eggert2023-05-011-0/+10
| | | | | | | | | | | * lib/malloc/dynarray_emplace_enlarge.c, lib/malloc/dynarray_resize.c: Include stdckdint.h, not intprops.h. * lib/malloc/dynarray_emplace_enlarge.c: (__libc_dynarray_emplace_enlarge): * lib/malloc/dynarray_resize.c (__libc_dynarray_resize): Prefer stdckdint.h to intprops.h macros. * modules/glibc-internal/dynarray (Depends-on): Depend on stdckdint, not intprops.
* mktime: prefer C23 style overflow checkingPaul Eggert2023-05-011-0/+8
| | | | | | | | | Prefer stdckdint.h macros to intprops.h macros where either will do, as this is the C23 standard. Also, it ports around a pcc bug. * config/srclist.txt: Comment out mktime.c. * lib/mktime.c: Include stdckdint.h, not intprops.h. (__mktime_internal): Prefer stdckdint.h to intprops.h macros. * modules/mktime (Depends-on): Add stdckdint.
* limits-h: port to pccPaul Eggert2023-05-011-0/+8
| | | | | | | * doc/posix-headers/limits.texi: Document the issue. * lib/limits.in.h (MB_LEN_MAX): New macro, if not already defined. * m4/limits-h.m4 (gl_LIMITS_H): Test for MB_LEN_MAX. * tests/test-limits-h.c: Check that it’s positive.
* year2038-recommended: new modulePaul Eggert2023-04-291-0/+19
| | | | | | | | | | | | | | | | | | Remove year2038-required and largefile-required, replacing the former with year2038-recommended and simply removing the latter. This syncs with Autoconf master. * MODULES.html.sh, NEWS, doc/largefile.texi: * all-modules (exclude): Exclude year2038-recommended, not -required. * doc/posix-headers/sys_types.texi, doc/posix-headers/time.texi: * doc/year2038.texi: Mention this. * m4/largefile.m4: Sync from Autoconf. Override existing macros if AC_SYS_YEAR2038_RECOMMENDED is not defined, rather than if AC_SYS_LARGEFILE_REQUIRED is not defined. * modules/largefile-required, modules/year2038-required: Removed. * modules/year2038: Do not depend on largefile; simply use m4/largefile.m4, since we shouldn’t need the extra goodies largefile supplies. * modules/year2038-recommended: New module.
* stdio: Avoid different configure results in different testdirs.Bruno Haible2023-04-291-0/+9
| | | | | | | | * m4/stdio_h.m4 (gl_STDIO_H_EARLY): New macro, extracted from gl_STDIO_H. (gl_STDIO_H): Move the code that sets __USE_MINGW_ANSI_STDIO to gl_STDIO_H_EARLY. * modules/stdio (configure.ac-early): New section.
* stdbool tests: Avoid compilation error with Sun C on Solaris 10.Bruno Haible2023-04-291-0/+5
| | | | * tests/test-stdbool.c (WORKING_BOOL): Set to 0 on Sun C.
* hamt tests: Fix test failure with Sun C on Solaris 10/SPARC.Bruno Haible2023-04-291-0/+5
| | | | * tests/test-hamt.c (main): Finish with exit code 0.
* localeconv: Work around a mingw bug.Bruno Haible2023-04-281-0/+11
| | | | | | | | | | * m4/localeconv.m4 (gl_FUNC_LOCALECONV): Test whether fields of type 'char' are filled correctly. (gl_PREREQ_LOCALECONV): Test whether 'struct lconv' has the int_{p,n}_* members. * lib/localeconv.c (FIX_CHAR_VALUE): New macro. (localeconv): Replace negative field values with CHAR_MAX. * doc/posix-functions/localeconv.texi: Mention the mingw bug.
* stdlib: Fix error when cross-compiling (regression 2023-04-04).Bruno Haible2023-04-271-1/+1
|
* stdlib: Fix error when cross-compiling.Bruno Haible2023-04-271-0/+7
| | | | | | | Reported by Pierre Labastie <pierre.labastie@neuf.fr> in <https://lists.gnu.org/archive/html/bug-gnulib/2023-04/msg00220.html>. * m4/stdlib_h.m4 (gl_STDLIB_H): Provide a 4th argument to AC_RUN_IFELSE.
* freopen-safer: pacify GCC 13Paul Eggert2023-04-261-0/+5
| | | | * lib/freopen-safer.c: Ignore -Wanalyzer-fd-leak.
* fdopendir: Fix fd leak and test failure on native Windows.Bruno Haible2023-04-271-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/dirent-private.h: On mingw, define 'struct gl_directory' as a wrapper around the original DIR. On MSVC, add an 'fd_to_close' field to 'struct gl_directory'. * lib/dirent.in.h (DIR): Define when DIR_HAS_FD_MEMBER is 0, i.e. on both mingw and MSVC. (GNULIB_defined_DIR): New macro. (opendir): Avoid incompatible redeclaration. (readdir): Consider REPLACE_READDIR. (rewinddir): Consider REPLACE_REWINDDIR. * m4/dirent_h.m4 (gl_DIRENT_DIR): New macro. (gl_DIRENT_H): Invoke it. (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_READDIR, REPLACE_REWINDDIR. * modules/dirent (Makefile.am): Substitute DIR_HAS_FD_MEMBER, REPLACE_READDIR, REPLACE_REWINDDIR. -- * lib/dirfd.c (dirfd): If GNULIB_defined_DIR, just use the 'fd_to_close' field. * m4/dirfd.m4 (gl_FUNC_DIRFD): Set HAVE_DIRFD. Don't set REPLACE_DIRFD to 1 if HAVE_DIRFD is 0. If DIR_HAS_FD_MEMBER is 0, ensure dirfd.c gets compiled. * modules/dirfd (Files): Add lib/dirent-private.h. (Depends-on, configure.ac): Simplify conditions. -- * lib/closedir.c: Include <stdlib.h> always, for free(). (closedir): If GNULIB_defined_DIR, arrange to call close(dirfd(dirp)) at the end. On mingw, call free() of dirp. Prefer testing HAVE_DIRENT_H, for consistency with dirent.h. * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if HAVE_CLOSEDIR is 0. If DIR_HAS_FD_MEMBER is 0, ensure closedir.c gets compiled. -- * lib/opendir.c: Include <stdlib.h> always. Include <string.h>. (opendir): On mingw, allocate the 'struct gl_directory' through malloc. If GNULIB_defined_DIR, set the 'fd_to_close' field to -1. Prefer testing HAVE_DIRENT_H, for consistency with dirent.h. * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if HAVE_OPENDIR is 0. If DIR_HAS_FD_MEMBER is 0, ensure opendir.c gets compiled. -- * lib/fdopendir.c (fdopendir): If GNULIB_defined_DIR, use a simple implementation based on opendir and the fchdir module. If __KLIBC__, don't define unused auxiliary functions. * modules/fdopendir (Files): Add lib/dirent-private.h. -- * lib/readdir.c (readdir): On mingw, redirect to the original readdir function. Prefer testing HAVE_DIRENT_H, for consistency with dirent.h. * m4/readdir.m4 (gl_FUNC_READDIR): If DIR_HAS_FD_MEMBER is 0, ensure readdir.c gets compiled. * modules/readdir (configure.ac): Consider REPLACE_READDIR. -- * lib/rewinddir.c (rewinddir): On mingw, redirect to the original rewinddir function. Prefer testing HAVE_DIRENT_H, for consistency with dirent.h. * m4/rewinddir.m4 (gl_FUNC_REWINDDIR): If DIR_HAS_FD_MEMBER is 0, ensure rewinddir.c gets compiled. * modules/rewinddir (configure.ac): Consider REPLACE_REWINDDIR. -- * lib/fchdir.c (dir_info_t): Remove a FIXME.
* fchdir tests: Fix test failure on native Windows.Bruno Haible2023-04-271-0/+5
| | | | * modules/fchdir-tests (Depends-on): Add dup.
* fclose: Make last change more maintainable.Bruno Haible2023-04-261-0/+13
| | | | | | | | | | | | * m4/fclose.m4 (gl_FUNC_FCLOSE): Define through AC_DEFUN_ONCE. Don't modify REPLACE_FOPEN. * modules/fclose (Depends-on): Add comment. (configure.ac): Don't modify REPLACE_FOPEN. Don't duplicate actions of module 'fopen'. * m4/fopen.m4 (gl_FUNC_FOPEN_ITSELF): Renamed from gl_FUNC_FOPEN. (gl_FUNC_FOPEN): New macro. * modules/fopen (Files): Add m4/fclose.m4, m4/fflush.m4. * m4/close.m4 (gl_FUNC_CLOSE): Define through AC_DEFUN_ONCE.
* gnulib-tool: For conditional dependencies, generate portable sh code.Po Lu2023-04-261-0/+8
| | | | | | * gnulib-tool (func_emit_autoconf_snippets): Avoid sh syntax 'if ! variable', that does not work with Solaris /bin/sh. * pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Likewise.
* expm1 tests: Avoid test failure on 32-bit mingw.Bruno Haible2023-04-261-0/+5
| | | | * tests/test-expm1.h (test_function): Mark y as 'volatile'.
* poll tests: Avoid test failure on native Windows.Bruno Haible2023-04-251-0/+8
| | | | | | | * tests/test-poll.c (test_pipe): Disable the POLLHUP check also on native Windows. * doc/posix-functions/poll.texi: Mention also native Windows w.r.t. POLLHUP.
* dfa tests: Fix compilation error (regression 2023-04-22).Bruno Haible2023-04-251-0/+6
| | | | | * tests/test-dfa-match-aux.c: Include unistd.h. * modules/dfa-tests (Depends-on): Add unistd.
* tests: Suppress ‘#pragma GCC diagnostic’ warnings with GCC < 13.Bruno Haible2023-04-251-0/+12
| | | | | | | | | | | * tests/test-localename.c: Disable #pragma for GCC < 12. * tests/test-dup2.c: Disable #pragma for GCC < 13. * tests/test-fcntl.c: Likewise. * tests/test-getdtablesize.c: Likewise. * tests/test-listen.c: Likewise. * tests/test-open.h: Likewise. * tests/test-perror2.c: Likewise. * tests/test-select.h: Likewise.
* select, pselect: Fix test failure on native Windows.Bruno Haible2023-04-241-0/+6
| | | | | * lib/select.c (rpl_select): Fail if nfds is out-of-range. * lib/pselect.c (pselect): Likewise.
* fclose: pacify gcc -Wanalyzer-file-leakPaul Eggert2023-04-241-0/+13
| | | | | | | | | | | | | | Without this patch, building coreutils with --enable-gcc-checking=expensive would fail with a message like “lib/exclude.c:682:6: error: leak of FILE 'in' [CWE-775] [-Werror=analyzer-file-leak]”, because Gnulib replaced fclose but not fopen, and GCC saw a call to fopen followed by a call to rpl_fclose. The patch causes GCC to instead see a call to rpl_fopen followed by rpl_fclose. * m4/fclose.m4 (gl_FUNC_FCLOSE): Replace fopen when replacing fclose. * modules/fclose (Depends-on): Add fopen. (configure.ac): Replace fopen when replacing fclose.
* unsetenv-tests: pacify -Wanalyzer-putenv-of-auto-varPaul Eggert2023-04-241-0/+5
| | | | | | * tests/test-unsetenv.c (main): Make entry static. Even with this change, it’s unclear whether this test is portable POSIX code, but that’s a different matter.
* tests: suppress some unwanted -fanalyzer checkingPaul Eggert2023-04-241-0/+9
| | | | | | | | * tests/test-dup2.c, tests/test-fcntl.c, tests/test-fopen.h: * tests/test-getdtablesize.c, tests/test-listen.c: * tests/test-localename.c, tests/test-open.h, tests/test-perror2.c: * tests/test-select.h: Add pragmas to disable unwanted -fanalyzer checking.
* ftell, ftello: Fix recognition of pipes on native Windows.Bruno Haible2023-04-241-0/+10
| | | | | | | | | * m4/lseek.m4 (gl_FUNC_LSEEK): Update comment. * m4/ftello.m4 (gl_FUNC_FTELLO): On native Windows, set REPLACE_FTELLO=1 always. * doc/posix-functions/ftello.texi: Mention the behaviour on pipes. * doc/posix-functions/ftell.texi: Likewise. * doc/posix-functions/fgetpos.texi: Likewise.
* lseek: Fix module dependencies (regression 2021-11-15).Bruno Haible2023-04-241-0/+6
| | | | | * modules/lseek (Depends-on): Re-enable the msvc-nothrow dependency also when WINDOWS_64_BIT_OFF_T is 0.
* system-quote: Fix memory overrun bug on native Windows.Bruno Haible2023-04-241-0/+6
| | | | | * lib/system-quote.c (system_quote): Allocate enough space for the result.
* unicodeio tests: Avoid test failures on native Windows.Bruno Haible2023-04-241-0/+7
| | | | | | * tests/test-unicodeio.c: Include localcharset.h. (main): Handle C locales whose encoding is CP1252 or similar. * modules/unicodeio-tests (Depends-on): Add localcharset.
* *sprintf tests: Avoid test failures on mingw 10.Bruno Haible2023-04-241-0/+9
| | | | | | | | * tests/test-vasnprintf-posix.c (test_function): On newer mingw, expect the de-facto standard result. * tests/test-vasprintf-posix.c (test_function): Likewise. * tests/test-snprintf-posix.h (test_function): Likewise. * tests/test-sprintf-posix.h (test_function): Likewise.
* Improve quoting of AS_HELP_STRING's first argument.Bruno Haible2023-04-241-0/+22
| | | | | | | | | | | | | | | | | | | | | * m4/acl.m4 (gl_FUNC_ACL_ARG): Don't underquote AS_HELP_STRING's first argument. * m4/assert.m4 (gl_ASSERT): Likewise. * m4/gc.m4 (gl_GC): Likewise. * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise. * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise. * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise. * m4/libgmp.m4 (gl_LIBGMP): Likewise. * m4/regex.m4 (gl_REGEX): Likewise. * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Likewise. * m4/selinux-selinux-h.m4 (gl_LIBSELINUX): Likewise. * m4/sigsegv.m4 (gl_SIGSEGV): Likewise. * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise. * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Likewise. * m4/version-etc.m4 (gl_VERSION_ETC_FLAG): Likewise. * m4/xattr.m4 (gl_FUNC_XATTR): Likewise. * doc/manywarnings.texi (manywarnings): Likewise. This avoids the use of quadrigraphs.
* category-none: Fix link errors on MSVC, when libunistring is installed.Bruno Haible2023-04-231-0/+7
| | | | | | * modules/unictype/category-none (configure.ac): Remove gl_LIBUNISTRING_MODULE invocation. (Makefile.am): Compile unictype/categ_none.c always.
* manywarnings: use AS_IFPaul Eggert2023-04-231-0/+5
| | | | | | * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT): Use AS_IF when the body contains Autoconf macros that could conceivably require something.
* manywarnings: update C warnings for GCC 13Paul Eggert2023-04-231-0/+9
| | | | | | | | | | Adjust for C programs compiled by GCC 13. (A C++ expert still needs to look at manywarnings-c++.m4.) * build-aux/gcc-warning.spec: Add warnings introduced in GCC 13. * doc/manywarnings.texi (manywarnings): Document flex arrays. * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fstrict-flex-arrays and -Wstrict-flex-arrays as these should be suitable for Gnulib-using code.
* manywarnings: bring doc up to datePaul Eggert2023-04-231-0/+3
| | | | * doc/manywarnings.texi: Bring doc up to date for GCC 12.
* manywarnings: omit -fno-common in GCC 10+Paul Eggert2023-04-231-0/+7
| | | | | | * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Omit -fno-common in GCC 10 and later, as it is the default there. Check exit status of ‘gcc --version’.
* libunistring: Fix build on Windows, when a libunistring is installed.Bruno Haible2023-04-231-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/unicase.in.h: Include <unistring/woe32dll.h>. (unicase_empty_prefix_context, unicase_empty_suffix_context): Declare with GNULIB_UNICASE_..._DLL_VARIABLE. * lib/unictype.in.h: Include <unistring/woe32dll.h>. (UC_CATEGORY_*, UC_PROPERTY_*): Declare with GNULIB_UNICTYPE_..._DLL_VARIABLE. * lib/uninorm.in.h: Include <unistring/woe32dll.h>. (unicode_normalization_form uninorm_nf*): Declare with GNULIB_UNINORM_..._DLL_VARIABLE. * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE_WITH_VARIABLE): New macro. (gl_LIBUNISTRING_LIB_PREPARE): Set HAVE_UNISTRING_WOE32DLL_H. * m4/unicase_h.m4: New file. * m4/unictype_h.m4: New file. * m4/uninorm_h.m4: New file. * modules/unicase/base (Files): Add m4/unicase_h.m4. (configure.ac): Bump version number. Invoke gl_UNICASE_H, gl_UNICASE_H_REQUIRE_DEFAULTS. (Makefile.am): Substitute all GNULIB_UNICASE_*_DLL_VARIABLE. * modules/unicase/empty-*-context (configure.ac): Invoke gl_UNICASE_H_REQUIRE_DEFAULTS. Use gl_LIBUNISTRING_MODULE_WITH_VARIABLE. * modules/unictype/base (Files): Add m4/unictype_h.m4. (configure.ac): Bump version number. Invoke gl_UNICTYPE_H, gl_UNICTYPE_H_REQUIRE_DEFAULTS. (Makefile.am): Substitute all GNULIB_UNICTYPE_*_DLL_VARIABLE. * modules/unictype/category-* (configure.ac): Invoke gl_UNICTYPE_H_REQUIRE_DEFAULTS. Use gl_LIBUNISTRING_MODULE_WITH_VARIABLE. * modules/unictype/property-* (configure.ac): Likewise. * modules/uninorm/base (Files): Add m4/uninorm_h.m4. (configure.ac): Bump version number. Invoke gl_UNINORM_H, gl_UNINORM_H_REQUIRE_DEFAULTS. (Makefile.am): Substitute all GNULIB_UNINORM_*_DLL_VARIABLE. * modules/uninorm/nf* (configure.ac): Invoke gl_UNINORM_H_REQUIRE_DEFAULTS. Use gl_LIBUNISTRING_MODULE_WITH_VARIABLE.
* Avoid some Autoconf "was expanded before it was required" warnings.Bruno Haible2023-04-231-0/+9
| | | | | | | | * m4/locale-ar.m4 (gt_LOCALE_AR): Define through AC_DEFUN_ONCE. * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise. * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise. * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise. * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
* string-desc tests: Avoid test failure on native Windows.Bruno Haible2023-04-221-0/+10
| | | | | | | | | * tests/test-string-desc.c: Include <fcntl.h>, <unistd.h>. (main): Expect a file name argument. Write to this file, instead of to fd 3. * tests/test-string-desc.sh: Pass a file name as argument, instead of using '3>'. * modules/string-desc-tests (Depends-on): Add close.
* threadlib, pthread-h, threads-h: Avoid mingw's libwinpthread by default.Bruno Haible2023-04-221-0/+7
| | | | | | * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Set gl_use_winpthreads_default to 'no' by default. (gl_AVOID_WINPTHREAD): Update comments.
* posixtm tests: Avoid test failure on native Windows.Bruno Haible2023-04-221-0/+6
| | | | | * tests/test-posixtm.c (T): On native Windows, disable test cases that would fail.
* dfa tests: Fix test failure on mingw differently.Bruno Haible2023-04-221-0/+9
| | | | | | | | | Suggested by Paul Eggert. * tests/test-dfa-invalid-char-class.sh: Revert last change. * tests/test-dfa-match-aux.c: Include binary-io.h. (main): Put stdout into binary mode. * modules/dfa-tests (Depends-on): Add binary-io.
* getumask: Make it work on native Windows.Bruno Haible2023-04-201-0/+7
| | | | | | * lib/getumask.c (getumask): When TMPDIR is unset, try TMP and TEMP. * tests/test-getumask.c (ASSUME_UMASK_CONSTANT): Define to 1 on native Windows.
* posixtm tests: Fix link error.Bruno Haible2023-04-201-0/+5
| | | | * modules/posixtm-tests (Depends-on): Add stpcpy.
* readtokens tests: Fix test failure on mingw.Bruno Haible2023-04-201-0/+4
| | | | | * tests/test-readtokens.sh: Transform CRLF to LF in the output, before comparing with the expected output.
* parse-duration tests: Fix test failure on mingw.Bruno Haible2023-04-201-0/+4
| | | | | * tests/test-parse-duration.sh: Transform CRLF to LF in the output, before analyzing the output.
* dfa tests: Fix test failure on mingw.Bruno Haible2023-04-201-0/+6
| | | | | * tests/test-dfa-invalid-char-class.sh: Transform CRLF to LF in the output, before comparing with the expected output.
* Fix uses of libwinpthread on mingw 10.Bruno Haible2023-04-201-0/+6
| | | | | * m4/threadlib.m4 (gl_WEAK_SYMBOLS): On mingw, set the result to "guessing no".