Update from Gnulib by running admin/merge-gnulib

This commit is contained in:
Paul Eggert 2025-02-07 13:02:02 -08:00
parent 93206cbcea
commit 0e4883f18e
8 changed files with 569 additions and 345 deletions

File diff suppressed because it is too large Load diff

View file

@ -257,7 +257,9 @@
because the function need not return exactly once and can depend because the function need not return exactly once and can depend
on state addressed by its arguments.) on state addressed by its arguments.)
See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and
<https://stackoverflow.com/questions/76847905/>. */ <https://stackoverflow.com/questions/76847905/>.
ATTENTION! Efforts are underway to change the meaning of this attribute.
See <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3424.htm>. */
/* Applies to: functions, pointer to functions, function type. */ /* Applies to: functions, pointer to functions, function type. */
#define UNSEQUENCED _GL_ATTRIBUTE_UNSEQUENCED #define UNSEQUENCED _GL_ATTRIBUTE_UNSEQUENCED
@ -284,7 +286,9 @@
because the function need not return exactly once and can affect because the function need not return exactly once and can affect
state addressed by its arguments.) state addressed by its arguments.)
See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and
<https://stackoverflow.com/questions/76847905/>. */ <https://stackoverflow.com/questions/76847905/>.
ATTENTION! Efforts are underway to change the meaning of this attribute.
See <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3424.htm>. */
/* Applies to: functions, pointer to functions, function type. */ /* Applies to: functions, pointer to functions, function type. */
#define REPRODUCIBLE _GL_ATTRIBUTE_REPRODUCIBLE #define REPRODUCIBLE _GL_ATTRIBUTE_REPRODUCIBLE

View file

@ -28,11 +28,12 @@
#include <stddef.h> #include <stddef.h>
/* Nonzero multiple of alignment of TYPE, suitable for FLEXSIZEOF below. /* Nonzero multiple of alignment of TYPE, suitable for FLEXSIZEOF below.
On older platforms without _Alignof, use a pessimistic bound that is If _Alignof might not exist or might not work correctly on
structs with flexible array members, use a pessimistic bound that is
safe in practice even if FLEXIBLE_ARRAY_MEMBER is 1. safe in practice even if FLEXIBLE_ARRAY_MEMBER is 1.
On newer platforms, use _Alignof to get a tighter bound. */ Otherwise, use _Alignof to get a tighter bound. */
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 || defined _Alignof
# define FLEXALIGNOF(type) (sizeof (type) & ~ (sizeof (type) - 1)) # define FLEXALIGNOF(type) (sizeof (type) & ~ (sizeof (type) - 1))
#else #else
# define FLEXALIGNOF(type) _Alignof (type) # define FLEXALIGNOF(type) _Alignof (type)

View file

