1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-05 22:20:24 -08:00

Update from Gnulib by running admin/merge-gnulib

This commit is contained in:
Paul Eggert 2023-01-06 17:53:54 -08:00
parent 2f05f48918
commit 9e98ff562b
88 changed files with 836 additions and 612 deletions

View file

@ -1,4 +1,4 @@
# gnulib-common.m4 serial 74
# gnulib-common.m4 serial 76
dnl Copyright (C) 2007-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@ -187,7 +187,14 @@ AC_DEFUN([gl_COMMON_BODY], [
to use this earlier definition, since <stdlib.h> may not have been included
yet. */
#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
# if defined __cplusplus && defined __GNUC__ && !defined __clang__
/* Work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231> */
# define _GL_ATTRIBUTE_DEALLOC_FREE \
_GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1)
# else
# define _GL_ATTRIBUTE_DEALLOC_FREE \
_GL_ATTRIBUTE_DEALLOC (free, 1)
# endif
#endif
/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated.
@ -309,7 +316,7 @@ AC_DEFUN([gl_COMMON_BODY], [
- enumeration, enumeration item,
- typedef,
in C++ also: class. */
/* In C++ and C2x, this is spelled [[__maybe_unused__]].
/* In C++ and C23, this is spelled [[__maybe_unused__]].
GCC's syntax is __attribute__ ((__unused__)).
clang supports both syntaxes. */
#ifdef __has_c_attribute
@ -1016,6 +1023,30 @@ AC_DEFUN([gl_CONDITIONAL_HEADER],
m4_popdef([gl_header_name])
])
dnl gl_CHECK_FUNCS_ANDROID([func], [[#include <foo.h>]])
dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem
dnl on Android.
dnl Namely, if func was added to Android API level, say, 28, then the libc.so
dnl has the symbol func always, whereas the header file <foo.h> declares func
dnl conditionally:
dnl #if __ANDROID_API__ >= 28
dnl ... func (...) __INTRODUCED_IN(28);
dnl #endif
dnl Thus, when compiling with "clang -target armv7a-unknown-linux-android28",
dnl the function func is declared and exists in libc.
dnl Whereas when compiling with "clang -target armv7a-unknown-linux-android27",
dnl the function func is not declared but exists in libc. We need to treat this
dnl case like the case where func does not exist.
AC_DEFUN([gl_CHECK_FUNCS_ANDROID],
[
AC_CHECK_DECL([$1], , , [$2])
if test $ac_cv_have_decl_[$1] = yes; then
AC_CHECK_FUNCS([$1])
else
ac_cv_func_[$1]=no
fi
])
dnl Expands to some code for use in .c programs that, on native Windows, defines
dnl the Microsoft deprecated alias function names to the underscore-prefixed
dnl actual function names. With this macro, these function names are available