Update from Gnulib
This incorporates: 2020-02-08 lchmod: ensure declaration on HP-UX 2020-02-08 fchmodat: fix endless recursion on Cygwin 2020-02-08 Fix compilation errors in a testdir 2020-02-07 fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks 2020-02-04 Port _Noreturn to older Clang 2020-02-03 libc-config: port to Apple’s Clang variant * lib/_Noreturn.h, lib/c++defs.h, lib/libc-config.h, lib/sys_stat.in.h: * m4/gnulib-common.m4, m4/sys_stat_h.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
This commit is contained in:
parent
2645ae1222
commit
5e7bead8ea
7 changed files with 50 additions and 27 deletions
|
@ -28,7 +28,10 @@
|
|||
# define _Noreturn [[noreturn]]
|
||||
# elif ((!defined __cplusplus || defined __clang__) \
|
||||
&& (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
|
||||
|| 4 < __GNUC__ + (7 <= __GNUC_MINOR__)))
|
||||
|| 4 < __GNUC__ + (7 <= __GNUC_MINOR__) \
|
||||
|| (defined __apple_build_version__ \
|
||||
? 6000000 <= __apple_build_version__ \
|
||||
: 3 < __clang_major__ + (5 <= __clang_minor__))))
|
||||
/* _Noreturn works as-is. */
|
||||
# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C
|
||||
# define _Noreturn __attribute__ ((__noreturn__))
|
||||
|
|
|
@ -301,9 +301,6 @@
|
|||
_GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
|
||||
"The symbol ::" #func " refers to the system function. " \
|
||||
"Use " #namespace "::" #func " instead.")
|
||||
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
|
||||
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
|
||||
extern __typeof__ (func) func
|
||||
# else
|
||||
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
|
||||
_GL_EXTERN_C int _gl_cxxalias_dummy
|
||||
|
|
|
@ -854,6 +854,7 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
|
|||
REPLACE_DUP = @REPLACE_DUP@
|
||||
REPLACE_DUP2 = @REPLACE_DUP2@
|
||||
REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
|
||||
REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
|
||||
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
|
||||
REPLACE_FCLOSE = @REPLACE_FCLOSE@
|
||||
REPLACE_FCNTL = @REPLACE_FCNTL@
|
||||
|
@ -885,6 +886,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
|
|||
REPLACE_GMTIME = @REPLACE_GMTIME@
|
||||
REPLACE_INITSTATE = @REPLACE_INITSTATE@
|
||||
REPLACE_ISATTY = @REPLACE_ISATTY@
|
||||
REPLACE_LCHMOD = @REPLACE_LCHMOD@
|
||||
REPLACE_LCHOWN = @REPLACE_LCHOWN@
|
||||
REPLACE_LINK = @REPLACE_LINK@
|
||||
REPLACE_LINKAT = @REPLACE_LINKAT@
|
||||
|
@ -2935,9 +2937,11 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
|
|||
-e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \
|
||||
-e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \
|
||||
-e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \
|
||||
-e 's|@''REPLACE_FCHMODAT''@|$(REPLACE_FCHMODAT)|g' \
|
||||
-e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \
|
||||
-e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \
|
||||
-e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \
|
||||
-e 's|@''REPLACE_LCHMOD''@|$(REPLACE_LCHMOD)|g' \
|
||||
-e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
|
||||
-e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
|
||||
-e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \
|
||||
|
|
|
@ -55,8 +55,17 @@
|
|||
|
||||
#ifndef __glibc_clang_prereq
|
||||
# if defined __clang_major__ && defined __clang_minor__
|
||||
# define __glibc_clang_prereq(maj, min) \
|
||||
((maj) < __clang_major__ + ((min) <= __clang_minor__))
|
||||
# ifdef __apple_build_version__
|
||||
/* Apple for some reason renumbers __clang_major__ and __clang_minor__.
|
||||
Gnulib code uses only __glibc_clang_prereq (3, 5); map it to
|
||||
6000000 <= __apple_build_version__. Support for other calls to
|
||||
__glibc_clang_prereq can be added here as needed. */
|
||||
# define __glibc_clang_prereq(maj, min) \
|
||||
((maj) == 3 && (min) == 5 ? 6000000 <= __apple_build_version__ : 0)
|
||||
# else
|
||||
# define __glibc_clang_prereq(maj, min) \
|
||||
((maj) < __clang_major__ + ((min) <= __clang_minor__))
|
||||
# endif
|
||||
# else
|
||||
# define __glibc_clang_prereq(maj, min) 0
|
||||
# endif
|
||||
|
|
|
@ -392,13 +392,25 @@ struct stat
|
|||
|
||||
|
||||
#if @GNULIB_FCHMODAT@
|
||||
# if !@HAVE_FCHMODAT@
|
||||
# if @REPLACE_FCHMODAT@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef fchmodat
|
||||
# define fchmodat rpl_fchmodat
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (fchmodat, int,
|
||||
(int fd, char const *file, mode_t mode, int flag)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
_GL_CXXALIAS_RPL (fchmodat, int,
|
||||
(int fd, char const *file, mode_t mode, int flag));
|
||||
# else
|
||||
# if !@HAVE_FCHMODAT@
|
||||
_GL_FUNCDECL_SYS (fchmodat, int,
|
||||
(int fd, char const *file, mode_t mode, int flag)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
# endif
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (fchmodat, int,
|
||||
(int fd, char const *file, mode_t mode, int flag));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (fchmodat);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef fchmodat
|
||||
|
@ -502,31 +514,24 @@ _GL_WARN_ON_USE (futimens, "futimens is not portable - "
|
|||
#if @GNULIB_LCHMOD@
|
||||
/* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME
|
||||
denotes a symbolic link. */
|
||||
# if !@HAVE_LCHMOD@
|
||||
/* The lchmod replacement follows symbolic links. Callers should take
|
||||
this into account; lchmod should be applied only to arguments that
|
||||
are known to not be symbolic links. On hosts that lack lchmod,
|
||||
this can lead to race conditions between the check and the
|
||||
invocation of lchmod, but we know of no workarounds that are
|
||||
reliable in general. You might try requesting support for lchmod
|
||||
from your operating system supplier. */
|
||||
# if @REPLACE_LCHMOD@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define lchmod chmod
|
||||
# undef lchmod
|
||||
# define lchmod rpl_lchmod
|
||||
# endif
|
||||
/* Need to cast, because on mingw, the second parameter of chmod is
|
||||
int mode. */
|
||||
_GL_CXXALIAS_RPL_CAST_1 (lchmod, chmod, int,
|
||||
(const char *filename, mode_t mode));
|
||||
_GL_FUNCDECL_RPL (lchmod, int,
|
||||
(char const *filename, mode_t mode)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (lchmod, int,
|
||||
(char const *filename, mode_t mode));
|
||||
# else
|
||||
# if 0 /* assume already declared */
|
||||
# if !@HAVE_LCHMOD@ || defined __hpux
|
||||
_GL_FUNCDECL_SYS (lchmod, int, (const char *filename, mode_t mode)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode));
|
||||
# endif
|
||||
# if @HAVE_LCHMOD@
|
||||
_GL_CXXALIASWARN (lchmod);
|
||||
# endif
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef lchmod
|
||||
# if HAVE_RAW_DECL_LCHMOD
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# gnulib-common.m4 serial 47
|
||||
# gnulib-common.m4 serial 48
|
||||
dnl Copyright (C) 2007-2020 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -31,7 +31,10 @@ AC_DEFUN([gl_COMMON_BODY], [
|
|||
# define _Noreturn [[noreturn]]
|
||||
# elif ((!defined __cplusplus || defined __clang__) \
|
||||
&& (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
|
||||
|| 4 < __GNUC__ + (7 <= __GNUC_MINOR__)))
|
||||
|| 4 < __GNUC__ + (7 <= __GNUC_MINOR__) \
|
||||
|| (defined __apple_build_version__ \
|
||||
? 6000000 <= __apple_build_version__ \
|
||||
: 3 < __clang_major__ + (5 <= __clang_minor__))))
|
||||
/* _Noreturn works as-is. */
|
||||
# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C
|
||||
# define _Noreturn __attribute__ ((__noreturn__))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# sys_stat_h.m4 serial 31 -*- Autoconf -*-
|
||||
# sys_stat_h.m4 serial 32 -*- Autoconf -*-
|
||||
dnl Copyright (C) 2006-2020 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -88,9 +88,11 @@ AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
|
|||
HAVE_MKNOD=1; AC_SUBST([HAVE_MKNOD])
|
||||
HAVE_MKNODAT=1; AC_SUBST([HAVE_MKNODAT])
|
||||
HAVE_UTIMENSAT=1; AC_SUBST([HAVE_UTIMENSAT])
|
||||
REPLACE_FCHMODAT=0; AC_SUBST([REPLACE_FCHMODAT])
|
||||
REPLACE_FSTAT=0; AC_SUBST([REPLACE_FSTAT])
|
||||
REPLACE_FSTATAT=0; AC_SUBST([REPLACE_FSTATAT])
|
||||
REPLACE_FUTIMENS=0; AC_SUBST([REPLACE_FUTIMENS])
|
||||
REPLACE_LCHMOD=0; AC_SUBST([REPLACE_LCHMOD])
|
||||
REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT])
|
||||
REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR])
|
||||
REPLACE_MKFIFO=0; AC_SUBST([REPLACE_MKFIFO])
|
||||
|
|
Loading…
Add table
Reference in a new issue