@ -281,7 +281,6 @@ EXECINFO_H = @EXECINFO_H@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FILE_HAS_ACL_LIB = @FILE_HAS_ACL_LIB@ FILE_HAS_ACL_LIB = @FILE_HAS_ACL_LIB@
FIND_DELETE = @FIND_DELETE@ FIND_DELETE = @FIND_DELETE@
FIRSTFILE_OBJ = @FIRSTFILE_OBJ@
FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
FONT_OBJ = @FONT_OBJ@ FONT_OBJ = @FONT_OBJ@
@ -960,7 +959,6 @@ HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_XSERVER = @HAVE_XSERVER@ HAVE_XSERVER = @HAVE_XSERVER@
HAVE__EXIT = @HAVE__EXIT@ HAVE__EXIT = @HAVE__EXIT@
HYBRID_MALLOC = @HYBRID_MALLOC@
IEEE754_H = @IEEE754_H@ IEEE754_H = @IEEE754_H@
IMAGEMAGICK_CFLAGS = @IMAGEMAGICK_CFLAGS@ IMAGEMAGICK_CFLAGS = @IMAGEMAGICK_CFLAGS@
IMAGEMAGICK_LIBS = @IMAGEMAGICK_LIBS@ IMAGEMAGICK_LIBS = @IMAGEMAGICK_LIBS@
@ -1137,7 +1135,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@ PATH_SEPARATOR = @PATH_SEPARATOR@
PAXCTL = @PAXCTL@
PAXCTL_dumped = @PAXCTL_dumped@ PAXCTL_dumped = @PAXCTL_dumped@
PAXCTL_notdumped = @PAXCTL_notdumped@ PAXCTL_notdumped = @PAXCTL_notdumped@
PGTK_LIBS = @PGTK_LIBS@ PGTK_LIBS = @PGTK_LIBS@
@ -1147,10 +1144,8 @@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PNG_CFLAGS = @PNG_CFLAGS@ PNG_CFLAGS = @PNG_CFLAGS@
PNG_LIBS = @PNG_LIBS@ PNG_LIBS = @PNG_LIBS@
POST_ALLOC_OBJ = @POST_ALLOC_OBJ@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PRE_ALLOC_OBJ = @PRE_ALLOC_OBJ@
PRIPTR_PREFIX = @PRIPTR_PREFIX@ PRIPTR_PREFIX = @PRIPTR_PREFIX@
PROFILING_CFLAGS = @PROFILING_CFLAGS@ PROFILING_CFLAGS = @PROFILING_CFLAGS@
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
@ -1388,7 +1383,6 @@ TREE_SITTER_LIBS = @TREE_SITTER_LIBS@
UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNEXEC_OBJ = @UNEXEC_OBJ@
UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@ UNISTD_H_HAVE_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
@ -1501,10 +1495,16 @@ gl_GNULIB_ENABLED_verify_CONDITION = @gl_GNULIB_ENABLED_verify_CONDITION@
gl_LIBOBJDEPS = @gl_LIBOBJDEPS@ gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
gl_LIBOBJS = @gl_LIBOBJS@ gl_LIBOBJS = @gl_LIBOBJS@
gl_LTLIBOBJS = @gl_LTLIBOBJS@ gl_LTLIBOBJS = @gl_LTLIBOBJS@
gl_libgnu_LIBOBJDEPS = @gl_libgnu_LIBOBJDEPS@
gl_libgnu_LIBOBJS = @gl_libgnu_LIBOBJS@
gl_libgnu_LTLIBOBJS = @gl_libgnu_LTLIBOBJS@
gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@ gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
gltests_LIBOBJS = @gltests_LIBOBJS@ gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
gltests_WITNESS = @gltests_WITNESS@ gltests_WITNESS = @gltests_WITNESS@
gltests_libgnu_LIBOBJDEPS = @gltests_libgnu_LIBOBJDEPS@
gltests_libgnu_LIBOBJS = @gltests_libgnu_LIBOBJS@
gltests_libgnu_LTLIBOBJS = @gltests_libgnu_LTLIBOBJS@
gsettingsschemadir = @gsettingsschemadir@ gsettingsschemadir = @gsettingsschemadir@
host = @host@ host = @host@
host_alias = @host_alias@ host_alias = @host_alias@
@ -1552,9 +1552,9 @@ x_default_search_path = @x_default_search_path@
noinst_LIBRARIES += libgnu.a noinst_LIBRARIES += libgnu.a
libgnu_a_SOURCES = libgnu_a_SOURCES =
libgnu_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS) libgnu_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS) $(GL_CFLAG_ALLOW_WARNINGS)
libgnu_a_LIBADD = $(gl_LIBOBJS) libgnu_a_LIBADD = $(gl_libgnu_LIBOBJS)
libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) libgnu_a_DEPENDENCIES = $(gl_libgnu_LIBOBJS)
EXTRA_libgnu_a_SOURCES = EXTRA_libgnu_a_SOURCES =
## begin gnulib module absolute-header ## begin gnulib module absolute-header
@ -4446,5 +4446,5 @@ mostlyclean-local: mostlyclean-generic
: :
distclean-local: distclean-gnulib-libobjs distclean-local: distclean-gnulib-libobjs
distclean-gnulib-libobjs: distclean-gnulib-libobjs:
-rm -f @gl_LIBOBJDEPS@ -rm -f @gl_libgnu_LIBOBJDEPS@
maintainer-clean-local: distclean-gnulib-libobjs maintainer-clean-local: distclean-gnulib-libobjs

View file

@ -34,6 +34,14 @@
signed or floating type. Do not evaluate E. */ signed or floating type. Do not evaluate E. */
#define EXPR_SIGNED(e) _GL_EXPR_SIGNED (e) #define EXPR_SIGNED(e) _GL_EXPR_SIGNED (e)
/* The same value as as the arithmetic expression E, but with E's type
after integer promotions. For example, if E is of type 'enum {A, B}'
then 'switch (INT_PROMOTE (E))' pacifies gcc -Wswitch-enum if some
enum values are deliberately omitted from the switch's cases.
Here, unary + is safer than a cast or inline function, as unary +
does only integer promotions. */
#define INT_PROMOTE(e) (+ (e))
/* Minimum and maximum values for integer types and expressions. */ /* Minimum and maximum values for integer types and expressions. */

