aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2013-07-08 20:55:58 +0900
committerKenichi Handa2013-07-08 20:55:58 +0900
commit6388fe5e472c9bcfcd89b83c5818e7544502377f (patch)
treed640898056029300e43310e82a52b82d029d1ad4
parent0f01f02fe70b3ca67a5119acfc5357fe79b290e2 (diff)
parent2d756ae0d8fc8c83c3705f07640b61e0583e50b4 (diff)
downloademacs-6388fe5e472c9bcfcd89b83c5818e7544502377f.tar.gz
emacs-6388fe5e472c9bcfcd89b83c5818e7544502377f.zip
merge trunk
-rw-r--r--ChangeLog6
-rw-r--r--autogen/Makefile.in68
-rw-r--r--autogen/aclocal.m43
-rw-r--r--autogen/config.in18
-rwxr-xr-xautogen/configure290
-rw-r--r--lib/stdalign.in.h39
-rw-r--r--lib/verify.h112
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/net/shr.el1
-rw-r--r--m4/stdalign.m43
10 files changed, 419 insertions, 126 deletions
diff --git a/ChangeLog b/ChangeLog
index 5ceb8340cfa..e6e2c058b57 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
12013-07-08 Paul Eggert <eggert@cs.ucla.edu>
2
3 Try to fix FreeBSD 9.1 porting problem (Bug#14812).
4 This incorporates the following merge from gnulib:
5 2013-07-07 stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
6
12013-07-07 Paul Eggert <eggert@cs.ucla.edu> 72013-07-07 Paul Eggert <eggert@cs.ucla.edu>
2 8
3 Port to Ubuntu 10 (Bug#14803). 9 Port to Ubuntu 10 (Bug#14803).
diff --git a/autogen/Makefile.in b/autogen/Makefile.in
index 99805dd1fe8..34eda262d88 100644
--- a/autogen/Makefile.in
+++ b/autogen/Makefile.in
@@ -59,7 +59,7 @@
59# the same distribution terms as the rest of that program. 59# the same distribution terms as the rest of that program.
60# 60#
61# Generated by gnulib-tool. 61# Generated by gnulib-tool.
62# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=dup --avoid=fchdir --avoid=fcntl --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt c-ctype c-strcase careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday ignore-value intprops largefile lstat manywarnings memrchr mktime pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stdarg stdbool stdio strftime strtoimax strtoumax symlink sys_stat sys_time time timer-time timespec-add timespec-sub unsetenv utimens warnings 62# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=binary-io --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt c-ctype c-strcase careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday ignore-value intprops largefile lstat manywarnings memrchr mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stdarg stdbool stdio strftime strtoimax strtoumax symlink sys_stat sys_time time timer-time timespec-add timespec-sub unsetenv utimens warnings
63 63
64VPATH = @srcdir@ 64VPATH = @srcdir@
65pkgdatadir = $(datadir)/@PACKAGE@ 65pkgdatadir = $(datadir)/@PACKAGE@
@@ -192,12 +192,13 @@ DIST_COMMON = $(srcdir)/../nt/gnulib.mk $(srcdir)/Makefile.am \
192@BUILDING_FOR_WINDOWSNT_FALSE@ ftoastr.h dup2.c errno.in.h \ 192@BUILDING_FOR_WINDOWSNT_FALSE@ ftoastr.h dup2.c errno.in.h \
193@BUILDING_FOR_WINDOWSNT_FALSE@ euidaccess.c execinfo.c \ 193@BUILDING_FOR_WINDOWSNT_FALSE@ euidaccess.c execinfo.c \
194@BUILDING_FOR_WINDOWSNT_FALSE@ execinfo.in.h at-func.c \ 194@BUILDING_FOR_WINDOWSNT_FALSE@ execinfo.in.h at-func.c \
195@BUILDING_FOR_WINDOWSNT_FALSE@ faccessat.c fcntl.in.h \ 195@BUILDING_FOR_WINDOWSNT_FALSE@ faccessat.c fcntl.c fcntl.in.h \
196@BUILDING_FOR_WINDOWSNT_FALSE@ fdatasync.c fdopendir.c \ 196@BUILDING_FOR_WINDOWSNT_FALSE@ fdatasync.c fdopendir.c \
197@BUILDING_FOR_WINDOWSNT_FALSE@ filemode.h fpending.c fpending.h \ 197@BUILDING_FOR_WINDOWSNT_FALSE@ filemode.h fpending.c fpending.h \
198@BUILDING_FOR_WINDOWSNT_FALSE@ at-func.c fstatat.c fsync.c \ 198@BUILDING_FOR_WINDOWSNT_FALSE@ at-func.c fstatat.c fsync.c \
199@BUILDING_FOR_WINDOWSNT_FALSE@ getgroups.c getloadavg.c \ 199@BUILDING_FOR_WINDOWSNT_FALSE@ getdtablesize.c getgroups.c \
200@BUILDING_FOR_WINDOWSNT_FALSE@ getopt.c getopt.in.h getopt1.c \ 200@BUILDING_FOR_WINDOWSNT_FALSE@ getloadavg.c getopt.c \
201@BUILDING_FOR_WINDOWSNT_FALSE@ getopt.in.h getopt1.c \
201@BUILDING_FOR_WINDOWSNT_FALSE@ getopt_int.h gettimeofday.c \ 202@BUILDING_FOR_WINDOWSNT_FALSE@ getopt_int.h gettimeofday.c \
202@BUILDING_FOR_WINDOWSNT_FALSE@ group-member.c ignore-value.h \ 203@BUILDING_FOR_WINDOWSNT_FALSE@ group-member.c ignore-value.h \
203@BUILDING_FOR_WINDOWSNT_FALSE@ intprops.h inttypes.in.h lstat.c \ 204@BUILDING_FOR_WINDOWSNT_FALSE@ intprops.h inttypes.in.h lstat.c \
@@ -239,10 +240,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
239 $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/euidaccess.m4 \ 240 $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/euidaccess.m4 \
240 $(top_srcdir)/m4/execinfo.m4 $(top_srcdir)/m4/extensions.m4 \ 241 $(top_srcdir)/m4/execinfo.m4 $(top_srcdir)/m4/extensions.m4 \
241 $(top_srcdir)/m4/extern-inline.m4 \ 242 $(top_srcdir)/m4/extern-inline.m4 \
242 $(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fcntl_h.m4 \ 243 $(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fcntl.m4 \
243 $(top_srcdir)/m4/fdatasync.m4 $(top_srcdir)/m4/fdopendir.m4 \ 244 $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdatasync.m4 \
244 $(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/fpending.m4 \ 245 $(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/filemode.m4 \
245 $(top_srcdir)/m4/fstatat.m4 $(top_srcdir)/m4/fsync.m4 \ 246 $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstatat.m4 \
247 $(top_srcdir)/m4/fsync.m4 $(top_srcdir)/m4/getdtablesize.m4 \
246 $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/getloadavg.m4 \ 248 $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/getloadavg.m4 \
247 $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettime.m4 \ 249 $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettime.m4 \
248 $(top_srcdir)/m4/gettimeofday.m4 \ 250 $(top_srcdir)/m4/gettimeofday.m4 \
@@ -255,7 +257,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
255 $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memrchr.m4 \ 257 $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memrchr.m4 \
256 $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/multiarch.m4 \ 258 $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/multiarch.m4 \
257 $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ 259 $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
258 $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/pselect.m4 \ 260 $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/pipe2.m4 \
261 $(top_srcdir)/m4/pselect.m4 \
259 $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \ 262 $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
260 $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \ 263 $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \
261 $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sha1.m4 \ 264 $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sha1.m4 \
@@ -291,10 +294,11 @@ am__DEPENDENCIES_1 =
291am__libgnu_a_SOURCES_DIST = allocator.c c-ctype.h c-ctype.c \ 294am__libgnu_a_SOURCES_DIST = allocator.c c-ctype.h c-ctype.c \
292 c-strcase.h c-strcasecmp.c c-strncasecmp.c careadlinkat.c \ 295 c-strcase.h c-strcasecmp.c c-strncasecmp.c careadlinkat.c \
293 close-stream.c md5.c sha1.c sha256.c sha512.c dtoastr.c \ 296 close-stream.c md5.c sha1.c sha256.c sha512.c dtoastr.c \
294 dtotimespec.c filemode.c gettext.h gettime.c acl-errno-valid.c \ 297 dtotimespec.c filemode.c gettext.h gettime.c pipe2.c \
295 file-has-acl.c qcopy-acl.c qset-acl.c stat-time.c strftime.c \ 298 acl-errno-valid.c file-has-acl.c qcopy-acl.c qset-acl.c \
296 timespec.c timespec-add.c timespec-sub.c u64.c unistd.c \ 299 stat-time.c strftime.c timespec.c timespec-add.c \
297 utimens.c openat-die.c save-cwd.c 300 timespec-sub.c u64.c unistd.c utimens.c openat-die.c \
301 save-cwd.c
298am__objects_1 = 302am__objects_1 =
299@BUILDING_FOR_WINDOWSNT_FALSE@am_libgnu_a_OBJECTS = \ 303@BUILDING_FOR_WINDOWSNT_FALSE@am_libgnu_a_OBJECTS = \
300@BUILDING_FOR_WINDOWSNT_FALSE@ allocator.$(OBJEXT) \ 304@BUILDING_FOR_WINDOWSNT_FALSE@ allocator.$(OBJEXT) \
@@ -311,6 +315,7 @@ am__objects_1 =
311@BUILDING_FOR_WINDOWSNT_FALSE@ filemode.$(OBJEXT) \ 315@BUILDING_FOR_WINDOWSNT_FALSE@ filemode.$(OBJEXT) \
312@BUILDING_FOR_WINDOWSNT_FALSE@ $(am__objects_1) \ 316@BUILDING_FOR_WINDOWSNT_FALSE@ $(am__objects_1) \
313@BUILDING_FOR_WINDOWSNT_FALSE@ gettime.$(OBJEXT) \ 317@BUILDING_FOR_WINDOWSNT_FALSE@ gettime.$(OBJEXT) \
318@BUILDING_FOR_WINDOWSNT_FALSE@ pipe2.$(OBJEXT) \
314@BUILDING_FOR_WINDOWSNT_FALSE@ acl-errno-valid.$(OBJEXT) \ 319@BUILDING_FOR_WINDOWSNT_FALSE@ acl-errno-valid.$(OBJEXT) \
315@BUILDING_FOR_WINDOWSNT_FALSE@ file-has-acl.$(OBJEXT) \ 320@BUILDING_FOR_WINDOWSNT_FALSE@ file-has-acl.$(OBJEXT) \
316@BUILDING_FOR_WINDOWSNT_FALSE@ qcopy-acl.$(OBJEXT) \ 321@BUILDING_FOR_WINDOWSNT_FALSE@ qcopy-acl.$(OBJEXT) \
@@ -346,13 +351,13 @@ am__objects_1 =
346@BUILDING_FOR_WINDOWSNT_TRUE@ u64.$(OBJEXT) utimens.$(OBJEXT) \ 351@BUILDING_FOR_WINDOWSNT_TRUE@ u64.$(OBJEXT) utimens.$(OBJEXT) \
347@BUILDING_FOR_WINDOWSNT_TRUE@ $(am__objects_1) 352@BUILDING_FOR_WINDOWSNT_TRUE@ $(am__objects_1)
348am__EXTRA_libgnu_a_SOURCES_DIST = openat-proc.c ftoastr.c dup2.c \ 353am__EXTRA_libgnu_a_SOURCES_DIST = openat-proc.c ftoastr.c dup2.c \
349 euidaccess.c execinfo.c at-func.c faccessat.c fdatasync.c \ 354 euidaccess.c execinfo.c at-func.c faccessat.c fcntl.c \
350 fdopendir.c fpending.c fstatat.c fsync.c getgroups.c \ 355 fdatasync.c fdopendir.c fpending.c fstatat.c fsync.c \
351 getloadavg.c getopt.c getopt1.c gettimeofday.c group-member.c \ 356 getdtablesize.c getgroups.c getloadavg.c getopt.c getopt1.c \
352 lstat.c memrchr.c mktime.c pselect.c pthread_sigmask.c \ 357 gettimeofday.c group-member.c lstat.c memrchr.c mktime.c \
353 putenv.c acl_entries.c readlink.c readlinkat.c sig2str.c \ 358 pselect.c pthread_sigmask.c putenv.c acl_entries.c readlink.c \
354 stat.c strtoimax.c strtol.c strtoll.c strtoul.c strtoull.c \ 359 readlinkat.c sig2str.c stat.c strtoimax.c strtol.c strtoll.c \
355 strtoumax.c symlink.c time_r.c unsetenv.c 360 strtoul.c strtoull.c strtoumax.c symlink.c time_r.c unsetenv.c
356libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS) 361libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS)
357depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp 362depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
358am__depfiles_maybe = depfiles 363am__depfiles_maybe = depfiles
@@ -1237,13 +1242,14 @@ DEFAULT_INCLUDES = -I. -I$(top_srcdir)/lib -I../src -I$(top_srcdir)/src
1237@BUILDING_FOR_WINDOWSNT_FALSE@ md5.c sha1.c sha256.c sha512.c \ 1242@BUILDING_FOR_WINDOWSNT_FALSE@ md5.c sha1.c sha256.c sha512.c \
1238@BUILDING_FOR_WINDOWSNT_FALSE@ dtoastr.c dtotimespec.c \ 1243@BUILDING_FOR_WINDOWSNT_FALSE@ dtoastr.c dtotimespec.c \
1239@BUILDING_FOR_WINDOWSNT_FALSE@ filemode.c $(am__append_10) \ 1244@BUILDING_FOR_WINDOWSNT_FALSE@ filemode.c $(am__append_10) \
1240@BUILDING_FOR_WINDOWSNT_FALSE@ gettime.c acl-errno-valid.c \ 1245@BUILDING_FOR_WINDOWSNT_FALSE@ gettime.c pipe2.c \
1241@BUILDING_FOR_WINDOWSNT_FALSE@ file-has-acl.c qcopy-acl.c \ 1246@BUILDING_FOR_WINDOWSNT_FALSE@ acl-errno-valid.c file-has-acl.c \
1242@BUILDING_FOR_WINDOWSNT_FALSE@ qset-acl.c stat-time.c \ 1247@BUILDING_FOR_WINDOWSNT_FALSE@ qcopy-acl.c qset-acl.c \
1243@BUILDING_FOR_WINDOWSNT_FALSE@ strftime.c timespec.c \ 1248@BUILDING_FOR_WINDOWSNT_FALSE@ stat-time.c strftime.c \
1244@BUILDING_FOR_WINDOWSNT_FALSE@ timespec-add.c timespec-sub.c \ 1249@BUILDING_FOR_WINDOWSNT_FALSE@ timespec.c timespec-add.c \
1245@BUILDING_FOR_WINDOWSNT_FALSE@ u64.c unistd.c utimens.c \ 1250@BUILDING_FOR_WINDOWSNT_FALSE@ timespec-sub.c u64.c unistd.c \
1246@BUILDING_FOR_WINDOWSNT_FALSE@ openat-die.c save-cwd.c 1251@BUILDING_FOR_WINDOWSNT_FALSE@ utimens.c openat-die.c \
1252@BUILDING_FOR_WINDOWSNT_FALSE@ save-cwd.c
1247@BUILDING_FOR_WINDOWSNT_TRUE@libgnu_a_SOURCES = c-ctype.h c-ctype.c \ 1253@BUILDING_FOR_WINDOWSNT_TRUE@libgnu_a_SOURCES = c-ctype.h c-ctype.c \
1248@BUILDING_FOR_WINDOWSNT_TRUE@ c-strcase.h c-strcasecmp.c \ 1254@BUILDING_FOR_WINDOWSNT_TRUE@ c-strcase.h c-strcasecmp.c \
1249@BUILDING_FOR_WINDOWSNT_TRUE@ c-strncasecmp.c close-stream.c \ 1255@BUILDING_FOR_WINDOWSNT_TRUE@ c-strncasecmp.c close-stream.c \
@@ -1262,9 +1268,10 @@ DEFAULT_INCLUDES = -I. -I$(top_srcdir)/lib -I../src -I$(top_srcdir)/src
1262@BUILDING_FOR_WINDOWSNT_FALSE@EXTRA_libgnu_a_SOURCES = openat-proc.c \ 1268@BUILDING_FOR_WINDOWSNT_FALSE@EXTRA_libgnu_a_SOURCES = openat-proc.c \
1263@BUILDING_FOR_WINDOWSNT_FALSE@ ftoastr.c dup2.c euidaccess.c \ 1269@BUILDING_FOR_WINDOWSNT_FALSE@ ftoastr.c dup2.c euidaccess.c \
1264@BUILDING_FOR_WINDOWSNT_FALSE@ execinfo.c at-func.c faccessat.c \ 1270@BUILDING_FOR_WINDOWSNT_FALSE@ execinfo.c at-func.c faccessat.c \
1265@BUILDING_FOR_WINDOWSNT_FALSE@ fdatasync.c fdopendir.c \ 1271@BUILDING_FOR_WINDOWSNT_FALSE@ fcntl.c fdatasync.c fdopendir.c \
1266@BUILDING_FOR_WINDOWSNT_FALSE@ fpending.c at-func.c fstatat.c \ 1272@BUILDING_FOR_WINDOWSNT_FALSE@ fpending.c at-func.c fstatat.c \
1267@BUILDING_FOR_WINDOWSNT_FALSE@ fsync.c getgroups.c getloadavg.c \ 1273@BUILDING_FOR_WINDOWSNT_FALSE@ fsync.c getdtablesize.c \
1274@BUILDING_FOR_WINDOWSNT_FALSE@ getgroups.c getloadavg.c \
1268@BUILDING_FOR_WINDOWSNT_FALSE@ getopt.c getopt1.c \ 1275@BUILDING_FOR_WINDOWSNT_FALSE@ getopt.c getopt1.c \
1269@BUILDING_FOR_WINDOWSNT_FALSE@ gettimeofday.c group-member.c \ 1276@BUILDING_FOR_WINDOWSNT_FALSE@ gettimeofday.c group-member.c \
1270@BUILDING_FOR_WINDOWSNT_FALSE@ lstat.c memrchr.c mktime.c \ 1277@BUILDING_FOR_WINDOWSNT_FALSE@ lstat.c memrchr.c mktime.c \
@@ -1372,6 +1379,7 @@ distclean-compile:
1372@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/euidaccess.Po@am__quote@ 1379@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/euidaccess.Po@am__quote@
1373@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execinfo.Po@am__quote@ 1380@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execinfo.Po@am__quote@
1374@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ 1381@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@
1382@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@
1375@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ 1383@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@
1376@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopendir.Po@am__quote@ 1384@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopendir.Po@am__quote@
1377@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-has-acl.Po@am__quote@ 1385@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-has-acl.Po@am__quote@
@@ -1380,6 +1388,7 @@ distclean-compile:
1380@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat.Po@am__quote@ 1388@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat.Po@am__quote@
1381@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync.Po@am__quote@ 1389@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync.Po@am__quote@
1382@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftoastr.Po@am__quote@ 1390@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftoastr.Po@am__quote@
1391@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdtablesize.Po@am__quote@
1383@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@ 1392@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@
1384@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getloadavg.Po@am__quote@ 1393@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getloadavg.Po@am__quote@
1385@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@ 1394@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
@@ -1393,6 +1402,7 @@ distclean-compile:
1393@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@ 1402@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@
1394@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-die.Po@am__quote@ 1403@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-die.Po@am__quote@
1395@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-proc.Po@am__quote@ 1404@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-proc.Po@am__quote@
1405@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@
1396@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect.Po@am__quote@ 1406@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect.Po@am__quote@
1397@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pthread_sigmask.Po@am__quote@ 1407@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pthread_sigmask.Po@am__quote@
1398@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@ 1408@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@
diff --git a/autogen/aclocal.m4 b/autogen/aclocal.m4
index eb324b06b37..c9e796a081f 100644
--- a/autogen/aclocal.m4
+++ b/autogen/aclocal.m4
@@ -999,6 +999,7 @@ m4_include([m4/execinfo.m4])
999m4_include([m4/extensions.m4]) 999m4_include([m4/extensions.m4])
1000m4_include([m4/extern-inline.m4]) 1000m4_include([m4/extern-inline.m4])
1001m4_include([m4/faccessat.m4]) 1001m4_include([m4/faccessat.m4])
1002m4_include([m4/fcntl.m4])
1002m4_include([m4/fcntl_h.m4]) 1003m4_include([m4/fcntl_h.m4])
1003m4_include([m4/fdatasync.m4]) 1004m4_include([m4/fdatasync.m4])
1004m4_include([m4/fdopendir.m4]) 1005m4_include([m4/fdopendir.m4])
@@ -1006,6 +1007,7 @@ m4_include([m4/filemode.m4])
1006m4_include([m4/fpending.m4]) 1007m4_include([m4/fpending.m4])
1007m4_include([m4/fstatat.m4]) 1008m4_include([m4/fstatat.m4])
1008m4_include([m4/fsync.m4]) 1009m4_include([m4/fsync.m4])
1010m4_include([m4/getdtablesize.m4])
1009m4_include([m4/getgroups.m4]) 1011m4_include([m4/getgroups.m4])
1010m4_include([m4/getloadavg.m4]) 1012m4_include([m4/getloadavg.m4])
1011m4_include([m4/getopt.m4]) 1013m4_include([m4/getopt.m4])
@@ -1027,6 +1029,7 @@ m4_include([m4/multiarch.m4])
1027m4_include([m4/nocrash.m4]) 1029m4_include([m4/nocrash.m4])
1028m4_include([m4/off_t.m4]) 1030m4_include([m4/off_t.m4])
1029m4_include([m4/pathmax.m4]) 1031m4_include([m4/pathmax.m4])
1032m4_include([m4/pipe2.m4])
1030m4_include([m4/pselect.m4]) 1033m4_include([m4/pselect.m4])
1031m4_include([m4/pthread_sigmask.m4]) 1034m4_include([m4/pthread_sigmask.m4])
1032m4_include([m4/putenv.m4]) 1035m4_include([m4/putenv.m4])
diff --git a/autogen/config.in b/autogen/config.in
index 89ad415f3b0..3fe82ce0f92 100644
--- a/autogen/config.in
+++ b/autogen/config.in
@@ -120,6 +120,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
120 enabled. */ 120 enabled. */
121#undef ENABLE_CHECKING 121#undef ENABLE_CHECKING
122 122
123/* Define this to 1 if F_DUPFD behavior does not match POSIX */
124#undef FCNTL_DUPFD_BUGGY
125
123/* Letter to use in finding device name of first PTY, if PTYs are supported. 126/* Letter to use in finding device name of first PTY, if PTYs are supported.
124 */ 127 */
125#undef FIRST_PTY_LETTER 128#undef FIRST_PTY_LETTER
@@ -206,6 +209,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
206 startup, if using GTK. */ 209 startup, if using GTK. */
207#undef G_SLICE_ALWAYS_MALLOC 210#undef G_SLICE_ALWAYS_MALLOC
208 211
212/* Define to 1 if you have the `accept4' function. */
213#undef HAVE_ACCEPT4
214
209/* Define to 1 if you have the `access' function. */ 215/* Define to 1 if you have the `access' function. */
210#undef HAVE_ACCESS 216#undef HAVE_ACCESS
211 217
@@ -439,6 +445,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
439/* Define to 1 if you have the `facl' function. */ 445/* Define to 1 if you have the `facl' function. */
440#undef HAVE_FACL 446#undef HAVE_FACL
441 447
448/* Define to 1 if you have the `fcntl' function. */
449#undef HAVE_FCNTL
450
442/* Define to 1 if you have the `fdatasync' function. */ 451/* Define to 1 if you have the `fdatasync' function. */
443#undef HAVE_FDATASYNC 452#undef HAVE_FDATASYNC
444 453
@@ -487,6 +496,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
487/* Define to 1 if you have the `getdelim' function. */ 496/* Define to 1 if you have the `getdelim' function. */
488#undef HAVE_GETDELIM 497#undef HAVE_GETDELIM
489 498
499/* Define to 1 if you have the `getdtablesize' function. */
500#undef HAVE_GETDTABLESIZE
501
490/* Define to 1 if you have the `getgrent' function. */ 502/* Define to 1 if you have the `getgrent' function. */
491#undef HAVE_GETGRENT 503#undef HAVE_GETGRENT
492 504
@@ -738,6 +750,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
738 systems that support xmenu.c. */ 750 systems that support xmenu.c. */
739#undef HAVE_MENUS 751#undef HAVE_MENUS
740 752
753/* Define to 1 if you have the `mkostemp' function. */
754#undef HAVE_MKOSTEMP
755
741/* Define to 1 if you have the `mkstemp' function. */ 756/* Define to 1 if you have the `mkstemp' function. */
742#undef HAVE_MKSTEMP 757#undef HAVE_MKSTEMP
743 758
@@ -769,6 +784,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
769/* Define to 1 if personality LINUX32 can be set. */ 784/* Define to 1 if personality LINUX32 can be set. */
770#undef HAVE_PERSONALITY_LINUX32 785#undef HAVE_PERSONALITY_LINUX32
771 786
787/* Define to 1 if you have the `pipe2' function. */
788#undef HAVE_PIPE2
789
772/* Define to 1 if you have the png library (-lpng). */ 790/* Define to 1 if you have the png library (-lpng). */
773#undef HAVE_PNG 791#undef HAVE_PNG
774 792
diff --git a/autogen/configure b/autogen/configure
index 463c5905a12..2f739343d46 100755
--- a/autogen/configure
+++ b/autogen/configure
@@ -614,8 +614,6 @@ LIBGNU_LIBDEPS
614gltests_WITNESS 614gltests_WITNESS
615gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE 615gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE
616gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE 616gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE
617gl_GNULIB_ENABLED_verify_FALSE
618gl_GNULIB_ENABLED_verify_TRUE
619gl_GNULIB_ENABLED_strtoull_FALSE 617gl_GNULIB_ENABLED_strtoull_FALSE
620gl_GNULIB_ENABLED_strtoull_TRUE 618gl_GNULIB_ENABLED_strtoull_TRUE
621gl_GNULIB_ENABLED_strtoll_FALSE 619gl_GNULIB_ENABLED_strtoll_FALSE
@@ -634,6 +632,8 @@ gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_FALSE
634gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_TRUE 632gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_TRUE
635gl_GNULIB_ENABLED_getgroups_FALSE 633gl_GNULIB_ENABLED_getgroups_FALSE
636gl_GNULIB_ENABLED_getgroups_TRUE 634gl_GNULIB_ENABLED_getgroups_TRUE
635gl_GNULIB_ENABLED_getdtablesize_FALSE
636gl_GNULIB_ENABLED_getdtablesize_TRUE
637gl_GNULIB_ENABLED_euidaccess_FALSE 637gl_GNULIB_ENABLED_euidaccess_FALSE
638gl_GNULIB_ENABLED_euidaccess_TRUE 638gl_GNULIB_ENABLED_euidaccess_TRUE
639gl_GNULIB_ENABLED_dosname_FALSE 639gl_GNULIB_ENABLED_dosname_FALSE
@@ -3373,6 +3373,7 @@ as_fn_append ac_func_list " readlinkat"
3373as_fn_append ac_header_list " dirent.h" 3373as_fn_append ac_header_list " dirent.h"
3374as_fn_append ac_header_list " execinfo.h" 3374as_fn_append ac_header_list " execinfo.h"
3375as_fn_append ac_func_list " faccessat" 3375as_fn_append ac_func_list " faccessat"
3376as_fn_append ac_func_list " fcntl"
3376as_fn_append ac_func_list " fdopendir" 3377as_fn_append ac_func_list " fdopendir"
3377as_fn_append ac_header_list " stdio_ext.h" 3378as_fn_append ac_header_list " stdio_ext.h"
3378as_fn_append ac_func_list " __fpending" 3379as_fn_append ac_func_list " __fpending"
@@ -3387,6 +3388,7 @@ as_fn_append ac_header_list " wchar.h"
3387as_fn_append ac_header_list " stdint.h" 3388as_fn_append ac_header_list " stdint.h"
3388as_fn_append ac_header_list " inttypes.h" 3389as_fn_append ac_header_list " inttypes.h"
3389as_fn_append ac_func_list " lstat" 3390as_fn_append ac_func_list " lstat"
3391as_fn_append ac_func_list " pipe2"
3390as_fn_append ac_header_list " sys/select.h" 3392as_fn_append ac_header_list " sys/select.h"
3391as_fn_append ac_func_list " pselect" 3393as_fn_append ac_func_list " pselect"
3392as_fn_append ac_func_list " pthread_sigmask" 3394as_fn_append ac_func_list " pthread_sigmask"
@@ -3402,6 +3404,7 @@ as_fn_append ac_func_list " futimesat"
3402as_fn_append ac_func_list " futimens" 3404as_fn_append ac_func_list " futimens"
3403as_fn_append ac_func_list " utimensat" 3405as_fn_append ac_func_list " utimensat"
3404as_fn_append ac_func_list " lutimes" 3406as_fn_append ac_func_list " lutimes"
3407as_fn_append ac_func_list " getdtablesize"
3405# Check that the precious variables saved in the cache have kept the same 3408# Check that the precious variables saved in the cache have kept the same
3406# value. 3409# value.
3407ac_cache_corrupted=false 3410ac_cache_corrupted=false
@@ -7247,6 +7250,7 @@ esac
7247 7250
7248 # Code from module extern-inline: 7251 # Code from module extern-inline:
7249 # Code from module faccessat: 7252 # Code from module faccessat:
7253 # Code from module fcntl:
7250 # Code from module fcntl-h: 7254 # Code from module fcntl-h:
7251 # Code from module fdatasync: 7255 # Code from module fdatasync:
7252 # Code from module fdopendir: 7256 # Code from module fdopendir:
@@ -7254,6 +7258,7 @@ esac
7254 # Code from module fpending: 7258 # Code from module fpending:
7255 # Code from module fstatat: 7259 # Code from module fstatat:
7256 # Code from module fsync: 7260 # Code from module fsync:
7261 # Code from module getdtablesize:
7257 # Code from module getgroups: 7262 # Code from module getgroups:
7258 # Code from module getloadavg: 7263 # Code from module getloadavg:
7259 # Code from module getopt-gnu: 7264 # Code from module getopt-gnu:
@@ -7276,6 +7281,7 @@ esac
7276 # Code from module nocrash: 7281 # Code from module nocrash:
7277 # Code from module openat-h: 7282 # Code from module openat-h:
7278 # Code from module pathmax: 7283 # Code from module pathmax:
7284 # Code from module pipe2:
7279 # Code from module pselect: 7285 # Code from module pselect:
7280 # Code from module pthread_sigmask: 7286 # Code from module pthread_sigmask:
7281 # Code from module putenv: 7287 # Code from module putenv:
@@ -14655,14 +14661,14 @@ esac
14655 14661
14656 14662
14657 14663
14658for ac_func in gethostname \ 14664for ac_func in accept4 gethostname \
14659getrusage get_current_dir_name \ 14665getrusage get_current_dir_name \
14660lrand48 \ 14666lrand48 \
14661select getpagesize setlocale \ 14667select getpagesize setlocale \
14662getrlimit setrlimit shutdown getaddrinfo \ 14668getrlimit setrlimit shutdown getaddrinfo \
14663strsignal setitimer \ 14669strsignal setitimer \
14664sendto recvfrom getsockname getpeername getifaddrs freeifaddrs \ 14670sendto recvfrom getsockname getpeername getifaddrs freeifaddrs \
14665gai_strerror mkstemp getline getdelim sync \ 14671gai_strerror mkostemp mkstemp getline getdelim sync \
14666difftime posix_memalign \ 14672difftime posix_memalign \
14667getpwent endpwent getgrent endgrent \ 14673getpwent endpwent getgrent endgrent \
14668touchlock \ 14674touchlock \
@@ -16433,7 +16439,7 @@ $as_echo "#define UNIX98_PTYS 1" >>confdefs.h
16433 $as_echo "#define PTY_TTY_NAME_SPRINTF { char *ptyname = 0; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCHLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); if (grantpt (fd) != -1 && unlockpt (fd) != -1) ptyname = ptsname(fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (!ptyname) { close (fd); return -1; } snprintf (pty_name, sizeof pty_name, \"%s\", ptyname); }" >>confdefs.h 16439 $as_echo "#define PTY_TTY_NAME_SPRINTF { char *ptyname = 0; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCHLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); if (grantpt (fd) != -1 && unlockpt (fd) != -1) ptyname = ptsname(fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (!ptyname) { close (fd); return -1; } snprintf (pty_name, sizeof pty_name, \"%s\", ptyname); }" >>confdefs.h
16434 16440
16435 if test "x$ac_cv_func_posix_openpt" = xyes; then 16441 if test "x$ac_cv_func_posix_openpt" = xyes; then
16436 $as_echo "#define PTY_OPEN fd = posix_openpt (O_RDWR | O_NOCTTY)" >>confdefs.h 16442 $as_echo "#define PTY_OPEN fd = posix_openpt (O_RDWR | O_CLOEXEC | O_NOCTTY)" >>confdefs.h
16437 16443
16438 $as_echo "#define PTY_NAME_SPRINTF /**/" >>confdefs.h 16444 $as_echo "#define PTY_NAME_SPRINTF /**/" >>confdefs.h
16439 16445
@@ -18402,6 +18408,8 @@ $as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; }
18402 REPLACE_OPENAT=0; 18408 REPLACE_OPENAT=0;
18403 18409
18404 18410
18411
18412
18405ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" 18413ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
18406if test "x$ac_cv_type_mode_t" = x""yes; then : 18414if test "x$ac_cv_type_mode_t" = x""yes; then :
18407 18415
@@ -20692,6 +20700,8 @@ cat >>confdefs.h <<_ACEOF
20692_ACEOF 20700_ACEOF
20693 20701
20694 20702
20703
20704
20695 GNULIB_PSELECT=0; 20705 GNULIB_PSELECT=0;
20696 GNULIB_SELECT=0; 20706 GNULIB_SELECT=0;
20697 HAVE_PSELECT=1; 20707 HAVE_PSELECT=1;
@@ -21891,6 +21901,8 @@ _ACEOF
21891 21901
21892 21902
21893 21903
21904
21905
21894 if false; then 21906 if false; then
21895 GL_COND_LIBTOOL_TRUE= 21907 GL_COND_LIBTOOL_TRUE=
21896 GL_COND_LIBTOOL_FALSE='#' 21908 GL_COND_LIBTOOL_FALSE='#'
@@ -22441,6 +22453,169 @@ _ACEOF
22441 22453
22442 22454
22443 22455
22456 if test $ac_cv_func_fcntl = no; then
22457
22458
22459
22460 if test $ac_cv_func_fcntl = no; then
22461 HAVE_FCNTL=0
22462 else
22463 REPLACE_FCNTL=1
22464 fi
22465
22466 else
22467 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl handles F_DUPFD correctly" >&5
22468$as_echo_n "checking whether fcntl handles F_DUPFD correctly... " >&6; }
22469if test "${gl_cv_func_fcntl_f_dupfd_works+set}" = set; then :
22470 $as_echo_n "(cached) " >&6
22471else
22472 if test "$cross_compiling" = yes; then :
22473 # Guess that it works on glibc systems
22474 case $host_os in #((
22475 *-gnu*) gl_cv_func_fcntl_f_dupfd_works="guessing yes";;
22476 *) gl_cv_func_fcntl_f_dupfd_works="guessing no";;
22477 esac
22478else
22479 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
22480/* end confdefs.h. */
22481
22482#include <fcntl.h>
22483#include <errno.h>
22484
22485int
22486main ()
22487{
22488int result = 0;
22489 if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
22490 if (errno != EINVAL) result |= 2;
22491 return result;
22492
22493 ;
22494 return 0;
22495}
22496_ACEOF
22497if ac_fn_c_try_run "$LINENO"; then :
22498 gl_cv_func_fcntl_f_dupfd_works=yes
22499else
22500 gl_cv_func_fcntl_f_dupfd_works=no
22501fi
22502rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
22503 conftest.$ac_objext conftest.beam conftest.$ac_ext
22504fi
22505
22506fi
22507{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_works" >&5
22508$as_echo "$gl_cv_func_fcntl_f_dupfd_works" >&6; }
22509 case $gl_cv_func_fcntl_f_dupfd_works in
22510 *yes) ;;
22511 *)
22512
22513
22514 if test $ac_cv_func_fcntl = no; then
22515 HAVE_FCNTL=0
22516 else
22517 REPLACE_FCNTL=1
22518 fi
22519
22520
22521$as_echo "#define FCNTL_DUPFD_BUGGY 1" >>confdefs.h
22522 ;;
22523 esac
22524
22525 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fcntl understands F_DUPFD_CLOEXEC" >&5
22526$as_echo_n "checking whether fcntl understands F_DUPFD_CLOEXEC... " >&6; }
22527if test "${gl_cv_func_fcntl_f_dupfd_cloexec+set}" = set; then :
22528 $as_echo_n "(cached) " >&6
22529else
22530 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
22531/* end confdefs.h. */
22532
22533#include <fcntl.h>
22534#ifndef F_DUPFD_CLOEXEC
22535choke me
22536#endif
22537
22538int
22539main ()
22540{
22541
22542 ;
22543 return 0;
22544}
22545_ACEOF
22546if ac_fn_c_try_compile "$LINENO"; then :
22547 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
22548/* end confdefs.h. */
22549
22550#ifdef __linux__
22551/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace
22552 it to support the semantics on older kernels that failed with EINVAL. */
22553choke me
22554#endif
22555
22556int
22557main ()
22558{
22559
22560 ;
22561 return 0;
22562}
22563_ACEOF
22564if ac_fn_c_try_compile "$LINENO"; then :
22565 gl_cv_func_fcntl_f_dupfd_cloexec=yes
22566else
22567 gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"
22568fi
22569rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
22570else
22571 gl_cv_func_fcntl_f_dupfd_cloexec=no
22572fi
22573rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
22574fi
22575{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fcntl_f_dupfd_cloexec" >&5
22576$as_echo "$gl_cv_func_fcntl_f_dupfd_cloexec" >&6; }
22577 if test "$gl_cv_func_fcntl_f_dupfd_cloexec" != yes; then
22578
22579
22580
22581 if test $ac_cv_func_fcntl = no; then
22582 HAVE_FCNTL=0
22583 else
22584 REPLACE_FCNTL=1
22585 fi
22586
22587 fi
22588 fi
22589
22590
22591 if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
22592
22593
22594
22595
22596
22597
22598
22599
22600 gl_LIBOBJS="$gl_LIBOBJS fcntl.$ac_objext"
22601
22602 fi
22603
22604
22605
22606
22607
22608 GNULIB_FCNTL=1
22609
22610
22611
22612
22613
22614
22615
22616
22617
22618
22444 22619
22445 22620
22446 22621
@@ -24150,6 +24325,27 @@ $as_echo "$gl_cv_func_working_mktime" >&6; }
24150 24325
24151 24326
24152 24327
24328
24329 if test $ac_cv_func_pipe2 != yes; then
24330 HAVE_PIPE2=0
24331 fi
24332
24333
24334
24335
24336
24337
24338 GNULIB_PIPE2=1
24339
24340
24341
24342
24343
24344
24345
24346
24347
24348
24153 if test $ac_cv_func_pselect = yes; then 24349 if test $ac_cv_func_pselect = yes; then
24154 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether signature of pselect conforms to POSIX" >&5 24350 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether signature of pselect conforms to POSIX" >&5
24155$as_echo_n "checking whether signature of pselect conforms to POSIX... " >&6; } 24351$as_echo_n "checking whether signature of pselect conforms to POSIX... " >&6; }
@@ -25637,7 +25833,8 @@ else
25637 25833
25638 /* Test _Alignas only on platforms where gnulib can help. */ 25834 /* Test _Alignas only on platforms where gnulib can help. */
25639 #if \ 25835 #if \
25640 (__GNUC__ || __IBMC__ || __IBMCPP__ \ 25836 ((defined __cplusplus && 201103 <= __cplusplus) \
25837 || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \
25641 || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) 25838 || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER)
25642 struct alignas_test { char c; char alignas (8) alignas_8; }; 25839 struct alignas_test { char c; char alignas (8) alignas_8; };
25643 char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 25840 char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
@@ -27260,6 +27457,7 @@ $as_echo "#define FUTIMESAT_NULL_BUG 1" >>confdefs.h
27260 gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=false 27457 gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=false
27261 gl_gnulib_enabled_dosname=false 27458 gl_gnulib_enabled_dosname=false
27262 gl_gnulib_enabled_euidaccess=false 27459 gl_gnulib_enabled_euidaccess=false
27460 gl_gnulib_enabled_getdtablesize=false
27263 gl_gnulib_enabled_getgroups=false 27461 gl_gnulib_enabled_getgroups=false
27264 gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=false 27462 gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=false
27265 gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1=false 27463 gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1=false
@@ -27269,7 +27467,6 @@ $as_echo "#define FUTIMESAT_NULL_BUG 1" >>confdefs.h
27269 gl_gnulib_enabled_stat=false 27467 gl_gnulib_enabled_stat=false
27270 gl_gnulib_enabled_strtoll=false 27468 gl_gnulib_enabled_strtoll=false
27271 gl_gnulib_enabled_strtoull=false 27469 gl_gnulib_enabled_strtoull=false
27272 gl_gnulib_enabled_verify=false
27273 gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false 27470 gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false
27274 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b () 27471 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b ()
27275 { 27472 {
@@ -27549,6 +27746,43 @@ done
27549 fi 27746 fi
27550 fi 27747 fi
27551 } 27748 }
27749 func_gl_gnulib_m4code_getdtablesize ()
27750 {
27751 if ! $gl_gnulib_enabled_getdtablesize; then
27752
27753
27754
27755 if test $ac_cv_func_getdtablesize != yes; then
27756 HAVE_GETDTABLESIZE=0
27757 fi
27758
27759 if test $HAVE_GETDTABLESIZE = 0; then
27760
27761
27762
27763
27764
27765
27766
27767
27768 gl_LIBOBJS="$gl_LIBOBJS getdtablesize.$ac_objext"
27769
27770 :
27771 fi
27772
27773
27774
27775
27776
27777 GNULIB_GETDTABLESIZE=1
27778
27779
27780
27781
27782
27783 gl_gnulib_enabled_getdtablesize=true
27784 fi
27785 }
27552 func_gl_gnulib_m4code_getgroups () 27786 func_gl_gnulib_m4code_getgroups ()
27553 { 27787 {
27554 if ! $gl_gnulib_enabled_getgroups; then 27788 if ! $gl_gnulib_enabled_getgroups; then
@@ -27971,9 +28205,6 @@ $as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
27971 if test $REPLACE_STAT = 1; then 28205 if test $REPLACE_STAT = 1; then
27972 func_gl_gnulib_m4code_pathmax 28206 func_gl_gnulib_m4code_pathmax
27973 fi 28207 fi
27974 if test $REPLACE_STAT = 1; then
27975 func_gl_gnulib_m4code_verify
27976 fi
27977 fi 28208 fi
27978 } 28209 }
27979 func_gl_gnulib_m4code_strtoll () 28210 func_gl_gnulib_m4code_strtoll ()
@@ -28080,12 +28311,6 @@ done
28080 gl_gnulib_enabled_strtoull=true 28311 gl_gnulib_enabled_strtoull=true
28081 fi 28312 fi
28082 } 28313 }
28083 func_gl_gnulib_m4code_verify ()
28084 {
28085 if ! $gl_gnulib_enabled_verify; then
28086 gl_gnulib_enabled_verify=true
28087 fi
28088 }
28089 func_gl_gnulib_m4code_682e609604ccaac6be382e4ee3a4eaec () 28314 func_gl_gnulib_m4code_682e609604ccaac6be382e4ee3a4eaec ()
28090 { 28315 {
28091 if ! $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then 28316 if ! $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then
@@ -28104,6 +28329,9 @@ done
28104 if test $HAVE_FACCESSAT = 0; then 28329 if test $HAVE_FACCESSAT = 0; then
28105 func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 28330 func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7
28106 fi 28331 fi
28332 if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
28333 func_gl_gnulib_m4code_getdtablesize
28334 fi
28107 if test $HAVE_FDOPENDIR = 0; then 28335 if test $HAVE_FDOPENDIR = 0; then
28108 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b 28336 func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b
28109 fi 28337 fi
@@ -28140,15 +28368,9 @@ done
28140 if { test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; } && test $ac_cv_type_long_long_int = yes; then 28368 if { test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; } && test $ac_cv_type_long_long_int = yes; then
28141 func_gl_gnulib_m4code_strtoll 28369 func_gl_gnulib_m4code_strtoll
28142 fi 28370 fi
28143 if test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then
28144 func_gl_gnulib_m4code_verify
28145 fi
28146 if test $ac_cv_func_strtoumax = no && test $ac_cv_type_unsigned_long_long_int = yes; then 28371 if test $ac_cv_func_strtoumax = no && test $ac_cv_type_unsigned_long_long_int = yes; then
28147 func_gl_gnulib_m4code_strtoull 28372 func_gl_gnulib_m4code_strtoull
28148 fi 28373 fi
28149 if test $ac_cv_func_strtoumax = no; then
28150 func_gl_gnulib_m4code_verify
28151 fi
28152 28374
28153 if $gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b; then 28375 if $gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b; then
28154 gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_TRUE= 28376 gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_TRUE=
@@ -28174,6 +28396,14 @@ else
28174 gl_GNULIB_ENABLED_euidaccess_FALSE= 28396 gl_GNULIB_ENABLED_euidaccess_FALSE=
28175fi 28397fi
28176 28398
28399 if $gl_gnulib_enabled_getdtablesize; then
28400 gl_GNULIB_ENABLED_getdtablesize_TRUE=
28401 gl_GNULIB_ENABLED_getdtablesize_FALSE='#'
28402else
28403 gl_GNULIB_ENABLED_getdtablesize_TRUE='#'
28404 gl_GNULIB_ENABLED_getdtablesize_FALSE=
28405fi
28406
28177 if $gl_gnulib_enabled_getgroups; then 28407 if $gl_gnulib_enabled_getgroups; then
28178 gl_GNULIB_ENABLED_getgroups_TRUE= 28408 gl_GNULIB_ENABLED_getgroups_TRUE=
28179 gl_GNULIB_ENABLED_getgroups_FALSE='#' 28409 gl_GNULIB_ENABLED_getgroups_FALSE='#'
@@ -28246,14 +28476,6 @@ else
28246 gl_GNULIB_ENABLED_strtoull_FALSE= 28476 gl_GNULIB_ENABLED_strtoull_FALSE=
28247fi 28477fi
28248 28478
28249 if $gl_gnulib_enabled_verify; then
28250 gl_GNULIB_ENABLED_verify_TRUE=
28251 gl_GNULIB_ENABLED_verify_FALSE='#'
28252else
28253 gl_GNULIB_ENABLED_verify_TRUE='#'
28254 gl_GNULIB_ENABLED_verify_FALSE=
28255fi
28256
28257 if $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then 28479 if $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then
28258 gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE= 28480 gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE=
28259 gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE='#' 28481 gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE='#'
@@ -28715,6 +28937,10 @@ if test -z "${gl_GNULIB_ENABLED_euidaccess_TRUE}" && test -z "${gl_GNULIB_ENABLE
28715 as_fn_error "conditional \"gl_GNULIB_ENABLED_euidaccess\" was never defined. 28937 as_fn_error "conditional \"gl_GNULIB_ENABLED_euidaccess\" was never defined.
28716Usually this means the macro was only invoked conditionally." "$LINENO" 5 28938Usually this means the macro was only invoked conditionally." "$LINENO" 5
28717fi 28939fi
28940if test -z "${gl_GNULIB_ENABLED_getdtablesize_TRUE}" && test -z "${gl_GNULIB_ENABLED_getdtablesize_FALSE}"; then
28941 as_fn_error "conditional \"gl_GNULIB_ENABLED_getdtablesize\" was never defined.
28942Usually this means the macro was only invoked conditionally." "$LINENO" 5
28943fi
28718if test -z "${gl_GNULIB_ENABLED_getgroups_TRUE}" && test -z "${gl_GNULIB_ENABLED_getgroups_FALSE}"; then 28944if test -z "${gl_GNULIB_ENABLED_getgroups_TRUE}" && test -z "${gl_GNULIB_ENABLED_getgroups_FALSE}"; then
28719 as_fn_error "conditional \"gl_GNULIB_ENABLED_getgroups\" was never defined. 28945 as_fn_error "conditional \"gl_GNULIB_ENABLED_getgroups\" was never defined.
28720Usually this means the macro was only invoked conditionally." "$LINENO" 5 28946Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -28751,10 +28977,6 @@ if test -z "${gl_GNULIB_ENABLED_strtoull_TRUE}" && test -z "${gl_GNULIB_ENABLED_
28751 as_fn_error "conditional \"gl_GNULIB_ENABLED_strtoull\" was never defined. 28977 as_fn_error "conditional \"gl_GNULIB_ENABLED_strtoull\" was never defined.
28752Usually this means the macro was only invoked conditionally." "$LINENO" 5 28978Usually this means the macro was only invoked conditionally." "$LINENO" 5
28753fi 28979fi
28754if test -z "${gl_GNULIB_ENABLED_verify_TRUE}" && test -z "${gl_GNULIB_ENABLED_verify_FALSE}"; then
28755 as_fn_error "conditional \"gl_GNULIB_ENABLED_verify\" was never defined.
28756Usually this means the macro was only invoked conditionally." "$LINENO" 5
28757fi
28758if test -z "${gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE}" && test -z "${gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE}"; then 28980if test -z "${gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE}" && test -z "${gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE}"; then
28759 as_fn_error "conditional \"gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec\" was never defined. 28981 as_fn_error "conditional \"gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec\" was never defined.
28760Usually this means the macro was only invoked conditionally." "$LINENO" 5 28982Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/lib/stdalign.in.h b/lib/stdalign.in.h
index c3a67321b0e..7254a3dec17 100644
--- a/lib/stdalign.in.h
+++ b/lib/stdalign.in.h
@@ -41,13 +41,28 @@
41 are 4 unless the option '-malign-double' is used. 41 are 4 unless the option '-malign-double' is used.
42 42
43 The result cannot be used as a value for an 'enum' constant, if you 43 The result cannot be used as a value for an 'enum' constant, if you
44 want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc. */ 44 want to be portable to HP-UX 10.20 cc and AIX 3.2.5 xlc.
45
46 Include <stddef.h> for offsetof. */
45#include <stddef.h> 47#include <stddef.h>
46#if defined __cplusplus 48
49/* FreeBSD 9.1 <sys/cdefs.h>, included by <stddef.h> and lots of other
50 standard headers, defines conflicting implementations of _Alignas
51 and _Alignof that are no better than ours; override them. */
52#undef _Alignas
53#undef _Alignof
54
55#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
56# ifdef __cplusplus
57# if 201103 <= __cplusplus
58# define _Alignof(type) alignof (type)
59# else
47 template <class __t> struct __alignof_helper { char __a; __t __b; }; 60 template <class __t> struct __alignof_helper { char __a; __t __b; };
48# define _Alignof(type) offsetof (__alignof_helper<type>, __b) 61# define _Alignof(type) offsetof (__alignof_helper<type>, __b)
49#else 62# endif
50# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b) 63# else
64# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
65# endif
51#endif 66#endif
52#define alignof _Alignof 67#define alignof _Alignof
53#define __alignof_is_defined 1 68#define __alignof_is_defined 1
@@ -77,12 +92,16 @@
77 92
78 */ 93 */
79 94
80#if __GNUC__ || __IBMC__ || __IBMCPP__ || 0x5110 <= __SUNPRO_C 95#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
81# define _Alignas(a) __attribute__ ((__aligned__ (a))) 96# if defined __cplusplus && 201103 <= __cplusplus
82#elif 1300 <= _MSC_VER 97# define _Alignas(a) alignas (a)
83# define _Alignas(a) __declspec (align (a)) 98# elif __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC || 0x5110 <= __SUNPRO_C
99# define _Alignas(a) __attribute__ ((__aligned__ (a)))
100# elif 1300 <= _MSC_VER
101# define _Alignas(a) __declspec (align (a))
102# endif
84#endif 103#endif
85#ifdef _Alignas 104#if defined _Alignas || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__)
86# define alignas _Alignas 105# define alignas _Alignas
87# define __alignas_is_defined 1 106# define __alignas_is_defined 1
88#endif 107#endif
diff --git a/lib/verify.h b/lib/verify.h
index 03492efcd3f..d42d0750ee1 100644
--- a/lib/verify.h
+++ b/lib/verify.h
@@ -18,7 +18,7 @@
18/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ 18/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */
19 19
20#ifndef _GL_VERIFY_H 20#ifndef _GL_VERIFY_H
21# define _GL_VERIFY_H 21#define _GL_VERIFY_H
22 22
23 23
24/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11. 24/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
@@ -31,16 +31,24 @@
31 Use this only with GCC. If we were willing to slow 'configure' 31 Use this only with GCC. If we were willing to slow 'configure'
32 down we could also use it with other compilers, but since this 32 down we could also use it with other compilers, but since this
33 affects only the quality of diagnostics, why bother? */ 33 affects only the quality of diagnostics, why bother? */
34# if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \ 34#if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \
35 && (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \ 35 && (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \
36 && !defined __cplusplus) 36 && !defined __cplusplus)
37# define _GL_HAVE__STATIC_ASSERT 1 37# define _GL_HAVE__STATIC_ASSERT 1
38# endif 38#endif
39/* The condition (99 < __GNUC__) is temporary, until we know about the 39/* The condition (99 < __GNUC__) is temporary, until we know about the
40 first G++ release that supports static_assert. */ 40 first G++ release that supports static_assert. */
41# if (99 < __GNUC__) && defined __cplusplus 41#if (99 < __GNUC__) && defined __cplusplus
42# define _GL_HAVE_STATIC_ASSERT 1 42# define _GL_HAVE_STATIC_ASSERT 1
43# endif 43#endif
44
45/* FreeBSD 9.1 <sys/cdefs.h>, included by <stddef.h> and lots of other
46 system headers, defines a conflicting _Static_assert that is no
47 better than ours; override it. */
48#ifndef _GL_HAVE_STATIC_ASSERT
49# include <stddef.h>
50# undef _Static_assert
51#endif
44 52
45/* Each of these macros verifies that its argument R is nonzero. To 53/* Each of these macros verifies that its argument R is nonzero. To
46 be portable, R should be an integer constant expression. Unlike 54 be portable, R should be an integer constant expression. Unlike
@@ -143,50 +151,50 @@
143 Use a template type to work around the problem. */ 151 Use a template type to work around the problem. */
144 152
145/* Concatenate two preprocessor tokens. */ 153/* Concatenate two preprocessor tokens. */
146# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y) 154#define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
147# define _GL_CONCAT0(x, y) x##y 155#define _GL_CONCAT0(x, y) x##y
148 156
149/* _GL_COUNTER is an integer, preferably one that changes each time we 157/* _GL_COUNTER is an integer, preferably one that changes each time we
150 use it. Use __COUNTER__ if it works, falling back on __LINE__ 158 use it. Use __COUNTER__ if it works, falling back on __LINE__
151 otherwise. __LINE__ isn't perfect, but it's better than a 159 otherwise. __LINE__ isn't perfect, but it's better than a
152 constant. */ 160 constant. */
153# if defined __COUNTER__ && __COUNTER__ != __COUNTER__ 161#if defined __COUNTER__ && __COUNTER__ != __COUNTER__
154# define _GL_COUNTER __COUNTER__ 162# define _GL_COUNTER __COUNTER__
155# else 163#else
156# define _GL_COUNTER __LINE__ 164# define _GL_COUNTER __LINE__
157# endif 165#endif
158 166
159/* Generate a symbol with the given prefix, making it unique if 167/* Generate a symbol with the given prefix, making it unique if
160 possible. */ 168 possible. */
161# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER) 169#define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
162 170
163/* Verify requirement R at compile-time, as an integer constant expression 171/* Verify requirement R at compile-time, as an integer constant expression
164 that returns 1. If R is false, fail at compile-time, preferably 172 that returns 1. If R is false, fail at compile-time, preferably
165 with a diagnostic that includes the string-literal DIAGNOSTIC. */ 173 with a diagnostic that includes the string-literal DIAGNOSTIC. */
166 174
167# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \ 175#define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
168 (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC))) 176 (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
169 177
170# ifdef __cplusplus 178#ifdef __cplusplus
171# if !GNULIB_defined_struct__gl_verify_type 179# if !GNULIB_defined_struct__gl_verify_type
172template <int w> 180template <int w>
173 struct _gl_verify_type { 181 struct _gl_verify_type {
174 unsigned int _gl_verify_error_if_negative: w; 182 unsigned int _gl_verify_error_if_negative: w;
175 }; 183 };
176# define GNULIB_defined_struct__gl_verify_type 1 184# define GNULIB_defined_struct__gl_verify_type 1
177# endif
178# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
179 _gl_verify_type<(R) ? 1 : -1>
180# elif defined _GL_HAVE__STATIC_ASSERT
181# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
182 struct { \
183 _Static_assert (R, DIAGNOSTIC); \
184 int _gl_dummy; \
185 }
186# else
187# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
188 struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
189# endif 185# endif
186# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
187 _gl_verify_type<(R) ? 1 : -1>
188#elif defined _GL_HAVE__STATIC_ASSERT
189# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
190 struct { \
191 _Static_assert (R, DIAGNOSTIC); \
192 int _gl_dummy; \
193 }
194#else
195# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
196 struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
197#endif
190 198
191/* Verify requirement R at compile-time, as a declaration without a 199/* Verify requirement R at compile-time, as a declaration without a
192 trailing ';'. If R is false, fail at compile-time, preferably 200 trailing ';'. If R is false, fail at compile-time, preferably
@@ -195,23 +203,23 @@ template <int w>
195 Unfortunately, unlike C11, this implementation must appear as an 203 Unfortunately, unlike C11, this implementation must appear as an
196 ordinary declaration, and cannot appear inside struct { ... }. */ 204 ordinary declaration, and cannot appear inside struct { ... }. */
197 205
198# ifdef _GL_HAVE__STATIC_ASSERT 206#ifdef _GL_HAVE__STATIC_ASSERT
199# define _GL_VERIFY _Static_assert 207# define _GL_VERIFY _Static_assert
200# else 208#else
201# define _GL_VERIFY(R, DIAGNOSTIC) \ 209# define _GL_VERIFY(R, DIAGNOSTIC) \
202 extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ 210 extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
203 [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] 211 [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
204# endif 212#endif
205 213
206/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ 214/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */
207# ifdef _GL_STATIC_ASSERT_H 215#ifdef _GL_STATIC_ASSERT_H
208# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert 216# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
209# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC) 217# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
210# endif 218# endif
211# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert 219# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
212# define static_assert _Static_assert /* C11 requires this #define. */ 220# define static_assert _Static_assert /* C11 requires this #define. */
213# endif
214# endif 221# endif
222#endif
215 223
216/* @assert.h omit start@ */ 224/* @assert.h omit start@ */
217 225
@@ -229,18 +237,18 @@ template <int w>
229 237
230 verify_true is obsolescent; please use verify_expr instead. */ 238 verify_true is obsolescent; please use verify_expr instead. */
231 239
232# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")") 240#define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
233 241
234/* Verify requirement R at compile-time. Return the value of the 242/* Verify requirement R at compile-time. Return the value of the
235 expression E. */ 243 expression E. */
236 244
237# define verify_expr(R, E) \ 245#define verify_expr(R, E) \
238 (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E)) 246 (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
239 247
240/* Verify requirement R at compile-time, as a declaration without a 248/* Verify requirement R at compile-time, as a declaration without a
241 trailing ';'. */ 249 trailing ';'. */
242 250
243# define verify(R) _GL_VERIFY (R, "verify (" #R ")") 251#define verify(R) _GL_VERIFY (R, "verify (" #R ")")
244 252
245/* @assert.h omit end@ */ 253/* @assert.h omit end@ */
246 254
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c5d8b71bb8d..c34cab68426 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12013-07-08 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * net/shr.el (shr-map): Reinstate the `u' key binding, since it's
4 been used a while.
5
12013-07-07 Juanma Barranquero <lekktu@gmail.com> 62013-07-07 Juanma Barranquero <lekktu@gmail.com>
2 7
3 * subr.el (read-quoted-char): Remove unused local variable `char'. 8 * subr.el (read-quoted-char): Remove unused local variable `char'.
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index bdc30bc9292..4506ede8722 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -145,6 +145,7 @@ cid: URL as the argument.")
145 (define-key map [follow-link] 'mouse-face) 145 (define-key map [follow-link] 'mouse-face)
146 (define-key map "I" 'shr-insert-image) 146 (define-key map "I" 'shr-insert-image)
147 (define-key map "w" 'shr-copy-url) 147 (define-key map "w" 'shr-copy-url)
148 (define-key map "u" 'shr-copy-url)
148 (define-key map "v" 'shr-browse-url) 149 (define-key map "v" 'shr-browse-url)
149 (define-key map "o" 'shr-save-contents) 150 (define-key map "o" 'shr-save-contents)
150 (define-key map "\r" 'shr-browse-url) 151 (define-key map "\r" 'shr-browse-url)
diff --git a/m4/stdalign.m4 b/m4/stdalign.m4
index a866ff670b1..20be01aaf20 100644
--- a/m4/stdalign.m4
+++ b/m4/stdalign.m4
@@ -31,7 +31,8 @@ AC_DEFUN([gl_STDALIGN_H],
31 31
32 /* Test _Alignas only on platforms where gnulib can help. */ 32 /* Test _Alignas only on platforms where gnulib can help. */
33 #if \ 33 #if \
34 (__GNUC__ || __IBMC__ || __IBMCPP__ \ 34 ((defined __cplusplus && 201103 <= __cplusplus) \
35 || __GNUC__ || __IBMC__ || __IBMCPP__ || __ICC \
35 || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) 36 || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER)
36 struct alignas_test { char c; char alignas (8) alignas_8; }; 37 struct alignas_test { char c; char alignas (8) alignas_8; };
37 char test_alignas[offsetof (struct alignas_test, alignas_8) == 8 38 char test_alignas[offsetof (struct alignas_test, alignas_8) == 8