diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2023-02-25 17:01:22 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2023-02-25 17:13:29 -0800 |
commit | 6a3a729705f74f630d0a98344531f39d051b543e (patch) | |
tree | 8b8ccb0abca0f9bee086d1d9e2fcfe8dd037a816 /lib | |
parent | e91d29f0048d49c4f186e76b8d55cf39e7e77d63 (diff) | |
download | emacs-6a3a729705f74f630d0a98344531f39d051b543e.tar.gz |
Update from Gnulib by running admin/merge-gnulib
Diffstat (limited to 'lib')
-rw-r--r-- | lib/getopt-pfx-core.h | 2 | ||||
-rw-r--r-- | lib/limits.in.h | 13 | ||||
-rw-r--r-- | lib/string.in.h | 4 | ||||
-rw-r--r-- | lib/unistd.in.h | 18 | ||||
-rw-r--r-- | lib/verify.h | 2 |
5 files changed, 33 insertions, 6 deletions
diff --git a/lib/getopt-pfx-core.h b/lib/getopt-pfx-core.h index 3a2fde5ad4f..095e3930feb 100644 --- a/lib/getopt-pfx-core.h +++ b/lib/getopt-pfx-core.h @@ -47,7 +47,7 @@ # define optind __GETOPT_ID (optind) # define optopt __GETOPT_ID (optopt) -/* Work around a a problem on macOS, which declares getopt with a +/* Work around a problem on macOS, which declares getopt with a trailing __DARWIN_ALIAS(getopt) that would expand to something like __asm("_" "rpl_getopt" "$UNIX2003") were it not for the following hack to suppress the macOS declaration <https://bugs.gnu.org/40205>. */ diff --git a/lib/limits.in.h b/lib/limits.in.h index eaeac472299..a01b4c6a280 100644 --- a/lib/limits.in.h +++ b/lib/limits.in.h @@ -119,11 +119,14 @@ /* Macros specified by C23. */ -#if (! defined BOOL_WIDTH \ - && (defined _GNU_SOURCE \ - || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) -# define BOOL_MAX 1 -# define BOOL_WIDTH 1 +#if (defined _GNU_SOURCE \ + || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__)) +# if ! defined BOOL_WIDTH +# define BOOL_WIDTH 1 +# define BOOL_MAX 1 +# elif ! defined BOOL_MAX +# define BOOL_MAX ((((1U << (BOOL_WIDTH - 1)) - 1) << 1) + 1) +# endif #endif #endif /* _@GUARD_PREFIX@_LIMITS_H */ diff --git a/lib/string.in.h b/lib/string.in.h index aa088213927..b6bf432e1f1 100644 --- a/lib/string.in.h +++ b/lib/string.in.h @@ -126,7 +126,11 @@ # if (@REPLACE_FREE@ && !defined free \ && !(defined __cplusplus && defined GNULIB_NAMESPACE)) /* We can't do '#define free rpl_free' here. */ +# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) +_GL_EXTERN_C void rpl_free (void *) throw (); +# else _GL_EXTERN_C void rpl_free (void *); +# endif # undef _GL_ATTRIBUTE_DEALLOC_FREE # define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1) # else diff --git a/lib/unistd.in.h b/lib/unistd.in.h index bfc501e5a7d..8ba9867894e 100644 --- a/lib/unistd.in.h +++ b/lib/unistd.in.h @@ -40,6 +40,24 @@ # undef _GL_INCLUDING_UNISTD_H #endif +/* Avoid lseek bugs in FreeBSD, macOS <https://bugs.gnu.org/61386>. + This bug is fixed after FreeBSD 13; see <https://bugs.freebsd.org/256205>. + Use macOS "9999" to stand for a future fixed macOS version. */ +#if defined __FreeBSD__ && __FreeBSD__ < 14 +# undef SEEK_DATA +# undef SEEK_HOLE +#elif defined __APPLE__ && defined __MACH__ && defined SEEK_DATA +# ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ +# include <AvailabilityMacros.h> +# endif +# if (!defined MAC_OS_X_VERSION_MIN_REQUIRED \ + || MAC_OS_X_VERSION_MIN_REQUIRED < 99990000) +# include <sys/fcntl.h> /* It also defines the two macros. */ +# undef SEEK_DATA +# undef SEEK_HOLE +# endif +#endif + /* Get all possible declarations of gethostname(). */ #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \ && !defined _GL_INCLUDING_WINSOCK2_H diff --git a/lib/verify.h b/lib/verify.h index 8f786af7f5a..f0b3fc5851b 100644 --- a/lib/verify.h +++ b/lib/verify.h @@ -265,6 +265,8 @@ template <int w> # define _GL_SA3 static_assert # define _GL_SA_PICK(x1,x2,x3,x4,...) x4 # define static_assert(...) _GL_EXPAND(_GL_SA_PICK(__VA_ARGS__,_GL_SA3,_GL_SA2,_GL_SA1)) (__VA_ARGS__) +/* Avoid "fatal error C1189: #error: The C++ Standard Library forbids macroizing keywords." */ +# define _ALLOW_KEYWORD_MACROS 1 # else # define static_assert _Static_assert /* C11 requires this #define. */ # endif |