View file

@ -1,5 +1,5 @@
# acl.m4 # acl.m4
# serial 34 # serial 35
dnl Copyright (C) 2002, 2004-2025 Free Software Foundation, Inc. dnl Copyright (C) 2002, 2004-2025 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
@ -18,7 +18,7 @@ AC_DEFUN([gl_FUNC_ACL_ARG],
, [enable_acl=auto]) , [enable_acl=auto])
AC_ARG_WITH([libsmack], AC_ARG_WITH([libsmack],
[AS_HELP_STRING([--without-libsmack], [AS_HELP_STRING([--without-libsmack],
[do not use libsmack, even on systems that have it])] [do not use libsmack, even on systems that have it])],
[], [with_libsmack=maybe]) [], [with_libsmack=maybe])
]) ])

View file

@ -1,5 +1,5 @@
# gnulib-common.m4 # gnulib-common.m4
# serial 106 # serial 107
dnl Copyright (C) 2007-2025 Free Software Foundation, Inc. dnl Copyright (C) 2007-2025 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
@ -753,7 +753,9 @@ AC_DEFUN([gl_COMMON_BODY], [
than _GL_ATTRIBUTE_PURE because the function need not return than _GL_ATTRIBUTE_PURE because the function need not return
exactly once and can affect state addressed by its arguments.) exactly once and can affect state addressed by its arguments.)
See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and
<https://stackoverflow.com/questions/76847905/>. */ <https://stackoverflow.com/questions/76847905/>.
ATTENTION! Efforts are underway to change the meaning of this attribute.
See <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3424.htm>. */
/* Applies to: functions, pointer to functions, function types. */ /* Applies to: functions, pointer to functions, function types. */
#ifndef _GL_ATTRIBUTE_REPRODUCIBLE #ifndef _GL_ATTRIBUTE_REPRODUCIBLE
/* This may be revisited when gcc and clang support [[reproducible]] or possibly /* This may be revisited when gcc and clang support [[reproducible]] or possibly
@ -804,7 +806,9 @@ AC_DEFUN([gl_COMMON_BODY], [
_GL_ATTRIBUTE_CONST because the function need not return exactly _GL_ATTRIBUTE_CONST because the function need not return exactly
once and can depend on state addressed by its arguments.) once and can depend on state addressed by its arguments.)
See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and
<https://stackoverflow.com/questions/76847905/>. */ <https://stackoverflow.com/questions/76847905/>.
ATTENTION! Efforts are underway to change the meaning of this attribute.
See <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3424.htm>. */
/* Applies to: functions, pointer to functions, function types. */ /* Applies to: functions, pointer to functions, function types. */
#ifndef _GL_ATTRIBUTE_UNSEQUENCED #ifndef _GL_ATTRIBUTE_UNSEQUENCED
/* This may be revisited when gcc and clang support [[unsequenced]] or possibly /* This may be revisited when gcc and clang support [[unsequenced]] or possibly

View file

@ -1057,27 +1057,35 @@ AC_DEFUN([gl_INIT],
gl_libobjs= gl_libobjs=
gl_ltlibobjs= gl_ltlibobjs=
gl_libobjdeps= gl_libobjdeps=
gl_libgnu_libobjs=
gl_libgnu_ltlibobjs=
gl_libgnu_libobjdeps=
if test -n "$gl_LIBOBJS"; then if test -n "$gl_LIBOBJS"; then
# Remove the extension. # Remove the extension.
changequote(,)dnl changequote(,)dnl
sed_drop_objext='s/\.o$//;s/\.obj$//' sed_drop_objext='s/\.o$//;s/\.obj$//'
sed_dirname1='s,//*,/,g' sed_dirname1='s,//*,/,g'
sed_dirname2='s,\(.\)/$,\1,' sed_dirname2='s,\(.\)/$,\1,'
sed_dirname3='s,^[^/]*$,.,' sed_dirname3='s,[^/]*$,,'
sed_dirname4='s,\(.\)/[^/]*$,\1,'
sed_basename1='s,.*/,,' sed_basename1='s,.*/,,'
changequote([, ])dnl changequote([, ])dnl
for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
gl_libobjs="$gl_libobjs $i.$ac_objext" gl_libobjs="$gl_libobjs $i.$ac_objext"
gl_ltlibobjs="$gl_ltlibobjs $i.lo" gl_ltlibobjs="$gl_ltlibobjs $i.lo"
i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3"`
i_base=`echo "$i" | sed -e "$sed_basename1"` i_base=`echo "$i" | sed -e "$sed_basename1"`
gl_libobjdeps="$gl_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Po" gl_libgnu_libobjs="$gl_libgnu_libobjs $i_dir""libgnu_a-$i_base.$ac_objext"
gl_libgnu_ltlibobjs="$gl_libgnu_ltlibobjs $i_dir""libgnu_la-$i_base.lo"
gl_libobjdeps="$gl_libobjdeps $i_dir\$(DEPDIR)/$i_base.Po"
gl_libgnu_libobjdeps="$gl_libgnu_libobjdeps $i_dir\$(DEPDIR)/libgnu_a-$i_base.Po"
done done
fi fi
AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) AC_SUBST([gl_LIBOBJS], [$gl_libobjs])
AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs])
AC_SUBST([gl_LIBOBJDEPS], [$gl_libobjdeps]) AC_SUBST([gl_LIBOBJDEPS], [$gl_libobjdeps])
AC_SUBST([gl_libgnu_LIBOBJS], [$gl_libgnu_libobjs])
AC_SUBST([gl_libgnu_LTLIBOBJS], [$gl_libgnu_ltlibobjs])
AC_SUBST([gl_libgnu_LIBOBJDEPS], [$gl_libgnu_libobjdeps])
]) ])
gltests_libdeps= gltests_libdeps=
gltests_ltlibdeps= gltests_ltlibdeps=
@ -1121,27 +1129,35 @@ changequote([, ])dnl
gltests_libobjs= gltests_libobjs=
gltests_ltlibobjs= gltests_ltlibobjs=
gltests_libobjdeps= gltests_libobjdeps=
gltests_libgnu_libobjs=
gltests_libgnu_ltlibobjs=
gltests_libgnu_libobjdeps=
if test -n "$gltests_LIBOBJS"; then if test -n "$gltests_LIBOBJS"; then
# Remove the extension. # Remove the extension.
changequote(,)dnl changequote(,)dnl
sed_drop_objext='s/\.o$//;s/\.obj$//' sed_drop_objext='s/\.o$//;s/\.obj$//'
sed_dirname1='s,//*,/,g' sed_dirname1='s,//*,/,g'
sed_dirname2='s,\(.\)/$,\1,' sed_dirname2='s,\(.\)/$,\1,'
sed_dirname3='s,^[^/]*$,.,' sed_dirname3='s,[^/]*$,,'
sed_dirname4='s,\(.\)/[^/]*$,\1,'
sed_basename1='s,.*/,,' sed_basename1='s,.*/,,'
changequote([, ])dnl changequote([, ])dnl
for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
gltests_libobjs="$gltests_libobjs $i.$ac_objext" gltests_libobjs="$gltests_libobjs $i.$ac_objext"
gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" gltests_ltlibobjs="$gltests_ltlibobjs $i.lo"
i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3"`
i_base=`echo "$i" | sed -e "$sed_basename1"` i_base=`echo "$i" | sed -e "$sed_basename1"`
gltests_libobjdeps="$gltests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Po" gltests_libgnu_libobjs="$gltests_libgnu_libobjs $i_dir""libgnu_a-$i_base.$ac_objext"
gltests_libgnu_ltlibobjs="$gltests_libgnu_ltlibobjs $i_dir""libgnu_la-$i_base.lo"
gltests_libobjdeps="$gltests_libobjdeps $i_dir\$(DEPDIR)/$i_base.Po"
gltests_libgnu_libobjdeps="$gltests_libgnu_libobjdeps $i_dir\$(DEPDIR)/libgnu_a-$i_base.Po"
done done
fi fi
AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs])
AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs])
AC_SUBST([gltests_LIBOBJDEPS], [$gltests_libobjdeps]) AC_SUBST([gltests_LIBOBJDEPS], [$gltests_libobjdeps])
AC_SUBST([gltests_libgnu_LIBOBJS], [$gltests_libgnu_libobjs])
AC_SUBST([gltests_libgnu_LTLIBOBJS], [$gltests_libgnu_ltlibobjs])
AC_SUBST([gltests_libgnu_LIBOBJDEPS], [$gltests_libgnu_libobjdeps])
]) ])
AC_REQUIRE([gl_CC_GNULIB_WARNINGS]) AC_REQUIRE([gl_CC_GNULIB_WARNINGS])
LIBGNU_LIBDEPS="$gl_libdeps" LIBGNU_LIBDEPS="$gl_libdeps"