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
on state addressed by its arguments.)
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. */
#define UNSEQUENCED _GL_ATTRIBUTE_UNSEQUENCED
@ -284,7 +286,9 @@
because the function need not return 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
<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. */
#define REPRODUCIBLE _GL_ATTRIBUTE_REPRODUCIBLE

View file

@ -28,11 +28,12 @@
#include <stddef.h>
/* 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.
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))
#else
# define FLEXALIGNOF(type) _Alignof (type)

View file

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

View file

@ -34,6 +34,14 @@
signed or floating type. Do not evaluate 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. */

View file

@ -1,5 +1,5 @@
# acl.m4
# serial 34
# serial 35
dnl Copyright (C) 2002, 2004-2025 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@ -18,7 +18,7 @@ AC_DEFUN([gl_FUNC_ACL_ARG],
, [enable_acl=auto])
AC_ARG_WITH([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])
])

View file

@ -1,5 +1,5 @@
# gnulib-common.m4
# serial 106
# serial 107
dnl Copyright (C) 2007-2025 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
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
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
<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. */
#ifndef _GL_ATTRIBUTE_REPRODUCIBLE
/* 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
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
<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. */
#ifndef _GL_ATTRIBUTE_UNSEQUENCED
/* 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_ltlibobjs=
gl_libobjdeps=
gl_libgnu_libobjs=
gl_libgnu_ltlibobjs=
gl_libgnu_libobjdeps=
if test -n "$gl_LIBOBJS"; then
# Remove the extension.
changequote(,)dnl
sed_drop_objext='s/\.o$//;s/\.obj$//'
sed_dirname1='s,//*,/,g'
sed_dirname2='s,\(.\)/$,\1,'
sed_dirname3='s,^[^/]*$,.,'
sed_dirname4='s,\(.\)/[^/]*$,\1,'
sed_dirname3='s,[^/]*$,,'
sed_basename1='s,.*/,,'
changequote([, ])dnl
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_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"`
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
fi
AC_SUBST([gl_LIBOBJS], [$gl_libobjs])
AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs])
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_ltlibdeps=
@ -1121,27 +1129,35 @@ changequote([, ])dnl
gltests_libobjs=
gltests_ltlibobjs=
gltests_libobjdeps=
gltests_libgnu_libobjs=
gltests_libgnu_ltlibobjs=
gltests_libgnu_libobjdeps=
if test -n "$gltests_LIBOBJS"; then
# Remove the extension.
changequote(,)dnl
sed_drop_objext='s/\.o$//;s/\.obj$//'
sed_dirname1='s,//*,/,g'
sed_dirname2='s,\(.\)/$,\1,'
sed_dirname3='s,^[^/]*$,.,'
sed_dirname4='s,\(.\)/[^/]*$,\1,'
sed_dirname3='s,[^/]*$,,'
sed_basename1='s,.*/,,'
changequote([, ])dnl
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_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"`
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
fi
AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs])
AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs])
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])
LIBGNU_LIBDEPS="$gl_libdeps"