summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am2
-rw-r--r--tests/Makefile.in4177
-rw-r--r--tests/c-strcase.h56
-rw-r--r--tests/c-strcasecmp.c57
-rw-r--r--tests/c-strncasecmp.c57
-rw-r--r--tests/closedir.c67
-rw-r--r--tests/dirent-private.h40
-rw-r--r--tests/dirent.in.h258
-rw-r--r--tests/dup.c61
-rw-r--r--tests/fdopen.c69
-rw-r--r--tests/filename.h54
-rw-r--r--tests/getcwd-lgpl.c126
-rw-r--r--tests/getpagesize.c4
-rw-r--r--tests/gl_array_list.c2
-rw-r--r--tests/gl_array_list.h2
-rw-r--r--tests/gl_array_oset.c6
-rw-r--r--tests/gl_array_oset.h2
-rw-r--r--tests/gnulib.mk746
-rw-r--r--tests/infinity.h60
-rw-r--r--tests/init.sh147
-rw-r--r--tests/inttypes.in.h1130
-rw-r--r--tests/link.c22
-rw-r--r--tests/locale.in.h96
-rw-r--r--tests/localename.c229
-rw-r--r--tests/localename.h20
-rw-r--r--tests/macros.h11
-rw-r--r--tests/minus-zero.h8
-rw-r--r--tests/nan.h22
-rw-r--r--tests/opendir.c148
-rw-r--r--tests/putenv.c110
-rw-r--r--tests/randomd.c1028
-rw-r--r--tests/randoml.c1028
-rw-r--r--tests/readdir.c98
-rw-r--r--tests/setenv.c28
-rw-r--r--tests/setlocale.c4
-rw-r--r--tests/signature.h2
-rw-r--r--tests/sleep.c76
-rw-r--r--tests/strdup.c5
-rw-r--r--tests/symlink.c2
-rw-r--r--tests/test-alloca-opt.c4
-rw-r--r--tests/test-array_list.c2
-rw-r--r--tests/test-array_oset.c2
-rw-r--r--tests/test-avltree_oset.c2
-rw-r--r--tests/test-binary-io.c37
-rwxr-xr-xtests/test-binary-io.sh7
-rw-r--r--tests/test-btowc.c2
-rw-r--r--tests/test-c-ctype.c2
-rw-r--r--tests/test-c-stack.c2
-rwxr-xr-xtests/test-c-stack2.sh18
-rw-r--r--tests/test-c-strcasecmp.c2
-rw-r--r--tests/test-c-strncasecmp.c2
-rw-r--r--tests/test-canonicalize-lgpl.c2
-rw-r--r--tests/test-chdir.c (renamed from tests/ftell.c)29
-rw-r--r--tests/test-cloexec.c13
-rw-r--r--tests/test-close.c45
-rw-r--r--tests/test-closein.c5
-rwxr-xr-xtests/test-closein.sh40
-rw-r--r--tests/test-dirent-c++.cc51
-rw-r--r--tests/test-dirent.c32
-rw-r--r--tests/test-dirname.c14
-rw-r--r--tests/test-dup-safer.c14
-rw-r--r--tests/test-dup.c45
-rw-r--r--tests/test-dup2.c21
-rw-r--r--tests/test-environ.c2
-rw-r--r--tests/test-errno.c4
-rw-r--r--tests/test-fclose.c114
-rw-r--r--tests/test-fcntl-h-c++.cc2
-rw-r--r--tests/test-fcntl-h.c104
-rw-r--r--tests/test-fcntl.c92
-rw-r--r--tests/test-fdopen.c56
-rw-r--r--tests/test-fflush.c50
-rw-r--r--tests/test-fflush2.c2
-rw-r--r--tests/test-fgetc.c97
-rw-r--r--tests/test-filenamecat.c2
-rw-r--r--tests/test-float.c384
-rw-r--r--tests/test-fopen-safer.c2
-rw-r--r--tests/test-fopen.c2
-rw-r--r--tests/test-fopen.h2
-rw-r--r--tests/test-fpending.c2
-rw-r--r--tests/test-fpurge.c2
-rw-r--r--tests/test-fputc.c91
-rw-r--r--tests/test-fread.c100
-rw-r--r--tests/test-freadahead.c2
-rw-r--r--tests/test-freading.c2
-rw-r--r--tests/test-frexp.c177
-rw-r--r--tests/test-frexp.h179
-rw-r--r--tests/test-frexpl.c166
-rw-r--r--tests/test-fseek.c70
-rwxr-xr-xtests/test-fseek.sh5
-rwxr-xr-xtests/test-fseek2.sh3
-rw-r--r--tests/test-fseeko.c2
-rw-r--r--tests/test-fseeko3.c51
-rwxr-xr-xtests/test-fseeko3.sh7
-rw-r--r--tests/test-fseeko4.c73
-rwxr-xr-xtests/test-fseeko4.sh5
-rw-r--r--tests/test-fstat.c50
-rw-r--r--tests/test-ftell.c2
-rw-r--r--tests/test-ftell3.c2
-rw-r--r--tests/test-ftello.c2
-rw-r--r--tests/test-ftello3.c2
-rw-r--r--tests/test-ftello4.c70
-rwxr-xr-xtests/test-ftello4.sh5
-rw-r--r--tests/test-fwrite.c94
-rw-r--r--tests/test-getcwd-lgpl.c102
-rw-r--r--tests/test-getdtablesize.c2
-rw-r--r--tests/test-getopt.c2
-rw-r--r--tests/test-getopt.h24
-rw-r--r--tests/test-getopt_long.h21
-rw-r--r--tests/test-gettimeofday.c2
-rw-r--r--tests/test-ignore-value.c4
-rwxr-xr-xtests/test-init.sh73
-rw-r--r--tests/test-intprops.c275
-rw-r--r--tests/test-inttypes.c118
-rw-r--r--tests/test-isnand-nolibm.c3
-rw-r--r--tests/test-isnand.h7
-rw-r--r--tests/test-isnanf-nolibm.c2
-rw-r--r--tests/test-isnanf.h7
-rw-r--r--tests/test-isnanl-nolibm.c2
-rw-r--r--tests/test-isnanl.h9
-rw-r--r--tests/test-langinfo-c++.cc2
-rw-r--r--tests/test-langinfo.c2
-rw-r--r--tests/test-link.c2
-rw-r--r--tests/test-link.h22
-rw-r--r--tests/test-linkedhash_list.c2
-rw-r--r--tests/test-locale-c++.cc2
-rw-r--r--tests/test-locale-c++2.cc2
-rw-r--r--tests/test-locale.c32
-rw-r--r--tests/test-localeconv.c72
-rw-r--r--tests/test-localename.c4
-rw-r--r--tests/test-lseek.c15
-rw-r--r--tests/test-lstat.c2
-rw-r--r--tests/test-lstat.h2
-rw-r--r--tests/test-malloc-gnu.c2
-rw-r--r--tests/test-malloca.c4
-rw-r--r--tests/test-math-c++.cc338
-rw-r--r--tests/test-math-c++2.cc2
-rw-r--r--tests/test-math.c63
-rw-r--r--tests/test-mbrtowc-w32.c2
-rw-r--r--tests/test-mbrtowc.c2
-rw-r--r--tests/test-mbsinit.c2
-rw-r--r--tests/test-memchr.c2
-rw-r--r--tests/test-memchr2.c2
-rw-r--r--tests/test-nl_langinfo.c2
-rw-r--r--tests/test-open.c2
-rw-r--r--tests/test-open.h8
-rw-r--r--tests/test-pathmax.c32
-rw-r--r--tests/test-pipe2.c58
-rw-r--r--tests/test-posix_spawn1.c4
-rw-r--r--tests/test-posix_spawn2.c4
-rw-r--r--tests/test-posix_spawn_file_actions_addclose.c64
-rw-r--r--tests/test-posix_spawn_file_actions_adddup2.c72
-rw-r--r--tests/test-posix_spawn_file_actions_addopen.c70
-rw-r--r--tests/test-printf-frexp.c2
-rw-r--r--tests/test-printf-frexpl.c2
-rw-r--r--tests/test-quotearg-simple.c73
-rw-r--r--tests/test-quotearg.h5
-rw-r--r--tests/test-raise.c50
-rw-r--r--tests/test-rawmemchr.c2
-rw-r--r--tests/test-readlink.c2
-rw-r--r--tests/test-readlink.h4
-rw-r--r--tests/test-regex.c203
-rw-r--r--tests/test-rename.c2
-rw-r--r--tests/test-rename.h6
-rw-r--r--tests/test-rmdir.c2
-rw-r--r--tests/test-rmdir.h5
-rw-r--r--tests/test-sched.c5
-rw-r--r--tests/test-setenv.c2
-rw-r--r--tests/test-setlocale1.c2
-rw-r--r--tests/test-setlocale2.c2
-rwxr-xr-xtests/test-setlocale2.sh6
-rw-r--r--tests/test-sigaction.c2
-rw-r--r--tests/test-signal-h-c++.cc (renamed from tests/test-signal-c++.cc)11
-rw-r--r--tests/test-signal-h-c++2.cc (renamed from tests/test-signal-c++2.cc)2
-rw-r--r--tests/test-signal-h.c (renamed from tests/test-signal.c)2
-rw-r--r--tests/test-signbit.c15
-rw-r--r--tests/test-sigpipe.c68
-rwxr-xr-xtests/test-sigpipe.sh31
-rw-r--r--tests/test-sigprocmask.c102
-rw-r--r--tests/test-sleep.c58
-rw-r--r--tests/test-snprintf.c12
-rw-r--r--tests/test-spawn-c++.cc2
-rw-r--r--tests/test-spawn-pipe-child.c119
-rw-r--r--tests/test-spawn-pipe-main.c (renamed from tests/test-spawn-pipe.c)117
-rwxr-xr-xtests/test-spawn-pipe.sh2
-rw-r--r--tests/test-spawn.c4
-rw-r--r--tests/test-stat.c3
-rw-r--r--tests/test-stat.h6
-rw-r--r--tests/test-stdbool.c2
-rw-r--r--tests/test-stddef.c2
-rw-r--r--tests/test-stdint.c4
-rw-r--r--tests/test-stdio-c++.cc46
-rw-r--r--tests/test-stdio-c++2.cc2
-rw-r--r--tests/test-stdio.c2
-rw-r--r--tests/test-stdlib-c++.cc2
-rw-r--r--tests/test-stdlib-c++2.cc2
-rw-r--r--tests/test-stdlib.c2
-rw-r--r--tests/test-strchrnul.c2
-rw-r--r--tests/test-strerror.c26
-rw-r--r--tests/test-string-c++.cc2
-rw-r--r--tests/test-string-c++2.cc2
-rw-r--r--tests/test-string.c2
-rw-r--r--tests/test-strnlen.c2
-rw-r--r--tests/test-strsignal.c5
-rw-r--r--tests/test-strstr.c5
-rw-r--r--tests/test-strtod.c36
-rw-r--r--tests/test-symlink.c2
-rw-r--r--tests/test-symlink.h2
-rw-r--r--tests/test-sys_stat-c++.cc4
-rw-r--r--tests/test-sys_stat.c62
-rw-r--r--tests/test-sys_time-c++.cc2
-rw-r--r--tests/test-sys_time.c7
-rw-r--r--tests/test-sys_types-c++.cc28
-rw-r--r--tests/test-sys_types.c34
-rw-r--r--tests/test-sys_wait-c++.cc2
-rw-r--r--tests/test-sys_wait.c8
-rw-r--r--tests/test-sys_wait.h2
-rw-r--r--tests/test-time-c++.cc2
-rw-r--r--tests/test-time-c++2.cc2
-rw-r--r--tests/test-time.c10
-rw-r--r--tests/test-unistd-c++.cc16
-rw-r--r--tests/test-unistd.c2
-rw-r--r--tests/test-unsetenv.c2
-rwxr-xr-xtests/test-update-copyright.sh24
-rw-r--r--tests/test-vasnprintf.c4
-rw-r--r--tests/test-vasprintf-posix.c81
-rw-r--r--tests/test-vasprintf.c2
-rwxr-xr-xtests/test-vc-list-files-cvs.sh3
-rwxr-xr-xtests/test-vc-list-files-git.sh2
-rw-r--r--tests/test-verify.c6
-rw-r--r--tests/test-version-etc.c2
-rwxr-xr-xtests/test-version-etc.sh2
-rw-r--r--tests/test-wchar-c++.cc2
-rw-r--r--tests/test-wchar.c2
-rw-r--r--tests/test-wcrtomb-w32.c2
-rw-r--r--tests/test-wcrtomb.c2
-rw-r--r--tests/test-wctype-h-c++.cc2
-rw-r--r--tests/test-wctype-h.c2
-rw-r--r--tests/test-write.c79
-rw-r--r--tests/test-xalloc-die.c2
-rwxr-xr-xtests/test-xalloc-die.sh2
-rw-r--r--tests/test-xvasprintf.c8
-rw-r--r--tests/unsetenv.c15
-rw-r--r--tests/wctob.c2
-rw-r--r--tests/wctomb-impl.h2
-rw-r--r--tests/wctomb.c2
-rw-r--r--tests/write.c145
-rw-r--r--tests/zerosize-ptr.h2
247 files changed, 13145 insertions, 2597 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 669f296..05f9f11 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,6 +1,6 @@
## Makefile.am - template for generating Makefile via Automake
##
-## Copyright (C) 2009-2011 Free Software Foundation, Inc.
+## Copyright (C) 2009-2013 Free Software Foundation, Inc.
##
## This file is part of GNU M4.
##
diff --git a/tests/Makefile.in b/tests/Makefile.in
index af0d2b3..e4d2575 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.14 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,12 +14,24 @@
@SET_MAKE@
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
@@ -28,6 +39,51 @@
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -45,63 +101,80 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/gnulib.mk
+DIST_COMMON = $(srcdir)/gnulib.mk $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(top_srcdir)/build-aux/depcomp \
+ $(noinst_HEADERS) $(top_srcdir)/build-aux/test-driver
TESTS = test-alloca-opt$(EXEEXT) test-array_list$(EXEEXT) \
test-array_oset$(EXEEXT) test-avltree_oset$(EXEEXT) \
test-binary-io.sh test-btowc1.sh test-btowc2.sh \
test-c-ctype$(EXEEXT) test-c-stack.sh test-c-stack2.sh \
test-c-strcase.sh test-canonicalize-lgpl$(EXEEXT) \
- test-cloexec$(EXEEXT) test-closein.sh test-dirname$(EXEEXT) \
- test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \
- $(am__EXEEXT_1) test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) \
- test-fflush$(EXEEXT) test-fflush2.sh test-filenamecat$(EXEEXT) \
- test-fopen-safer$(EXEEXT) test-fopen$(EXEEXT) test-fpending.sh \
- test-fpurge$(EXEEXT) test-freadahead.sh test-freading$(EXEEXT) \
- test-frexp-nolibm$(EXEEXT) test-frexpl-nolibm$(EXEEXT) \
- test-fseeko.sh test-fseeko2.sh test-ftell.sh test-ftell2.sh \
+ test-chdir$(EXEEXT) test-cloexec$(EXEEXT) test-close$(EXEEXT) \
+ test-closein.sh $(am__EXEEXT_1) test-dirent$(EXEEXT) \
+ test-dirname$(EXEEXT) test-dup$(EXEEXT) test-dup2$(EXEEXT) \
+ test-environ$(EXEEXT) test-errno$(EXEEXT) test-fclose$(EXEEXT) \
+ $(am__EXEEXT_2) test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) \
+ test-fdopen$(EXEEXT) test-fflush$(EXEEXT) test-fflush2.sh \
+ test-fgetc$(EXEEXT) test-filenamecat$(EXEEXT) \
+ test-float$(EXEEXT) test-fopen-safer$(EXEEXT) \
+ test-fopen$(EXEEXT) test-fpending.sh test-fpurge$(EXEEXT) \
+ test-fputc$(EXEEXT) test-fread$(EXEEXT) test-freadahead.sh \
+ test-freading$(EXEEXT) test-frexp-nolibm$(EXEEXT) \
+ test-frexpl-nolibm$(EXEEXT) test-fseek.sh test-fseek2.sh \
+ test-fseeko.sh test-fseeko2.sh test-fseeko3.sh test-fseeko4.sh \
+ test-fstat$(EXEEXT) test-ftell.sh test-ftell2.sh \
test-ftell3$(EXEEXT) test-ftello.sh test-ftello2.sh \
- test-ftello3$(EXEEXT) test-getdtablesize$(EXEEXT) \
+ test-ftello3$(EXEEXT) test-ftello4.sh test-fwrite$(EXEEXT) \
+ test-getcwd-lgpl$(EXEEXT) test-getdtablesize$(EXEEXT) \
test-getopt$(EXEEXT) test-gettimeofday$(EXEEXT) \
- test-ignore-value$(EXEEXT) test-isnand-nolibm$(EXEEXT) \
+ test-ignore-value$(EXEEXT) test-intprops$(EXEEXT) \
+ test-inttypes$(EXEEXT) test-isnand-nolibm$(EXEEXT) \
test-isnanf-nolibm$(EXEEXT) test-isnanl-nolibm$(EXEEXT) \
- $(am__EXEEXT_2) test-langinfo$(EXEEXT) test-link$(EXEEXT) \
- test-linkedhash_list$(EXEEXT) $(am__EXEEXT_3) \
- test-locale$(EXEEXT) test-localename$(EXEEXT) test-lseek.sh \
- test-lstat$(EXEEXT) test-malloc-gnu$(EXEEXT) \
- test-malloca$(EXEEXT) $(am__EXEEXT_4) test-math$(EXEEXT) \
- test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh \
- test-mbrtowc4.sh test-mbrtowc-w32-1.sh test-mbrtowc-w32-2.sh \
- test-mbrtowc-w32-3.sh test-mbrtowc-w32-4.sh \
- test-mbrtowc-w32-5.sh test-mbsinit.sh test-memchr$(EXEEXT) \
- test-memchr2$(EXEEXT) test-nl_langinfo.sh test-open$(EXEEXT) \
- test-pipe2$(EXEEXT) $(am__EXEEXT_5) test-printf-frexp$(EXEEXT) \
- test-printf-frexpl$(EXEEXT) test-quotearg-simple$(EXEEXT) \
+ $(am__EXEEXT_3) test-langinfo$(EXEEXT) test-link$(EXEEXT) \
+ test-linkedhash_list$(EXEEXT) $(am__EXEEXT_4) \
+ test-locale$(EXEEXT) test-localeconv$(EXEEXT) \
+ test-localename$(EXEEXT) test-lseek.sh test-lstat$(EXEEXT) \
+ test-malloc-gnu$(EXEEXT) test-malloca$(EXEEXT) $(am__EXEEXT_5) \
+ test-math$(EXEEXT) test-mbrtowc1.sh test-mbrtowc2.sh \
+ test-mbrtowc3.sh test-mbrtowc4.sh test-mbrtowc-w32-1.sh \
+ test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh \
+ test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh test-mbsinit.sh \
+ test-memchr$(EXEEXT) test-memchr2$(EXEEXT) test-nl_langinfo.sh \
+ test-open$(EXEEXT) test-pathmax$(EXEEXT) test-pipe2$(EXEEXT) \
+ test-posix_spawn_file_actions_addclose$(EXEEXT) \
+ test-posix_spawn_file_actions_adddup2$(EXEEXT) \
+ test-posix_spawn_file_actions_addopen$(EXEEXT) $(am__EXEEXT_6) \
+ test-printf-frexp$(EXEEXT) test-printf-frexpl$(EXEEXT) \
+ test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \
test-rawmemchr$(EXEEXT) test-readlink$(EXEEXT) \
- test-rename$(EXEEXT) test-rmdir$(EXEEXT) test-sched$(EXEEXT) \
- test-setenv$(EXEEXT) test-setlocale1.sh test-setlocale2.sh \
- test-sigaction$(EXEEXT) $(am__EXEEXT_6) test-signal$(EXEEXT) \
- test-signbit$(EXEEXT) test-snprintf$(EXEEXT) $(am__EXEEXT_7) \
- test-spawn-pipe.sh test-spawn$(EXEEXT) test-stat$(EXEEXT) \
- test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \
- test-stdint$(EXEEXT) $(am__EXEEXT_8) test-stdio$(EXEEXT) \
- $(am__EXEEXT_9) test-stdlib$(EXEEXT) test-strchrnul$(EXEEXT) \
- test-strerror$(EXEEXT) $(am__EXEEXT_10) test-string$(EXEEXT) \
- test-strnlen$(EXEEXT) test-strsignal$(EXEEXT) \
- test-strstr$(EXEEXT) test-strtod$(EXEEXT) \
- test-symlink$(EXEEXT) $(am__EXEEXT_11) test-sys_stat$(EXEEXT) \
- $(am__EXEEXT_12) test-sys_time$(EXEEXT) $(am__EXEEXT_13) \
- test-sys_wait$(EXEEXT) $(am__EXEEXT_14) test-time$(EXEEXT) \
- $(am__EXEEXT_15) test-dup-safer$(EXEEXT) test-unistd$(EXEEXT) \
- test-unsetenv$(EXEEXT) test-update-copyright.sh \
- test-vasnprintf$(EXEEXT) test-vasprintf-posix$(EXEEXT) \
- test-vasprintf$(EXEEXT) test-vc-list-files-git.sh \
- test-vc-list-files-cvs.sh test-verify$(EXEEXT) test-verify.sh \
- test-version-etc.sh $(am__EXEEXT_16) test-wchar$(EXEEXT) \
- test-wcrtomb.sh test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh \
+ test-regex$(EXEEXT) test-rename$(EXEEXT) test-rmdir$(EXEEXT) \
+ test-sched$(EXEEXT) test-setenv$(EXEEXT) test-setlocale1.sh \
+ test-setlocale2.sh test-sigaction$(EXEEXT) $(am__EXEEXT_7) \
+ test-signal-h$(EXEEXT) test-signbit$(EXEEXT) test-sigpipe.sh \
+ test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \
+ test-snprintf$(EXEEXT) $(am__EXEEXT_8) test-spawn-pipe.sh \
+ test-spawn$(EXEEXT) test-stat$(EXEEXT) test-stdbool$(EXEEXT) \
+ test-stddef$(EXEEXT) test-stdint$(EXEEXT) $(am__EXEEXT_9) \
+ test-stdio$(EXEEXT) $(am__EXEEXT_10) test-stdlib$(EXEEXT) \
+ test-strchrnul$(EXEEXT) test-strerror$(EXEEXT) \
+ $(am__EXEEXT_11) test-string$(EXEEXT) test-strnlen$(EXEEXT) \
+ test-strsignal$(EXEEXT) test-strstr$(EXEEXT) \
+ test-strtod$(EXEEXT) test-symlink$(EXEEXT) $(am__EXEEXT_12) \
+ test-sys_stat$(EXEEXT) $(am__EXEEXT_13) test-sys_time$(EXEEXT) \
+ $(am__EXEEXT_14) test-sys_types$(EXEEXT) $(am__EXEEXT_15) \
+ test-sys_wait$(EXEEXT) test-init.sh $(am__EXEEXT_16) \
+ test-time$(EXEEXT) $(am__EXEEXT_17) test-dup-safer$(EXEEXT) \
+ test-unistd$(EXEEXT) test-unsetenv$(EXEEXT) \
+ test-update-copyright.sh test-vasnprintf$(EXEEXT) \
+ test-vasprintf-posix$(EXEEXT) test-vasprintf$(EXEEXT) \
+ test-vc-list-files-git.sh test-vc-list-files-cvs.sh \
+ test-verify$(EXEEXT) test-verify.sh test-version-etc.sh \
+ $(am__EXEEXT_18) test-wchar$(EXEEXT) test-wcrtomb.sh \
+ test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh \
test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh \
- test-wcrtomb-w32-5.sh $(am__EXEEXT_17) test-wctype-h$(EXEEXT) \
- test-xalloc-die.sh test-xvasprintf$(EXEEXT)
+ test-wcrtomb-w32-5.sh $(am__EXEEXT_19) test-wctype-h$(EXEEXT) \
+ test-write$(EXEEXT) test-xalloc-die.sh \
+ test-xvasprintf$(EXEEXT)
XFAIL_TESTS =
noinst_PROGRAMS =
check_PROGRAMS = test-alloca-opt$(EXEEXT) test-array_list$(EXEEXT) \
@@ -109,139 +182,165 @@ check_PROGRAMS = test-alloca-opt$(EXEEXT) test-array_list$(EXEEXT) \
test-binary-io$(EXEEXT) test-btowc$(EXEEXT) \
test-c-ctype$(EXEEXT) test-c-stack$(EXEEXT) \
test-c-strcasecmp$(EXEEXT) test-c-strncasecmp$(EXEEXT) \
- test-canonicalize-lgpl$(EXEEXT) test-cloexec$(EXEEXT) \
- test-closein$(EXEEXT) test-dirname$(EXEEXT) test-dup2$(EXEEXT) \
- test-environ$(EXEEXT) test-errno$(EXEEXT) $(am__EXEEXT_1) \
- test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) test-fflush$(EXEEXT) \
- test-fflush2$(EXEEXT) test-filenamecat$(EXEEXT) \
+ test-canonicalize-lgpl$(EXEEXT) test-chdir$(EXEEXT) \
+ test-cloexec$(EXEEXT) test-close$(EXEEXT) \
+ test-closein$(EXEEXT) $(am__EXEEXT_1) test-dirent$(EXEEXT) \
+ test-dirname$(EXEEXT) test-dup$(EXEEXT) test-dup2$(EXEEXT) \
+ test-environ$(EXEEXT) test-errno$(EXEEXT) test-fclose$(EXEEXT) \
+ $(am__EXEEXT_2) test-fcntl-h$(EXEEXT) test-fcntl$(EXEEXT) \
+ test-fdopen$(EXEEXT) test-fflush$(EXEEXT) \
+ test-fflush2$(EXEEXT) test-fgetc$(EXEEXT) \
+ test-filenamecat$(EXEEXT) test-float$(EXEEXT) \
test-fopen-safer$(EXEEXT) test-fopen$(EXEEXT) \
test-fpending$(EXEEXT) test-fpurge$(EXEEXT) \
+ test-fputc$(EXEEXT) test-fread$(EXEEXT) \
test-freadahead$(EXEEXT) test-freading$(EXEEXT) \
test-frexp-nolibm$(EXEEXT) test-frexpl-nolibm$(EXEEXT) \
- test-fseeko$(EXEEXT) test-ftell$(EXEEXT) test-ftell3$(EXEEXT) \
- test-ftello$(EXEEXT) test-ftello3$(EXEEXT) \
+ test-fseek$(EXEEXT) test-fseeko$(EXEEXT) test-fseeko3$(EXEEXT) \
+ test-fseeko4$(EXEEXT) test-fstat$(EXEEXT) test-ftell$(EXEEXT) \
+ test-ftell3$(EXEEXT) test-ftello$(EXEEXT) \
+ test-ftello3$(EXEEXT) test-ftello4$(EXEEXT) \
+ test-fwrite$(EXEEXT) test-getcwd-lgpl$(EXEEXT) \
test-getdtablesize$(EXEEXT) test-getopt$(EXEEXT) \
test-gettimeofday$(EXEEXT) test-ignore-value$(EXEEXT) \
+ test-intprops$(EXEEXT) test-inttypes$(EXEEXT) \
test-isnand-nolibm$(EXEEXT) test-isnanf-nolibm$(EXEEXT) \
- test-isnanl-nolibm$(EXEEXT) $(am__EXEEXT_2) \
+ test-isnanl-nolibm$(EXEEXT) $(am__EXEEXT_3) \
test-langinfo$(EXEEXT) test-link$(EXEEXT) \
- test-linkedhash_list$(EXEEXT) $(am__EXEEXT_3) \
- test-locale$(EXEEXT) test-localename$(EXEEXT) \
- test-lseek$(EXEEXT) test-lstat$(EXEEXT) \
- test-malloc-gnu$(EXEEXT) test-malloca$(EXEEXT) $(am__EXEEXT_4) \
- test-math$(EXEEXT) test-mbrtowc$(EXEEXT) \
- test-mbrtowc-w32$(EXEEXT) test-mbsinit$(EXEEXT) \
- test-memchr$(EXEEXT) test-memchr2$(EXEEXT) \
- test-nl_langinfo$(EXEEXT) test-open$(EXEEXT) \
- test-pipe2$(EXEEXT) $(am__EXEEXT_5) test-printf-frexp$(EXEEXT) \
- test-printf-frexpl$(EXEEXT) test-quotearg-simple$(EXEEXT) \
+ test-linkedhash_list$(EXEEXT) $(am__EXEEXT_4) \
+ test-locale$(EXEEXT) test-localeconv$(EXEEXT) \
+ test-localename$(EXEEXT) test-lseek$(EXEEXT) \
+ test-lstat$(EXEEXT) test-malloc-gnu$(EXEEXT) \
+ test-malloca$(EXEEXT) $(am__EXEEXT_5) test-math$(EXEEXT) \
+ test-mbrtowc$(EXEEXT) test-mbrtowc-w32$(EXEEXT) \
+ test-mbsinit$(EXEEXT) test-memchr$(EXEEXT) \
+ test-memchr2$(EXEEXT) test-nl_langinfo$(EXEEXT) \
+ test-open$(EXEEXT) test-pathmax$(EXEEXT) test-pipe2$(EXEEXT) \
+ test-posix_spawn_file_actions_addclose$(EXEEXT) \
+ test-posix_spawn_file_actions_adddup2$(EXEEXT) \
+ test-posix_spawn_file_actions_addopen$(EXEEXT) $(am__EXEEXT_6) \
+ test-printf-frexp$(EXEEXT) test-printf-frexpl$(EXEEXT) \
+ test-quotearg-simple$(EXEEXT) test-raise$(EXEEXT) \
test-rawmemchr$(EXEEXT) test-readlink$(EXEEXT) \
- test-rename$(EXEEXT) test-rmdir$(EXEEXT) test-sched$(EXEEXT) \
- test-setenv$(EXEEXT) test-setlocale1$(EXEEXT) \
- test-setlocale2$(EXEEXT) test-sigaction$(EXEEXT) \
- $(am__EXEEXT_6) test-signal$(EXEEXT) test-signbit$(EXEEXT) \
- test-snprintf$(EXEEXT) $(am__EXEEXT_7) \
- test-spawn-pipe$(EXEEXT) test-spawn$(EXEEXT) \
- test-stat$(EXEEXT) test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \
- test-stdint$(EXEEXT) $(am__EXEEXT_8) test-stdio$(EXEEXT) \
- $(am__EXEEXT_9) test-stdlib$(EXEEXT) test-strchrnul$(EXEEXT) \
- test-strerror$(EXEEXT) $(am__EXEEXT_10) test-string$(EXEEXT) \
- test-strnlen$(EXEEXT) test-strsignal$(EXEEXT) \
- test-strstr$(EXEEXT) test-strtod$(EXEEXT) \
- test-symlink$(EXEEXT) $(am__EXEEXT_11) test-sys_stat$(EXEEXT) \
- $(am__EXEEXT_12) test-sys_time$(EXEEXT) $(am__EXEEXT_13) \
- test-sys_wait$(EXEEXT) $(am__EXEEXT_14) test-time$(EXEEXT) \
- $(am__EXEEXT_15) test-dup-safer$(EXEEXT) test-unistd$(EXEEXT) \
+ test-regex$(EXEEXT) test-rename$(EXEEXT) test-rmdir$(EXEEXT) \
+ test-sched$(EXEEXT) test-setenv$(EXEEXT) \
+ test-setlocale1$(EXEEXT) test-setlocale2$(EXEEXT) \
+ test-sigaction$(EXEEXT) $(am__EXEEXT_7) test-signal-h$(EXEEXT) \
+ test-signbit$(EXEEXT) test-sigpipe$(EXEEXT) \
+ test-sigprocmask$(EXEEXT) test-sleep$(EXEEXT) \
+ test-snprintf$(EXEEXT) $(am__EXEEXT_8) \
+ test-spawn-pipe-main$(EXEEXT) test-spawn-pipe-child$(EXEEXT) \
+ test-spawn$(EXEEXT) test-stat$(EXEEXT) test-stdbool$(EXEEXT) \
+ test-stddef$(EXEEXT) test-stdint$(EXEEXT) $(am__EXEEXT_9) \
+ test-stdio$(EXEEXT) $(am__EXEEXT_10) test-stdlib$(EXEEXT) \
+ test-strchrnul$(EXEEXT) test-strerror$(EXEEXT) \
+ $(am__EXEEXT_11) test-string$(EXEEXT) test-strnlen$(EXEEXT) \
+ test-strsignal$(EXEEXT) test-strstr$(EXEEXT) \
+ test-strtod$(EXEEXT) test-symlink$(EXEEXT) $(am__EXEEXT_12) \
+ test-sys_stat$(EXEEXT) $(am__EXEEXT_13) test-sys_time$(EXEEXT) \
+ $(am__EXEEXT_14) test-sys_types$(EXEEXT) $(am__EXEEXT_15) \
+ test-sys_wait$(EXEEXT) $(am__EXEEXT_16) test-time$(EXEEXT) \
+ $(am__EXEEXT_17) test-dup-safer$(EXEEXT) test-unistd$(EXEEXT) \
test-unsetenv$(EXEEXT) test-vasnprintf$(EXEEXT) \
test-vasprintf-posix$(EXEEXT) test-vasprintf$(EXEEXT) \
test-verify$(EXEEXT) test-version-etc$(EXEEXT) \
- $(am__EXEEXT_16) test-wchar$(EXEEXT) test-wcrtomb$(EXEEXT) \
- test-wcrtomb-w32$(EXEEXT) $(am__EXEEXT_17) \
- test-wctype-h$(EXEEXT) test-xalloc-die$(EXEEXT) \
- test-xvasprintf$(EXEEXT)
-@ANSICXX_TRUE@am__append_1 = test-fcntl-h-c++
-@ANSICXX_TRUE@am__append_2 = test-fcntl-h-c++
-@ANSICXX_TRUE@am__append_3 = test-langinfo-c++
-@ANSICXX_TRUE@am__append_4 = test-langinfo-c++
-@ANSICXX_TRUE@am__append_5 = test-locale-c++
-@ANSICXX_TRUE@am__append_6 = test-locale-c++
-@ANSICXX_TRUE@am__append_7 = test-math-c++
-@ANSICXX_TRUE@am__append_8 = test-math-c++
-@POSIX_SPAWN_PORTED_TRUE@am__append_9 = test-posix_spawn1 test-posix_spawn2
-@POSIX_SPAWN_PORTED_TRUE@am__append_10 = test-posix_spawn1 test-posix_spawn2
-@POSIX_SPAWN_PORTED_TRUE@am__append_11 = test-posix_spawn1.sh \
+ $(am__EXEEXT_18) test-wchar$(EXEEXT) test-wcrtomb$(EXEEXT) \
+ test-wcrtomb-w32$(EXEEXT) $(am__EXEEXT_19) \
+ test-wctype-h$(EXEEXT) test-write$(EXEEXT) \
+ test-xalloc-die$(EXEEXT) test-xvasprintf$(EXEEXT)
+@ANSICXX_TRUE@am__append_1 = test-dirent-c++
+@ANSICXX_TRUE@am__append_2 = test-dirent-c++
+@ANSICXX_TRUE@am__append_3 = test-fcntl-h-c++
+@ANSICXX_TRUE@am__append_4 = test-fcntl-h-c++
+@ANSICXX_TRUE@am__append_5 = test-langinfo-c++
+@ANSICXX_TRUE@am__append_6 = test-langinfo-c++
+@ANSICXX_TRUE@am__append_7 = test-locale-c++
+@ANSICXX_TRUE@am__append_8 = test-locale-c++
+@ANSICXX_TRUE@am__append_9 = test-math-c++
+@ANSICXX_TRUE@am__append_10 = test-math-c++
+@POSIX_SPAWN_PORTED_TRUE@am__append_11 = test-posix_spawn1 test-posix_spawn2
+@POSIX_SPAWN_PORTED_TRUE@am__append_12 = test-posix_spawn1 test-posix_spawn2
+@POSIX_SPAWN_PORTED_TRUE@am__append_13 = test-posix_spawn1.sh \
@POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2.sh
-@POSIX_SPAWN_PORTED_TRUE@am__append_12 = test-posix_spawn1.sh \
+@POSIX_SPAWN_PORTED_TRUE@am__append_14 = test-posix_spawn1.sh \
@POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn1.sh-t \
@POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2.sh \
@POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2.sh-t
-@ANSICXX_TRUE@am__append_13 = test-signal-c++
-@ANSICXX_TRUE@am__append_14 = test-signal-c++
-@ANSICXX_TRUE@am__append_15 = test-spawn-c++
-@ANSICXX_TRUE@am__append_16 = test-spawn-c++
-@ANSICXX_TRUE@am__append_17 = test-stdio-c++
-@ANSICXX_TRUE@am__append_18 = test-stdio-c++
-@ANSICXX_TRUE@am__append_19 = test-stdlib-c++
-@ANSICXX_TRUE@am__append_20 = test-stdlib-c++
-@ANSICXX_TRUE@am__append_21 = test-string-c++
-@ANSICXX_TRUE@am__append_22 = test-string-c++
-@ANSICXX_TRUE@am__append_23 = test-sys_stat-c++
-@ANSICXX_TRUE@am__append_24 = test-sys_stat-c++
-@ANSICXX_TRUE@am__append_25 = test-sys_time-c++
-@ANSICXX_TRUE@am__append_26 = test-sys_time-c++
-@ANSICXX_TRUE@am__append_27 = test-sys_wait-c++
-@ANSICXX_TRUE@am__append_28 = test-sys_wait-c++
-@ANSICXX_TRUE@am__append_29 = test-time-c++
-@ANSICXX_TRUE@am__append_30 = test-time-c++
-@ANSICXX_TRUE@am__append_31 = test-unistd-c++
-@ANSICXX_TRUE@am__append_32 = test-unistd-c++
-@ANSICXX_TRUE@am__append_33 = test-wchar-c++
-@ANSICXX_TRUE@am__append_34 = test-wchar-c++
-@ANSICXX_TRUE@am__append_35 = test-wctype-h-c++
-@ANSICXX_TRUE@am__append_36 = test-wctype-h-c++
+@ANSICXX_TRUE@am__append_15 = test-signal-h-c++
+@ANSICXX_TRUE@am__append_16 = test-signal-h-c++
+@ANSICXX_TRUE@am__append_17 = test-spawn-c++
+@ANSICXX_TRUE@am__append_18 = test-spawn-c++
+@ANSICXX_TRUE@am__append_19 = test-stdio-c++
+@ANSICXX_TRUE@am__append_20 = test-stdio-c++
+@ANSICXX_TRUE@am__append_21 = test-stdlib-c++
+@ANSICXX_TRUE@am__append_22 = test-stdlib-c++
+@ANSICXX_TRUE@am__append_23 = test-string-c++
+@ANSICXX_TRUE@am__append_24 = test-string-c++
+@ANSICXX_TRUE@am__append_25 = test-sys_stat-c++
+@ANSICXX_TRUE@am__append_26 = test-sys_stat-c++
+@ANSICXX_TRUE@am__append_27 = test-sys_time-c++
+@ANSICXX_TRUE@am__append_28 = test-sys_time-c++
+@ANSICXX_TRUE@am__append_29 = test-sys_types-c++
+@ANSICXX_TRUE@am__append_30 = test-sys_types-c++
+@ANSICXX_TRUE@am__append_31 = test-sys_wait-c++
+@ANSICXX_TRUE@am__append_32 = test-sys_wait-c++
+@ANSICXX_TRUE@am__append_33 = test-time-c++
+@ANSICXX_TRUE@am__append_34 = test-time-c++
+@ANSICXX_TRUE@am__append_35 = test-unistd-c++
+@ANSICXX_TRUE@am__append_36 = test-unistd-c++
+@ANSICXX_TRUE@am__append_37 = test-wchar-c++
+@ANSICXX_TRUE@am__append_38 = test-wchar-c++
+@ANSICXX_TRUE@am__append_39 = test-wctype-h-c++
+@ANSICXX_TRUE@am__append_40 = test-wctype-h-c++
subdir = tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/ansi-c++.m4 \
- $(top_srcdir)/m4/assert.m4 $(top_srcdir)/m4/autobuild.m4 \
- $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/c-stack.m4 \
- $(top_srcdir)/m4/canonicalize.m4 $(top_srcdir)/m4/cloexec.m4 \
+ $(top_srcdir)/m4/asm-underscore.m4 $(top_srcdir)/m4/assert.m4 \
+ $(top_srcdir)/m4/autobuild.m4 $(top_srcdir)/m4/btowc.m4 \
+ $(top_srcdir)/m4/c-stack.m4 $(top_srcdir)/m4/canonicalize.m4 \
$(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
- $(top_srcdir)/m4/closein.m4 $(top_srcdir)/m4/closeout.m4 \
- $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
- $(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
- $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup2.m4 \
- $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
- $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
- $(top_srcdir)/m4/execute.m4 $(top_srcdir)/m4/exponentd.m4 \
- $(top_srcdir)/m4/exponentf.m4 $(top_srcdir)/m4/exponentl.m4 \
- $(top_srcdir)/m4/extensions.m4 \
+ $(top_srcdir)/m4/closedir.m4 $(top_srcdir)/m4/closein.m4 \
+ $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+ $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
+ $(top_srcdir)/m4/dirent_h.m4 $(top_srcdir)/m4/dirname.m4 \
+ $(top_srcdir)/m4/double-slash-root.m4 $(top_srcdir)/m4/dup.m4 \
+ $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
+ $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
+ $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/execute.m4 \
+ $(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/exponentf.m4 \
+ $(top_srcdir)/m4/exponentl.m4 $(top_srcdir)/m4/extensions.m4 \
+ $(top_srcdir)/m4/extern-inline.m4 \
$(top_srcdir)/m4/fatal-signal.m4 $(top_srcdir)/m4/fclose.m4 \
$(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/fcntl.m4 \
- $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fflush.m4 \
- $(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/float_h.m4 \
- $(top_srcdir)/m4/fopen.m4 $(top_srcdir)/m4/fpending.m4 \
- $(top_srcdir)/m4/fpieee.m4 $(top_srcdir)/m4/fpurge.m4 \
+ $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fdopen.m4 \
+ $(top_srcdir)/m4/fflush.m4 $(top_srcdir)/m4/filenamecat.m4 \
+ $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fopen.m4 \
+ $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fpieee.m4 \
+ $(top_srcdir)/m4/fpurge.m4 $(top_srcdir)/m4/freadahead.m4 \
$(top_srcdir)/m4/freading.m4 $(top_srcdir)/m4/frexp.m4 \
- $(top_srcdir)/m4/frexpl.m4 $(top_srcdir)/m4/fseeko.m4 \
+ $(top_srcdir)/m4/frexpl.m4 $(top_srcdir)/m4/fseek.m4 \
+ $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/fstat.m4 \
$(top_srcdir)/m4/ftell.m4 $(top_srcdir)/m4/ftello.m4 \
- $(top_srcdir)/m4/getdtablesize.m4 $(top_srcdir)/m4/getopt.m4 \
- $(top_srcdir)/m4/getpagesize.m4 \
- $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/gl_list.m4 \
- $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/getcwd.m4 $(top_srcdir)/m4/getdtablesize.m4 \
+ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \
+ $(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
+ $(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 \
- $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
+ $(top_srcdir)/m4/include_next.m4 \
$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/inttypes.m4 \
$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/isnand.m4 \
$(top_srcdir)/m4/isnanf.m4 $(top_srcdir)/m4/isnanl.m4 \
- $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
- $(top_srcdir)/m4/ldexp.m4 $(top_srcdir)/m4/ldexpl.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \
- $(top_srcdir)/m4/link.m4 $(top_srcdir)/m4/localcharset.m4 \
- $(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
- $(top_srcdir)/m4/locale-tr.m4 $(top_srcdir)/m4/locale-zh.m4 \
- $(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localename.m4 \
+ $(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/largefile.m4 \
+ $(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/ldexp.m4 \
+ $(top_srcdir)/m4/ldexpl.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libsigsegv.m4 $(top_srcdir)/m4/link.m4 \
+ $(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
+ $(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-tr.m4 \
+ $(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
+ $(top_srcdir)/m4/localeconv.m4 $(top_srcdir)/m4/localename.m4 \
$(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/lseek.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
@@ -250,40 +349,43 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mkdtemp.m4 \
$(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mmap-anon.m4 \
- $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/multiarch.m4 \
+ $(top_srcdir)/m4/mode_t.m4 $(top_srcdir)/m4/msvc-inval.m4 \
+ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
$(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nocrash.m4 \
- $(top_srcdir)/m4/open.m4 $(top_srcdir)/m4/pathmax.m4 \
+ $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/open.m4 \
+ $(top_srcdir)/m4/opendir.m4 $(top_srcdir)/m4/pathmax.m4 \
$(top_srcdir)/m4/pipe2.m4 $(top_srcdir)/m4/posix_spawn.m4 \
$(top_srcdir)/m4/printf-frexp.m4 \
$(top_srcdir)/m4/printf-frexpl.m4 $(top_srcdir)/m4/printf.m4 \
$(top_srcdir)/m4/putenv.m4 $(top_srcdir)/m4/quotearg.m4 \
- $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+ $(top_srcdir)/m4/raise.m4 $(top_srcdir)/m4/rawmemchr.m4 \
+ $(top_srcdir)/m4/readdir.m4 $(top_srcdir)/m4/readlink.m4 \
$(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rename.m4 \
$(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/sched_h.m4 \
- $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/setlocale.m4 \
- $(top_srcdir)/m4/sig_atomic_t.m4 $(top_srcdir)/m4/sigaction.m4 \
- $(top_srcdir)/m4/signal_h.m4 \
+ $(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
+ $(top_srcdir)/m4/setlocale.m4 $(top_srcdir)/m4/sig_atomic_t.m4 \
+ $(top_srcdir)/m4/sigaction.m4 $(top_srcdir)/m4/signal_h.m4 \
$(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/signbit.m4 \
- $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/snprintf.m4 \
+ $(top_srcdir)/m4/sigpipe.m4 $(top_srcdir)/m4/size_max.m4 \
+ $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
$(top_srcdir)/m4/spawn-pipe.m4 $(top_srcdir)/m4/spawn_h.m4 \
$(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat.m4 \
$(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
$(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
- $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio-safer.m4 \
- $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib-safer.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
$(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strchrnul.m4 \
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strsignal.m4 \
$(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/strtod.m4 \
- $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/symlink.m4 \
+ $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
- $(top_srcdir)/m4/sys_wait_h.m4 $(top_srcdir)/m4/tempname.m4 \
- $(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
- $(top_srcdir)/m4/tls.m4 $(top_srcdir)/m4/tmpdir.m4 \
- $(top_srcdir)/m4/ungetc.m4 $(top_srcdir)/m4/unistd-safer.m4 \
- $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlocked-io.m4 \
- $(top_srcdir)/m4/vasnprintf.m4 \
+ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/sys_wait_h.m4 \
+ $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/threadlib.m4 \
+ $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/tls.m4 \
+ $(top_srcdir)/m4/tmpdir.m4 $(top_srcdir)/m4/ungetc.m4 \
+ $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
+ $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/vasnprintf.m4 \
$(top_srcdir)/m4/vasprintf-posix.m4 \
$(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/version-etc.m4 \
$(top_srcdir)/m4/wait-process.m4 $(top_srcdir)/m4/waitpid.m4 \
@@ -291,9 +393,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \
$(top_srcdir)/m4/wctob.m4 $(top_srcdir)/m4/wctomb.m4 \
$(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/m4/xalloc.m4 $(top_srcdir)/m4/xsize.m4 \
- $(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xvasprintf.m4 \
- $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/write.m4 $(top_srcdir)/m4/xalloc.m4 \
+ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \
+ $(top_srcdir)/m4/xvasprintf.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -301,38 +404,35 @@ CONFIG_HEADER = $(top_builddir)/lib/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-AR = ar
-ARFLAGS = cru
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
-am__v_AR_0 = @echo " AR " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo " AR " $@;
+am__v_AR_1 =
libtests_a_AR = $(AR) $(ARFLAGS)
am__DEPENDENCIES_1 =
am_libtests_a_OBJECTS = gl_array_list.$(OBJEXT) \
- gl_array_oset.$(OBJEXT) c-strcasecmp.$(OBJEXT) \
- c-strncasecmp.$(OBJEXT) localename.$(OBJEXT)
+ gl_array_oset.$(OBJEXT) localename.$(OBJEXT)
libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
-@ANSICXX_TRUE@am__EXEEXT_1 = test-fcntl-h-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_2 = test-langinfo-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_3 = test-locale-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_4 = test-math-c++$(EXEEXT)
-@POSIX_SPAWN_PORTED_TRUE@am__EXEEXT_5 = test-posix_spawn1$(EXEEXT) \
+@ANSICXX_TRUE@am__EXEEXT_1 = test-dirent-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_2 = test-fcntl-h-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_3 = test-langinfo-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_4 = test-locale-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_5 = test-math-c++$(EXEEXT)
+@POSIX_SPAWN_PORTED_TRUE@am__EXEEXT_6 = test-posix_spawn1$(EXEEXT) \
@POSIX_SPAWN_PORTED_TRUE@ test-posix_spawn2$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_6 = test-signal-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_7 = test-spawn-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_8 = test-stdio-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_9 = test-stdlib-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_10 = test-string-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_11 = test-sys_stat-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_12 = test-sys_time-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_13 = test-sys_wait-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_14 = test-time-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_15 = test-unistd-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_16 = test-wchar-c++$(EXEEXT)
-@ANSICXX_TRUE@am__EXEEXT_17 = test-wctype-h-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_7 = test-signal-h-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_8 = test-spawn-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_9 = test-stdio-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_10 = test-stdlib-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_11 = test-string-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_12 = test-sys_stat-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_13 = test-sys_time-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_14 = test-sys_types-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_15 = test-sys_wait-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_16 = test-time-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_17 = test-unistd-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_18 = test-wchar-c++$(EXEEXT)
+@ANSICXX_TRUE@am__EXEEXT_19 = test-wctype-h-c++$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
test_alloca_opt_SOURCES = test-alloca-opt.c
test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT)
@@ -388,17 +488,42 @@ test_canonicalize_lgpl_OBJECTS = test-canonicalize-lgpl.$(OBJEXT)
test_canonicalize_lgpl_LDADD = $(LDADD)
test_canonicalize_lgpl_DEPENDENCIES = libtests.a ../lib/libm4.a \
libtests.a $(am__DEPENDENCIES_1)
+test_chdir_SOURCES = test-chdir.c
+test_chdir_OBJECTS = test-chdir.$(OBJEXT)
+test_chdir_LDADD = $(LDADD)
+test_chdir_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_cloexec_SOURCES = test-cloexec.c
test_cloexec_OBJECTS = test-cloexec.$(OBJEXT)
test_cloexec_LDADD = $(LDADD)
test_cloexec_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_close_SOURCES = test-close.c
+test_close_OBJECTS = test-close.$(OBJEXT)
+test_close_LDADD = $(LDADD)
+test_close_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_closein_SOURCES = test-closein.c
test_closein_OBJECTS = test-closein.$(OBJEXT)
test_closein_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_dirent_SOURCES = test-dirent.c
+test_dirent_OBJECTS = test-dirent.$(OBJEXT)
+test_dirent_LDADD = $(LDADD)
+test_dirent_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+am__test_dirent_c___SOURCES_DIST = test-dirent-c++.cc
+@ANSICXX_TRUE@am_test_dirent_c___OBJECTS = test-dirent-c++.$(OBJEXT)
+test_dirent_c___OBJECTS = $(am_test_dirent_c___OBJECTS)
+@ANSICXX_TRUE@test_dirent_c___DEPENDENCIES = $(am__DEPENDENCIES_2) \
+@ANSICXX_TRUE@ $(am__DEPENDENCIES_1)
test_dirname_SOURCES = test-dirname.c
test_dirname_OBJECTS = test-dirname.$(OBJEXT)
test_dirname_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_dup_SOURCES = test-dup.c
+test_dup_OBJECTS = test-dup.$(OBJEXT)
+test_dup_LDADD = $(LDADD)
+test_dup_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_dup_safer_SOURCES = test-dup-safer.c
test_dup_safer_OBJECTS = test-dup-safer.$(OBJEXT)
test_dup_safer_LDADD = $(LDADD)
@@ -419,6 +544,11 @@ test_errno_OBJECTS = test-errno.$(OBJEXT)
test_errno_LDADD = $(LDADD)
test_errno_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_fclose_SOURCES = test-fclose.c
+test_fclose_OBJECTS = test-fclose.$(OBJEXT)
+test_fclose_LDADD = $(LDADD)
+test_fclose_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_fcntl_SOURCES = test-fcntl.c
test_fcntl_OBJECTS = test-fcntl.$(OBJEXT)
test_fcntl_LDADD = $(LDADD)
@@ -435,6 +565,11 @@ am__test_fcntl_h_c___SOURCES_DIST = test-fcntl-h-c++.cc
test_fcntl_h_c___OBJECTS = $(am_test_fcntl_h_c___OBJECTS)
@ANSICXX_TRUE@test_fcntl_h_c___DEPENDENCIES = $(am__DEPENDENCIES_2) \
@ANSICXX_TRUE@ $(am__DEPENDENCIES_1)
+test_fdopen_SOURCES = test-fdopen.c
+test_fdopen_OBJECTS = test-fdopen.$(OBJEXT)
+test_fdopen_LDADD = $(LDADD)
+test_fdopen_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_fflush_SOURCES = test-fflush.c
test_fflush_OBJECTS = test-fflush.$(OBJEXT)
test_fflush_LDADD = $(LDADD)
@@ -445,9 +580,19 @@ test_fflush2_OBJECTS = test-fflush2.$(OBJEXT)
test_fflush2_LDADD = $(LDADD)
test_fflush2_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_fgetc_SOURCES = test-fgetc.c
+test_fgetc_OBJECTS = test-fgetc.$(OBJEXT)
+test_fgetc_LDADD = $(LDADD)
+test_fgetc_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_filenamecat_SOURCES = test-filenamecat.c
test_filenamecat_OBJECTS = test-filenamecat.$(OBJEXT)
test_filenamecat_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_float_SOURCES = test-float.c
+test_float_OBJECTS = test-float.$(OBJEXT)
+test_float_LDADD = $(LDADD)
+test_float_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_fopen_SOURCES = test-fopen.c
test_fopen_OBJECTS = test-fopen.$(OBJEXT)
test_fopen_LDADD = $(LDADD)
@@ -468,6 +613,16 @@ test_fpurge_OBJECTS = test-fpurge.$(OBJEXT)
test_fpurge_LDADD = $(LDADD)
test_fpurge_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_fputc_SOURCES = test-fputc.c
+test_fputc_OBJECTS = test-fputc.$(OBJEXT)
+test_fputc_LDADD = $(LDADD)
+test_fputc_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+test_fread_SOURCES = test-fread.c
+test_fread_OBJECTS = test-fread.$(OBJEXT)
+test_fread_LDADD = $(LDADD)
+test_fread_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_freadahead_SOURCES = test-freadahead.c
test_freadahead_OBJECTS = test-freadahead.$(OBJEXT)
test_freadahead_LDADD = $(LDADD)
@@ -478,21 +633,42 @@ test_freading_OBJECTS = test-freading.$(OBJEXT)
test_freading_LDADD = $(LDADD)
test_freading_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
-am_test_frexp_nolibm_OBJECTS = test-frexp.$(OBJEXT)
+am_test_frexp_nolibm_OBJECTS = test-frexp.$(OBJEXT) randomd.$(OBJEXT)
test_frexp_nolibm_OBJECTS = $(am_test_frexp_nolibm_OBJECTS)
test_frexp_nolibm_LDADD = $(LDADD)
test_frexp_nolibm_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
-am_test_frexpl_nolibm_OBJECTS = test-frexpl.$(OBJEXT)
+am_test_frexpl_nolibm_OBJECTS = test-frexpl.$(OBJEXT) \
+ randoml.$(OBJEXT)
test_frexpl_nolibm_OBJECTS = $(am_test_frexpl_nolibm_OBJECTS)
test_frexpl_nolibm_LDADD = $(LDADD)
test_frexpl_nolibm_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_fseek_SOURCES = test-fseek.c
+test_fseek_OBJECTS = test-fseek.$(OBJEXT)
+test_fseek_LDADD = $(LDADD)
+test_fseek_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_fseeko_SOURCES = test-fseeko.c
test_fseeko_OBJECTS = test-fseeko.$(OBJEXT)
test_fseeko_LDADD = $(LDADD)
test_fseeko_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_fseeko3_SOURCES = test-fseeko3.c
+test_fseeko3_OBJECTS = test-fseeko3.$(OBJEXT)
+test_fseeko3_LDADD = $(LDADD)
+test_fseeko3_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+test_fseeko4_SOURCES = test-fseeko4.c
+test_fseeko4_OBJECTS = test-fseeko4.$(OBJEXT)
+test_fseeko4_LDADD = $(LDADD)
+test_fseeko4_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+test_fstat_SOURCES = test-fstat.c
+test_fstat_OBJECTS = test-fstat.$(OBJEXT)
+test_fstat_LDADD = $(LDADD)
+test_fstat_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_ftell_SOURCES = test-ftell.c
test_ftell_OBJECTS = test-ftell.$(OBJEXT)
test_ftell_LDADD = $(LDADD)
@@ -513,6 +689,20 @@ test_ftello3_OBJECTS = test-ftello3.$(OBJEXT)
test_ftello3_LDADD = $(LDADD)
test_ftello3_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_ftello4_SOURCES = test-ftello4.c
+test_ftello4_OBJECTS = test-ftello4.$(OBJEXT)
+test_ftello4_LDADD = $(LDADD)
+test_ftello4_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+test_fwrite_SOURCES = test-fwrite.c
+test_fwrite_OBJECTS = test-fwrite.$(OBJEXT)
+test_fwrite_LDADD = $(LDADD)
+test_fwrite_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+test_getcwd_lgpl_SOURCES = test-getcwd-lgpl.c
+test_getcwd_lgpl_OBJECTS = test-getcwd-lgpl.$(OBJEXT)
+test_getcwd_lgpl_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1)
test_getdtablesize_SOURCES = test-getdtablesize.c
test_getdtablesize_OBJECTS = test-getdtablesize.$(OBJEXT)
test_getdtablesize_LDADD = $(LDADD)
@@ -531,6 +721,16 @@ test_ignore_value_OBJECTS = test-ignore-value.$(OBJEXT)
test_ignore_value_LDADD = $(LDADD)
test_ignore_value_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_intprops_SOURCES = test-intprops.c
+test_intprops_OBJECTS = test-intprops.$(OBJEXT)
+test_intprops_LDADD = $(LDADD)
+test_intprops_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+test_inttypes_SOURCES = test-inttypes.c
+test_inttypes_OBJECTS = test-inttypes.$(OBJEXT)
+test_inttypes_LDADD = $(LDADD)
+test_inttypes_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_isnand_nolibm_SOURCES = test-isnand-nolibm.c
test_isnand_nolibm_OBJECTS = test-isnand-nolibm.$(OBJEXT)
test_isnand_nolibm_LDADD = $(LDADD)
@@ -581,9 +781,15 @@ test_locale_c___OBJECTS = $(am_test_locale_c___OBJECTS)
test_locale_c___LDADD = $(LDADD)
test_locale_c___DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_localeconv_SOURCES = test-localeconv.c
+test_localeconv_OBJECTS = test-localeconv.$(OBJEXT)
+test_localeconv_LDADD = $(LDADD)
+test_localeconv_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_localename_SOURCES = test-localename.c
test_localename_OBJECTS = test-localename.$(OBJEXT)
-test_localename_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_localename_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1)
test_lseek_SOURCES = test-lseek.c
test_lseek_OBJECTS = test-lseek.$(OBJEXT)
test_lseek_LDADD = $(LDADD)
@@ -613,9 +819,7 @@ am__test_math_c___SOURCES_DIST = test-math-c++.cc test-math-c++2.cc
@ANSICXX_TRUE@am_test_math_c___OBJECTS = test-math-c++.$(OBJEXT) \
@ANSICXX_TRUE@ test-math-c++2.$(OBJEXT)
test_math_c___OBJECTS = $(am_test_math_c___OBJECTS)
-test_math_c___LDADD = $(LDADD)
-test_math_c___DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
- $(am__DEPENDENCIES_1)
+@ANSICXX_TRUE@test_math_c___DEPENDENCIES = $(am__DEPENDENCIES_2)
test_mbrtowc_SOURCES = test-mbrtowc.c
test_mbrtowc_OBJECTS = test-mbrtowc.$(OBJEXT)
test_mbrtowc_LDADD = $(LDADD)
@@ -651,11 +855,14 @@ test_open_OBJECTS = test-open.$(OBJEXT)
test_open_LDADD = $(LDADD)
test_open_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_pathmax_SOURCES = test-pathmax.c
+test_pathmax_OBJECTS = test-pathmax.$(OBJEXT)
+test_pathmax_LDADD = $(LDADD)
+test_pathmax_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_pipe2_SOURCES = test-pipe2.c
test_pipe2_OBJECTS = test-pipe2.$(OBJEXT)
-test_pipe2_LDADD = $(LDADD)
-test_pipe2_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
- $(am__DEPENDENCIES_1)
+test_pipe2_DEPENDENCIES = $(am__DEPENDENCIES_2)
test_posix_spawn1_SOURCES = test-posix_spawn1.c
test_posix_spawn1_OBJECTS = test-posix_spawn1.$(OBJEXT)
test_posix_spawn1_LDADD = $(LDADD)
@@ -666,6 +873,27 @@ test_posix_spawn2_OBJECTS = test-posix_spawn2.$(OBJEXT)
test_posix_spawn2_LDADD = $(LDADD)
test_posix_spawn2_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_posix_spawn_file_actions_addclose_SOURCES = \
+ test-posix_spawn_file_actions_addclose.c
+test_posix_spawn_file_actions_addclose_OBJECTS = \
+ test-posix_spawn_file_actions_addclose.$(OBJEXT)
+test_posix_spawn_file_actions_addclose_LDADD = $(LDADD)
+test_posix_spawn_file_actions_addclose_DEPENDENCIES = libtests.a \
+ ../lib/libm4.a libtests.a $(am__DEPENDENCIES_1)
+test_posix_spawn_file_actions_adddup2_SOURCES = \
+ test-posix_spawn_file_actions_adddup2.c
+test_posix_spawn_file_actions_adddup2_OBJECTS = \
+ test-posix_spawn_file_actions_adddup2.$(OBJEXT)
+test_posix_spawn_file_actions_adddup2_LDADD = $(LDADD)
+test_posix_spawn_file_actions_adddup2_DEPENDENCIES = libtests.a \
+ ../lib/libm4.a libtests.a $(am__DEPENDENCIES_1)
+test_posix_spawn_file_actions_addopen_SOURCES = \
+ test-posix_spawn_file_actions_addopen.c
+test_posix_spawn_file_actions_addopen_OBJECTS = \
+ test-posix_spawn_file_actions_addopen.$(OBJEXT)
+test_posix_spawn_file_actions_addopen_LDADD = $(LDADD)
+test_posix_spawn_file_actions_addopen_DEPENDENCIES = libtests.a \
+ ../lib/libm4.a libtests.a $(am__DEPENDENCIES_1)
test_printf_frexp_SOURCES = test-printf-frexp.c
test_printf_frexp_OBJECTS = test-printf-frexp.$(OBJEXT)
test_printf_frexp_LDADD = $(LDADD)
@@ -679,6 +907,11 @@ test_printf_frexpl_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
test_quotearg_simple_SOURCES = test-quotearg-simple.c
test_quotearg_simple_OBJECTS = test-quotearg-simple.$(OBJEXT)
test_quotearg_simple_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_raise_SOURCES = test-raise.c
+test_raise_OBJECTS = test-raise.$(OBJEXT)
+test_raise_LDADD = $(LDADD)
+test_raise_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_rawmemchr_SOURCES = test-rawmemchr.c
test_rawmemchr_OBJECTS = test-rawmemchr.$(OBJEXT)
test_rawmemchr_LDADD = $(LDADD)
@@ -689,6 +922,9 @@ test_readlink_OBJECTS = test-readlink.$(OBJEXT)
test_readlink_LDADD = $(LDADD)
test_readlink_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_regex_SOURCES = test-regex.c
+test_regex_OBJECTS = test-regex.$(OBJEXT)
+test_regex_DEPENDENCIES = $(am__DEPENDENCIES_2)
test_rename_SOURCES = test-rename.c
test_rename_OBJECTS = test-rename.$(OBJEXT)
test_rename_LDADD = $(LDADD)
@@ -724,23 +960,39 @@ test_sigaction_OBJECTS = test-sigaction.$(OBJEXT)
test_sigaction_LDADD = $(LDADD)
test_sigaction_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
-test_signal_SOURCES = test-signal.c
-test_signal_OBJECTS = test-signal.$(OBJEXT)
-test_signal_LDADD = $(LDADD)
-test_signal_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
- $(am__DEPENDENCIES_1)
-am__test_signal_c___SOURCES_DIST = test-signal-c++.cc \
- test-signal-c++2.cc
-@ANSICXX_TRUE@am_test_signal_c___OBJECTS = test-signal-c++.$(OBJEXT) \
-@ANSICXX_TRUE@ test-signal-c++2.$(OBJEXT)
-test_signal_c___OBJECTS = $(am_test_signal_c___OBJECTS)
-@ANSICXX_TRUE@test_signal_c___DEPENDENCIES = $(am__DEPENDENCIES_2) \
+test_signal_h_SOURCES = test-signal-h.c
+test_signal_h_OBJECTS = test-signal-h.$(OBJEXT)
+test_signal_h_LDADD = $(LDADD)
+test_signal_h_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+am__test_signal_h_c___SOURCES_DIST = test-signal-h-c++.cc \
+ test-signal-h-c++2.cc
+@ANSICXX_TRUE@am_test_signal_h_c___OBJECTS = \
+@ANSICXX_TRUE@ test-signal-h-c++.$(OBJEXT) \
+@ANSICXX_TRUE@ test-signal-h-c++2.$(OBJEXT)
+test_signal_h_c___OBJECTS = $(am_test_signal_h_c___OBJECTS)
+@ANSICXX_TRUE@test_signal_h_c___DEPENDENCIES = $(am__DEPENDENCIES_2) \
@ANSICXX_TRUE@ $(am__DEPENDENCIES_1)
test_signbit_SOURCES = test-signbit.c
test_signbit_OBJECTS = test-signbit.$(OBJEXT)
test_signbit_LDADD = $(LDADD)
test_signbit_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
$(am__DEPENDENCIES_1)
+test_sigpipe_SOURCES = test-sigpipe.c
+test_sigpipe_OBJECTS = test-sigpipe.$(OBJEXT)
+test_sigpipe_LDADD = $(LDADD)
+test_sigpipe_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+test_sigprocmask_SOURCES = test-sigprocmask.c
+test_sigprocmask_OBJECTS = test-sigprocmask.$(OBJEXT)
+test_sigprocmask_LDADD = $(LDADD)
+test_sigprocmask_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+test_sleep_SOURCES = test-sleep.c
+test_sleep_OBJECTS = test-sleep.$(OBJEXT)
+test_sleep_LDADD = $(LDADD)
+test_sleep_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_snprintf_SOURCES = test-snprintf.c
test_snprintf_OBJECTS = test-snprintf.$(OBJEXT)
test_snprintf_LDADD = $(LDADD)
@@ -756,14 +1008,15 @@ am__test_spawn_c___SOURCES_DIST = test-spawn-c++.cc
test_spawn_c___OBJECTS = $(am_test_spawn_c___OBJECTS)
@ANSICXX_TRUE@test_spawn_c___DEPENDENCIES = $(am__DEPENDENCIES_2) \
@ANSICXX_TRUE@ $(am__DEPENDENCIES_1)
-test_spawn_pipe_SOURCES = test-spawn-pipe.c
-test_spawn_pipe_OBJECTS = test-spawn-pipe.$(OBJEXT)
-test_spawn_pipe_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_spawn_pipe_child_SOURCES = test-spawn-pipe-child.c
+test_spawn_pipe_child_OBJECTS = test-spawn-pipe-child.$(OBJEXT)
+test_spawn_pipe_child_DEPENDENCIES =
+test_spawn_pipe_main_SOURCES = test-spawn-pipe-main.c
+test_spawn_pipe_main_OBJECTS = test-spawn-pipe-main.$(OBJEXT)
+test_spawn_pipe_main_DEPENDENCIES = $(am__DEPENDENCIES_2)
test_stat_SOURCES = test-stat.c
test_stat_OBJECTS = test-stat.$(OBJEXT)
-test_stat_LDADD = $(LDADD)
-test_stat_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
- $(am__DEPENDENCIES_1)
+test_stat_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
test_stdbool_SOURCES = test-stdbool.c
test_stdbool_OBJECTS = test-stdbool.$(OBJEXT)
test_stdbool_LDADD = $(LDADD)
@@ -870,6 +1123,18 @@ am__test_sys_time_c___SOURCES_DIST = test-sys_time-c++.cc
test_sys_time_c___OBJECTS = $(am_test_sys_time_c___OBJECTS)
@ANSICXX_TRUE@test_sys_time_c___DEPENDENCIES = $(am__DEPENDENCIES_2) \
@ANSICXX_TRUE@ $(am__DEPENDENCIES_1)
+test_sys_types_SOURCES = test-sys_types.c
+test_sys_types_OBJECTS = test-sys_types.$(OBJEXT)
+test_sys_types_LDADD = $(LDADD)
+test_sys_types_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
+am__test_sys_types_c___SOURCES_DIST = test-sys_types-c++.cc
+@ANSICXX_TRUE@am_test_sys_types_c___OBJECTS = \
+@ANSICXX_TRUE@ test-sys_types-c++.$(OBJEXT)
+test_sys_types_c___OBJECTS = $(am_test_sys_types_c___OBJECTS)
+test_sys_types_c___LDADD = $(LDADD)
+test_sys_types_c___DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_sys_wait_SOURCES = test-sys_wait.c
test_sys_wait_OBJECTS = test-sys_wait.$(OBJEXT)
test_sys_wait_LDADD = $(LDADD)
@@ -962,123 +1227,162 @@ am__test_wctype_h_c___SOURCES_DIST = test-wctype-h-c++.cc
test_wctype_h_c___OBJECTS = $(am_test_wctype_h_c___OBJECTS)
@ANSICXX_TRUE@test_wctype_h_c___DEPENDENCIES = $(am__DEPENDENCIES_2) \
@ANSICXX_TRUE@ $(am__DEPENDENCIES_1)
+test_write_SOURCES = test-write.c
+test_write_OBJECTS = test-write.$(OBJEXT)
+test_write_LDADD = $(LDADD)
+test_write_DEPENDENCIES = libtests.a ../lib/libm4.a libtests.a \
+ $(am__DEPENDENCIES_1)
test_xalloc_die_SOURCES = test-xalloc-die.c
test_xalloc_die_OBJECTS = test-xalloc-die.$(OBJEXT)
test_xalloc_die_DEPENDENCIES = $(am__DEPENDENCIES_2)
test_xvasprintf_SOURCES = test-xvasprintf.c
test_xvasprintf_OBJECTS = test-xvasprintf.$(OBJEXT)
test_xvasprintf_DEPENDENCIES = $(am__DEPENDENCIES_2)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
-am__v_CC_0 = @echo " CC " $@;
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
-am__v_CXX_0 = @echo " CXX " $@;
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CXXLD_0 = @echo " CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo " GEN " $@;
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
test-alloca-opt.c test-array_list.c test-array_oset.c \
test-avltree_oset.c test-binary-io.c test-btowc.c \
test-c-ctype.c test-c-stack.c test-c-strcasecmp.c \
- test-c-strncasecmp.c test-canonicalize-lgpl.c test-cloexec.c \
- test-closein.c test-dirname.c test-dup-safer.c test-dup2.c \
- test-environ.c test-errno.c test-fcntl.c test-fcntl-h.c \
- $(test_fcntl_h_c___SOURCES) test-fflush.c test-fflush2.c \
- test-filenamecat.c test-fopen.c test-fopen-safer.c \
- test-fpending.c test-fpurge.c test-freadahead.c \
- test-freading.c $(test_frexp_nolibm_SOURCES) \
- $(test_frexpl_nolibm_SOURCES) test-fseeko.c test-ftell.c \
- test-ftell3.c test-ftello.c test-ftello3.c \
+ test-c-strncasecmp.c test-canonicalize-lgpl.c test-chdir.c \
+ test-cloexec.c test-close.c test-closein.c test-dirent.c \
+ $(test_dirent_c___SOURCES) test-dirname.c test-dup.c \
+ test-dup-safer.c test-dup2.c test-environ.c test-errno.c \
+ test-fclose.c test-fcntl.c test-fcntl-h.c \
+ $(test_fcntl_h_c___SOURCES) test-fdopen.c test-fflush.c \
+ test-fflush2.c test-fgetc.c test-filenamecat.c test-float.c \
+ test-fopen.c test-fopen-safer.c test-fpending.c test-fpurge.c \
+ test-fputc.c test-fread.c test-freadahead.c test-freading.c \
+ $(test_frexp_nolibm_SOURCES) $(test_frexpl_nolibm_SOURCES) \
+ test-fseek.c test-fseeko.c test-fseeko3.c test-fseeko4.c \
+ test-fstat.c test-ftell.c test-ftell3.c test-ftello.c \
+ test-ftello3.c test-ftello4.c test-fwrite.c test-getcwd-lgpl.c \
test-getdtablesize.c test-getopt.c test-gettimeofday.c \
- test-ignore-value.c test-isnand-nolibm.c test-isnanf-nolibm.c \
- test-isnanl-nolibm.c test-langinfo.c \
- $(test_langinfo_c___SOURCES) test-link.c \
+ test-ignore-value.c test-intprops.c test-inttypes.c \
+ test-isnand-nolibm.c test-isnanf-nolibm.c test-isnanl-nolibm.c \
+ test-langinfo.c $(test_langinfo_c___SOURCES) test-link.c \
test-linkedhash_list.c test-locale.c \
- $(test_locale_c___SOURCES) test-localename.c test-lseek.c \
- test-lstat.c test-malloc-gnu.c test-malloca.c test-math.c \
- $(test_math_c___SOURCES) test-mbrtowc.c test-mbrtowc-w32.c \
- test-mbsinit.c test-memchr.c test-memchr2.c test-nl_langinfo.c \
- test-open.c test-pipe2.c test-posix_spawn1.c \
- test-posix_spawn2.c test-printf-frexp.c test-printf-frexpl.c \
- test-quotearg-simple.c test-rawmemchr.c test-readlink.c \
- test-rename.c test-rmdir.c test-sched.c test-setenv.c \
- test-setlocale1.c test-setlocale2.c test-sigaction.c \
- test-signal.c $(test_signal_c___SOURCES) test-signbit.c \
- test-snprintf.c test-spawn.c $(test_spawn_c___SOURCES) \
- test-spawn-pipe.c test-stat.c test-stdbool.c test-stddef.c \
- test-stdint.c test-stdio.c $(test_stdio_c___SOURCES) \
- test-stdlib.c $(test_stdlib_c___SOURCES) test-strchrnul.c \
- test-strerror.c test-string.c $(test_string_c___SOURCES) \
- test-strnlen.c test-strsignal.c test-strstr.c test-strtod.c \
- test-symlink.c test-sys_stat.c $(test_sys_stat_c___SOURCES) \
- test-sys_time.c $(test_sys_time_c___SOURCES) test-sys_wait.c \
+ $(test_locale_c___SOURCES) test-localeconv.c test-localename.c \
+ test-lseek.c test-lstat.c test-malloc-gnu.c test-malloca.c \
+ test-math.c $(test_math_c___SOURCES) test-mbrtowc.c \
+ test-mbrtowc-w32.c test-mbsinit.c test-memchr.c test-memchr2.c \
+ test-nl_langinfo.c test-open.c test-pathmax.c test-pipe2.c \
+ test-posix_spawn1.c test-posix_spawn2.c \
+ test-posix_spawn_file_actions_addclose.c \
+ test-posix_spawn_file_actions_adddup2.c \
+ test-posix_spawn_file_actions_addopen.c test-printf-frexp.c \
+ test-printf-frexpl.c test-quotearg-simple.c test-raise.c \
+ test-rawmemchr.c test-readlink.c test-regex.c test-rename.c \
+ test-rmdir.c test-sched.c test-setenv.c test-setlocale1.c \
+ test-setlocale2.c test-sigaction.c test-signal-h.c \
+ $(test_signal_h_c___SOURCES) test-signbit.c test-sigpipe.c \
+ test-sigprocmask.c test-sleep.c test-snprintf.c test-spawn.c \
+ $(test_spawn_c___SOURCES) test-spawn-pipe-child.c \
+ test-spawn-pipe-main.c test-stat.c test-stdbool.c \
+ test-stddef.c test-stdint.c test-stdio.c \
+ $(test_stdio_c___SOURCES) test-stdlib.c \
+ $(test_stdlib_c___SOURCES) test-strchrnul.c test-strerror.c \
+ test-string.c $(test_string_c___SOURCES) test-strnlen.c \
+ test-strsignal.c test-strstr.c test-strtod.c test-symlink.c \
+ test-sys_stat.c $(test_sys_stat_c___SOURCES) test-sys_time.c \
+ $(test_sys_time_c___SOURCES) test-sys_types.c \
+ $(test_sys_types_c___SOURCES) test-sys_wait.c \
$(test_sys_wait_c___SOURCES) test-time.c \
$(test_time_c___SOURCES) test-unistd.c \
$(test_unistd_c___SOURCES) test-unsetenv.c test-vasnprintf.c \
test-vasprintf.c test-vasprintf-posix.c test-verify.c \
test-version-etc.c test-wchar.c $(test_wchar_c___SOURCES) \
test-wcrtomb.c test-wcrtomb-w32.c test-wctype-h.c \
- $(test_wctype_h_c___SOURCES) test-xalloc-die.c \
+ $(test_wctype_h_c___SOURCES) test-write.c test-xalloc-die.c \
test-xvasprintf.c
DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
test-alloca-opt.c test-array_list.c test-array_oset.c \
test-avltree_oset.c test-binary-io.c test-btowc.c \
test-c-ctype.c test-c-stack.c test-c-strcasecmp.c \
- test-c-strncasecmp.c test-canonicalize-lgpl.c test-cloexec.c \
- test-closein.c test-dirname.c test-dup-safer.c test-dup2.c \
- test-environ.c test-errno.c test-fcntl.c test-fcntl-h.c \
- $(am__test_fcntl_h_c___SOURCES_DIST) test-fflush.c \
- test-fflush2.c test-filenamecat.c test-fopen.c \
- test-fopen-safer.c test-fpending.c test-fpurge.c \
- test-freadahead.c test-freading.c $(test_frexp_nolibm_SOURCES) \
- $(test_frexpl_nolibm_SOURCES) test-fseeko.c test-ftell.c \
- test-ftell3.c test-ftello.c test-ftello3.c \
- test-getdtablesize.c test-getopt.c test-gettimeofday.c \
- test-ignore-value.c test-isnand-nolibm.c test-isnanf-nolibm.c \
- test-isnanl-nolibm.c test-langinfo.c \
+ test-c-strncasecmp.c test-canonicalize-lgpl.c test-chdir.c \
+ test-cloexec.c test-close.c test-closein.c test-dirent.c \
+ $(am__test_dirent_c___SOURCES_DIST) test-dirname.c test-dup.c \
+ test-dup-safer.c test-dup2.c test-environ.c test-errno.c \
+ test-fclose.c test-fcntl.c test-fcntl-h.c \
+ $(am__test_fcntl_h_c___SOURCES_DIST) test-fdopen.c \
+ test-fflush.c test-fflush2.c test-fgetc.c test-filenamecat.c \
+ test-float.c test-fopen.c test-fopen-safer.c test-fpending.c \
+ test-fpurge.c test-fputc.c test-fread.c test-freadahead.c \
+ test-freading.c $(test_frexp_nolibm_SOURCES) \
+ $(test_frexpl_nolibm_SOURCES) test-fseek.c test-fseeko.c \
+ test-fseeko3.c test-fseeko4.c test-fstat.c test-ftell.c \
+ test-ftell3.c test-ftello.c test-ftello3.c test-ftello4.c \
+ test-fwrite.c test-getcwd-lgpl.c test-getdtablesize.c \
+ test-getopt.c test-gettimeofday.c test-ignore-value.c \
+ test-intprops.c test-inttypes.c test-isnand-nolibm.c \
+ test-isnanf-nolibm.c test-isnanl-nolibm.c test-langinfo.c \
$(am__test_langinfo_c___SOURCES_DIST) test-link.c \
test-linkedhash_list.c test-locale.c \
- $(am__test_locale_c___SOURCES_DIST) test-localename.c \
- test-lseek.c test-lstat.c test-malloc-gnu.c test-malloca.c \
- test-math.c $(am__test_math_c___SOURCES_DIST) test-mbrtowc.c \
- test-mbrtowc-w32.c test-mbsinit.c test-memchr.c test-memchr2.c \
- test-nl_langinfo.c test-open.c test-pipe2.c \
- test-posix_spawn1.c test-posix_spawn2.c test-printf-frexp.c \
- test-printf-frexpl.c test-quotearg-simple.c test-rawmemchr.c \
- test-readlink.c test-rename.c test-rmdir.c test-sched.c \
- test-setenv.c test-setlocale1.c test-setlocale2.c \
- test-sigaction.c test-signal.c \
- $(am__test_signal_c___SOURCES_DIST) test-signbit.c \
- test-snprintf.c test-spawn.c \
- $(am__test_spawn_c___SOURCES_DIST) test-spawn-pipe.c \
- test-stat.c test-stdbool.c test-stddef.c test-stdint.c \
- test-stdio.c $(am__test_stdio_c___SOURCES_DIST) test-stdlib.c \
+ $(am__test_locale_c___SOURCES_DIST) test-localeconv.c \
+ test-localename.c test-lseek.c test-lstat.c test-malloc-gnu.c \
+ test-malloca.c test-math.c $(am__test_math_c___SOURCES_DIST) \
+ test-mbrtowc.c test-mbrtowc-w32.c test-mbsinit.c test-memchr.c \
+ test-memchr2.c test-nl_langinfo.c test-open.c test-pathmax.c \
+ test-pipe2.c test-posix_spawn1.c test-posix_spawn2.c \
+ test-posix_spawn_file_actions_addclose.c \
+ test-posix_spawn_file_actions_adddup2.c \
+ test-posix_spawn_file_actions_addopen.c test-printf-frexp.c \
+ test-printf-frexpl.c test-quotearg-simple.c test-raise.c \
+ test-rawmemchr.c test-readlink.c test-regex.c test-rename.c \
+ test-rmdir.c test-sched.c test-setenv.c test-setlocale1.c \
+ test-setlocale2.c test-sigaction.c test-signal-h.c \
+ $(am__test_signal_h_c___SOURCES_DIST) test-signbit.c \
+ test-sigpipe.c test-sigprocmask.c test-sleep.c test-snprintf.c \
+ test-spawn.c $(am__test_spawn_c___SOURCES_DIST) \
+ test-spawn-pipe-child.c test-spawn-pipe-main.c test-stat.c \
+ test-stdbool.c test-stddef.c test-stdint.c test-stdio.c \
+ $(am__test_stdio_c___SOURCES_DIST) test-stdlib.c \
$(am__test_stdlib_c___SOURCES_DIST) test-strchrnul.c \
test-strerror.c test-string.c \
$(am__test_string_c___SOURCES_DIST) test-strnlen.c \
test-strsignal.c test-strstr.c test-strtod.c test-symlink.c \
test-sys_stat.c $(am__test_sys_stat_c___SOURCES_DIST) \
test-sys_time.c $(am__test_sys_time_c___SOURCES_DIST) \
+ test-sys_types.c $(am__test_sys_types_c___SOURCES_DIST) \
test-sys_wait.c $(am__test_sys_wait_c___SOURCES_DIST) \
test-time.c $(am__test_time_c___SOURCES_DIST) test-unistd.c \
$(am__test_unistd_c___SOURCES_DIST) test-unsetenv.c \
@@ -1086,37 +1390,70 @@ DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
test-verify.c test-version-etc.c test-wchar.c \
$(am__test_wchar_c___SOURCES_DIST) test-wcrtomb.c \
test-wcrtomb-w32.c test-wctype-h.c \
- $(am__test_wctype_h_c___SOURCES_DIST) test-xalloc-die.c \
- test-xvasprintf.c
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+ $(am__test_wctype_h_c___SOURCES_DIST) test-write.c \
+ test-xalloc-die.c test-xvasprintf.c
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
HEADERS = $(noinst_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- check check-html recheck recheck-html distdir
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ check recheck distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
-# If stdout is a non-dumb tty, use colors. If test -t is not supported,
-# then this fails; a conservative approach. Of course do not redirect
-# stdout here, just stderr.
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=; \
-test "X$(AM_COLOR_TESTS)" != Xno \
-&& test "X$$TERM" != Xdumb \
-&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \
-&& { \
- red=''; \
- grn=''; \
- lgn=''; \
- blu=''; \
- std=''; \
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
}
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
@@ -1139,54 +1476,166 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-# Restructured Text title and section.
-am__rst_title = sed 's/.*/ & /;h;s/./=/g;p;x;p;g;p;s/.*//'
-am__rst_section = sed 'p;s/./=/g;p;g'
-# Put stdin (possibly several lines separated by ". ") in a box.
-am__text_box = $(AWK) '{ \
- n = split($$0, lines, "\\. "); max = 0; \
- for (i = 1; i <= n; ++i) \
- if (max < length(lines[i])) \
- max = length(lines[i]); \
- for (i = 0; i < max; ++i) line = line "="; \
- print line; \
- for (i = 1; i <= n; ++i) if (lines[i]) print lines[i];\
- print line; \
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL). This contradicts POSIX. Work around the problem
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
# by disabling -e (using the XSI extension "set +e") if it's set.
am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
# To be inserted before the command running the test. Creates the
# directory for the log if needed. Stores in $dir the directory
-# containing $f, in $tst the test, in $log the log, and passes
-# TESTS_ENVIRONMENT. Save and restore TERM around use of
-# TESTS_ENVIRONMENT, in case that unsets it.
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
am__check_pre = \
$(am__sh_e_setup); \
$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
srcdir=$(srcdir); export srcdir; \
-rm -f $@-t; \
-trap 'st=$$?; rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st' \
- 1 2 13 15; \
-am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`; \
-test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
if test -f "./$$f"; then dir=./; \
elif test -f "$$f"; then dir=; \
else dir="$(srcdir)/"; fi; \
-tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \
-$(TESTS_ENVIRONMENT)
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
RECHECK_LOGS = $(TEST_LOGS)
TEST_SUITE_LOG = test-suite.log
-TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html)
TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+ case '$@' in \
+ */*) \
+ case '$*' in \
+ */*) b='$*';; \
+ *) b=`echo '$@' | sed 's/\.log$$//'`; \
+ esac;; \
+ *) \
+ b='$*';; \
+ esac
am__test_logs1 = $(TESTS:=.log)
am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
-TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t)
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
@@ -1221,6 +1670,9 @@ ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARFLAGS = @ARFLAGS@
+ASM_SYMBOL_PREFIX = @ASM_SYMBOL_PREFIX@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -1258,47 +1710,90 @@ EXEEXT = @EXEEXT@
FLOAT_H = @FLOAT_H@
GETOPT_H = @GETOPT_H@
GLIBC21 = @GLIBC21@
+GNULIB_ACOSF = @GNULIB_ACOSF@
GNULIB_ACOSL = @GNULIB_ACOSL@
+GNULIB_ALPHASORT = @GNULIB_ALPHASORT@
+GNULIB_ASINF = @GNULIB_ASINF@
GNULIB_ASINL = @GNULIB_ASINL@
+GNULIB_ATAN2F = @GNULIB_ATAN2F@
+GNULIB_ATANF = @GNULIB_ATANF@
GNULIB_ATANL = @GNULIB_ATANL@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CBRT = @GNULIB_CBRT@
+GNULIB_CBRTF = @GNULIB_CBRTF@
+GNULIB_CBRTL = @GNULIB_CBRTL@
GNULIB_CEIL = @GNULIB_CEIL@
GNULIB_CEILF = @GNULIB_CEILF@
GNULIB_CEILL = @GNULIB_CEILL@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@
+GNULIB_COPYSIGN = @GNULIB_COPYSIGN@
+GNULIB_COPYSIGNF = @GNULIB_COPYSIGNF@
+GNULIB_COPYSIGNL = @GNULIB_COPYSIGNL@
+GNULIB_COSF = @GNULIB_COSF@
+GNULIB_COSHF = @GNULIB_COSHF@
GNULIB_COSL = @GNULIB_COSL@
+GNULIB_DIRFD = @GNULIB_DIRFD@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_EXP2 = @GNULIB_EXP2@
+GNULIB_EXP2F = @GNULIB_EXP2F@
+GNULIB_EXP2L = @GNULIB_EXP2L@
+GNULIB_EXPF = @GNULIB_EXPF@
GNULIB_EXPL = @GNULIB_EXPL@
+GNULIB_EXPM1 = @GNULIB_EXPM1@
+GNULIB_EXPM1F = @GNULIB_EXPM1F@
+GNULIB_EXPM1L = @GNULIB_EXPM1L@
+GNULIB_FABSF = @GNULIB_FABSF@
+GNULIB_FABSL = @GNULIB_FABSL@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
GNULIB_FCLOSE = @GNULIB_FCLOSE@
GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@
GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
GNULIB_FLOOR = @GNULIB_FLOOR@
GNULIB_FLOORF = @GNULIB_FLOORF@
GNULIB_FLOORL = @GNULIB_FLOORL@
+GNULIB_FMA = @GNULIB_FMA@
+GNULIB_FMAF = @GNULIB_FMAF@
+GNULIB_FMAL = @GNULIB_FMAL@
+GNULIB_FMOD = @GNULIB_FMOD@
+GNULIB_FMODF = @GNULIB_FMODF@
+GNULIB_FMODL = @GNULIB_FMODL@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
GNULIB_FPURGE = @GNULIB_FPURGE@
GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
GNULIB_FREXP = @GNULIB_FREXP@
+GNULIB_FREXPF = @GNULIB_FREXPF@
GNULIB_FREXPL = @GNULIB_FREXPL@
+GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
GNULIB_FTELL = @GNULIB_FTELL@
@@ -1306,6 +1801,8 @@ GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
@@ -1320,7 +1817,18 @@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GL_M4_UNISTD_H_GETOPT = @GNULIB_GL_M4_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_HYPOT = @GNULIB_HYPOT@
+GNULIB_HYPOTF = @GNULIB_HYPOTF@
+GNULIB_HYPOTL = @GNULIB_HYPOTL@
+GNULIB_ILOGB = @GNULIB_ILOGB@
+GNULIB_ILOGBF = @GNULIB_ILOGBF@
+GNULIB_ILOGBL = @GNULIB_ILOGBL@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_ISATTY = @GNULIB_ISATTY@
GNULIB_ISFINITE = @GNULIB_ISFINITE@
GNULIB_ISINF = @GNULIB_ISINF@
GNULIB_ISNAN = @GNULIB_ISNAN@
@@ -1331,10 +1839,25 @@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LDEXPF = @GNULIB_LDEXPF@
GNULIB_LDEXPL = @GNULIB_LDEXPL@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
+GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
+GNULIB_LOG = @GNULIB_LOG@
+GNULIB_LOG10 = @GNULIB_LOG10@
+GNULIB_LOG10F = @GNULIB_LOG10F@
+GNULIB_LOG10L = @GNULIB_LOG10L@
+GNULIB_LOG1P = @GNULIB_LOG1P@
+GNULIB_LOG1PF = @GNULIB_LOG1PF@
+GNULIB_LOG1PL = @GNULIB_LOG1PL@
+GNULIB_LOG2 = @GNULIB_LOG2@
+GNULIB_LOG2F = @GNULIB_LOG2F@
+GNULIB_LOG2L = @GNULIB_LOG2L@
GNULIB_LOGB = @GNULIB_LOGB@
+GNULIB_LOGBF = @GNULIB_LOGBF@
+GNULIB_LOGBL = @GNULIB_LOGBL@
+GNULIB_LOGF = @GNULIB_LOGF@
GNULIB_LOGL = @GNULIB_LOGL@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_LSTAT = @GNULIB_LSTAT@
@@ -1374,16 +1897,23 @@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_MODF = @GNULIB_MODF@
+GNULIB_MODFF = @GNULIB_MODFF@
+GNULIB_MODFL = @GNULIB_MODFL@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
GNULIB_OPEN = @GNULIB_OPEN@
GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_OPENDIR = @GNULIB_OPENDIR@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
GNULIB_PERROR = @GNULIB_PERROR@
GNULIB_PIPE = @GNULIB_PIPE@
GNULIB_PIPE2 = @GNULIB_PIPE2@
GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
GNULIB_POSIX_SPAWN = @GNULIB_POSIX_SPAWN@
GNULIB_POSIX_SPAWNATTR_DESTROY = @GNULIB_POSIX_SPAWNATTR_DESTROY@
GNULIB_POSIX_SPAWNATTR_GETFLAGS = @GNULIB_POSIX_SPAWNATTR_GETFLAGS@
@@ -1405,41 +1935,63 @@ GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDU
GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT = @GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT@
+GNULIB_POWF = @GNULIB_POWF@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
GNULIB_PUTENV = @GNULIB_PUTENV@
GNULIB_PUTS = @GNULIB_PUTS@
GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RAISE = @GNULIB_RAISE@
+GNULIB_RANDOM = @GNULIB_RANDOM@
GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
+GNULIB_READDIR = @GNULIB_READDIR@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMAINDER = @GNULIB_REMAINDER@
+GNULIB_REMAINDERF = @GNULIB_REMAINDERF@
+GNULIB_REMAINDERL = @GNULIB_REMAINDERL@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_REWINDDIR = @GNULIB_REWINDDIR@
+GNULIB_RINT = @GNULIB_RINT@
+GNULIB_RINTF = @GNULIB_RINTF@
+GNULIB_RINTL = @GNULIB_RINTL@
GNULIB_RMDIR = @GNULIB_RMDIR@
GNULIB_ROUND = @GNULIB_ROUND@
GNULIB_ROUNDF = @GNULIB_ROUNDF@
GNULIB_ROUNDL = @GNULIB_ROUNDL@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANDIR = @GNULIB_SCANDIR@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
GNULIB_SIGNBIT = @GNULIB_SIGNBIT@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
+GNULIB_SINF = @GNULIB_SINF@
+GNULIB_SINHF = @GNULIB_SINHF@
GNULIB_SINL = @GNULIB_SINL@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_SQRTF = @GNULIB_SQRTF@
GNULIB_SQRTL = @GNULIB_SQRTL@
GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
@@ -1457,13 +2009,17 @@ GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
GNULIB_STRTOLL = @GNULIB_STRTOLL@
GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TANF = @GNULIB_TANF@
+GNULIB_TANHF = @GNULIB_TANHF@
GNULIB_TANL = @GNULIB_TANL@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
@@ -1473,7 +2029,7 @@ GNULIB_TRUNC = @GNULIB_TRUNC@
GNULIB_TRUNCF = @GNULIB_TRUNCF@
GNULIB_TRUNCL = @GNULIB_TRUNCL@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
-GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
GNULIB_UNLINK = @GNULIB_UNLINK@
GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
@@ -1485,8 +2041,10 @@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
GNULIB_VPRINTF = @GNULIB_VPRINTF@
GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
GNULIB_WAITPID = @GNULIB_WAITPID@
@@ -1529,23 +2087,46 @@ GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
+HAVE_ACOSF = @HAVE_ACOSF@
HAVE_ACOSL = @HAVE_ACOSL@
+HAVE_ALPHASORT = @HAVE_ALPHASORT@
+HAVE_ASINF = @HAVE_ASINF@
HAVE_ASINL = @HAVE_ASINL@
+HAVE_ATAN2F = @HAVE_ATAN2F@
+HAVE_ATANF = @HAVE_ATANF@
HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CBRT = @HAVE_CBRT@
+HAVE_CBRTF = @HAVE_CBRTF@
+HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLOSEDIR = @HAVE_CLOSEDIR@
+HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
+HAVE_COSF = @HAVE_COSF@
+HAVE_COSHF = @HAVE_COSHF@
HAVE_COSL = @HAVE_COSL@
HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
+HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
+HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
+HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
HAVE_DECL_COSL = @HAVE_DECL_COSL@
+HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
+HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
+HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
+HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@
HAVE_DECL_FLOORF = @HAVE_DECL_FLOORF@
HAVE_DECL_FLOORL = @HAVE_DECL_FLOORL@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
@@ -1559,17 +2140,27 @@ HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
+HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
+HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
+HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
+HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
+HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
@@ -1578,7 +2169,9 @@ HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
HAVE_DECL_TANL = @HAVE_DECL_TANL@
HAVE_DECL_TRUNC = @HAVE_DECL_TRUNC@
HAVE_DECL_TRUNCF = @HAVE_DECL_TRUNCF@
@@ -1588,18 +2181,34 @@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DIRENT_H = @HAVE_DIRENT_H@
HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXPF = @HAVE_EXPF@
HAVE_EXPL = @HAVE_EXPL@
+HAVE_EXPM1 = @HAVE_EXPM1@
+HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_FABSF = @HAVE_FABSF@
+HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHMODAT = @HAVE_FCHMODAT@
HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FDOPENDIR = @HAVE_FDOPENDIR@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FMA = @HAVE_FMA@
+HAVE_FMAF = @HAVE_FMAF@
+HAVE_FMAL = @HAVE_FMAL@
+HAVE_FMODF = @HAVE_FMODF@
+HAVE_FMODL = @HAVE_FMODL@
+HAVE_FREXPF = @HAVE_FREXPF@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
@@ -1615,6 +2224,12 @@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_HYPOTF = @HAVE_HYPOTF@
+HAVE_HYPOTL = @HAVE_HYPOTL@
+HAVE_ILOGB = @HAVE_ILOGB@
+HAVE_ILOGBF = @HAVE_ILOGBF@
+HAVE_ILOGBL = @HAVE_ILOGBL@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
HAVE_ISNAND = @HAVE_ISNAND@
HAVE_ISNANF = @HAVE_ISNANF@
@@ -1628,9 +2243,18 @@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
+HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOG10F = @HAVE_LOG10F@
+HAVE_LOG10L = @HAVE_LOG10L@
+HAVE_LOG1P = @HAVE_LOG1P@
+HAVE_LOG1PF = @HAVE_LOG1PF@
+HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOGBF = @HAVE_LOGBF@
+HAVE_LOGBL = @HAVE_LOGBL@
+HAVE_LOGF = @HAVE_LOGF@
HAVE_LOGL = @HAVE_LOGL@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_LSTAT = @HAVE_LSTAT@
@@ -1652,38 +2276,64 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MODFF = @HAVE_MODFF@
+HAVE_MODFL = @HAVE_MODFL@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OPENDIR = @HAVE_OPENDIR@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
HAVE_PIPE = @HAVE_PIPE@
HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_POSIX_SPAWN = @HAVE_POSIX_SPAWN@
HAVE_POSIX_SPAWNATTR_T = @HAVE_POSIX_SPAWNATTR_T@
HAVE_POSIX_SPAWN_FILE_ACTIONS_T = @HAVE_POSIX_SPAWN_FILE_ACTIONS_T@
+HAVE_POWF = @HAVE_POWF@
HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RAISE = @HAVE_RAISE@
+HAVE_RANDOM = @HAVE_RANDOM@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READDIR = @HAVE_READDIR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_REMAINDER = @HAVE_REMAINDER@
+HAVE_REMAINDERF = @HAVE_REMAINDERF@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_REWINDDIR = @HAVE_REWINDDIR@
+HAVE_RINT = @HAVE_RINT@
+HAVE_RINTL = @HAVE_RINTL@
HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
+HAVE_SCANDIR = @HAVE_SCANDIR@
HAVE_SCHED_H = @HAVE_SCHED_H@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
HAVE_SIGACTION = @HAVE_SIGACTION@
+HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
+HAVE_SINF = @HAVE_SINF@
+HAVE_SINHF = @HAVE_SINHF@
HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SPAWN_H = @HAVE_SPAWN_H@
+HAVE_SQRTF = @HAVE_SQRTF@
HAVE_SQRTL = @HAVE_SQRTL@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
@@ -1709,6 +2359,8 @@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TANF = @HAVE_TANF@
+HAVE_TANHF = @HAVE_TANHF@
HAVE_TANL = @HAVE_TANL@
HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
@@ -1751,6 +2403,7 @@ HAVE_WCSXFRM = @HAVE_WCSXFRM@
HAVE_WCTRANS_T = @HAVE_WCTRANS_T@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WCTYPE_T = @HAVE_WCTYPE_T@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE_WMEMCHR = @HAVE_WMEMCHR@
HAVE_WMEMCMP = @HAVE_WMEMCMP@
@@ -1767,6 +2420,8 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@
LIBCSTACK = @LIBCSTACK@
@@ -1802,10 +2457,12 @@ M4tests_LTLIBOBJS = @M4tests_LTLIBOBJS@
M4tests_WITNESS = @M4tests_WITNESS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
@@ -1820,15 +2477,18 @@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_WAIT_H@
NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
+NEXT_DIRENT_H = @NEXT_DIRENT_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
NEXT_FLOAT_H = @NEXT_FLOAT_H@
NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_MATH_H = @NEXT_MATH_H@
@@ -1843,6 +2503,7 @@ NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
NEXT_SYS_WAIT_H = @NEXT_SYS_WAIT_H@
NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
@@ -1859,33 +2520,53 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CBRTF = @REPLACE_CBRTF@
+REPLACE_CBRTL = @REPLACE_CBRTL@
REPLACE_CEIL = @REPLACE_CEIL@
REPLACE_CEILF = @REPLACE_CEILF@
REPLACE_CEILL = @REPLACE_CEILL@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
+REPLACE_DIRFD = @REPLACE_DIRFD@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_EXP2 = @REPLACE_EXP2@
+REPLACE_EXP2L = @REPLACE_EXP2L@
+REPLACE_EXPM1 = @REPLACE_EXPM1@
+REPLACE_EXPM1F = @REPLACE_EXPM1F@
+REPLACE_FABSL = @REPLACE_FABSL@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
REPLACE_FLOOR = @REPLACE_FLOOR@
REPLACE_FLOORF = @REPLACE_FLOORF@
REPLACE_FLOORL = @REPLACE_FLOORL@
+REPLACE_FMA = @REPLACE_FMA@
+REPLACE_FMAF = @REPLACE_FMAF@
+REPLACE_FMAL = @REPLACE_FMAL@
+REPLACE_FMOD = @REPLACE_FMOD@
+REPLACE_FMODF = @REPLACE_FMODF@
+REPLACE_FMODL = @REPLACE_FMODL@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
REPLACE_FREXP = @REPLACE_FREXP@
+REPLACE_FREXPF = @REPLACE_FREXPF@
REPLACE_FREXPL = @REPLACE_FREXPL@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
@@ -1893,6 +2574,7 @@ REPLACE_FSTAT = @REPLACE_FSTAT@
REPLACE_FSTATAT = @REPLACE_FSTATAT@
REPLACE_FTELL = @REPLACE_FTELL@
REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
@@ -1903,16 +2585,39 @@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
+REPLACE_HYPOT = @REPLACE_HYPOT@
+REPLACE_HYPOTF = @REPLACE_HYPOTF@
+REPLACE_HYPOTL = @REPLACE_HYPOTL@
+REPLACE_ILOGB = @REPLACE_ILOGB@
+REPLACE_ILOGBF = @REPLACE_ILOGBF@
+REPLACE_ISATTY = @REPLACE_ISATTY@
REPLACE_ISFINITE = @REPLACE_ISFINITE@
REPLACE_ISINF = @REPLACE_ISINF@
REPLACE_ISNAN = @REPLACE_ISNAN@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
+REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LDEXPL = @REPLACE_LDEXPL@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOG = @REPLACE_LOG@
+REPLACE_LOG10 = @REPLACE_LOG10@
+REPLACE_LOG10F = @REPLACE_LOG10F@
+REPLACE_LOG10L = @REPLACE_LOG10L@
+REPLACE_LOG1P = @REPLACE_LOG1P@
+REPLACE_LOG1PF = @REPLACE_LOG1PF@
+REPLACE_LOG1PL = @REPLACE_LOG1PL@
+REPLACE_LOG2 = @REPLACE_LOG2@
+REPLACE_LOG2F = @REPLACE_LOG2F@
+REPLACE_LOG2L = @REPLACE_LOG2L@
+REPLACE_LOGB = @REPLACE_LOGB@
+REPLACE_LOGBF = @REPLACE_LOGBF@
+REPLACE_LOGBL = @REPLACE_LOGBL@
+REPLACE_LOGF = @REPLACE_LOGF@
+REPLACE_LOGL = @REPLACE_LOGL@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC = @REPLACE_MALLOC@
@@ -1930,6 +2635,9 @@ REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_MODF = @REPLACE_MODF@
+REPLACE_MODFF = @REPLACE_MODFF@
+REPLACE_MODFL = @REPLACE_MODFL@
REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
@@ -1937,16 +2645,29 @@ REPLACE_NULL = @REPLACE_NULL@
REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
REPLACE_OPEN = @REPLACE_OPEN@
REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_OPENDIR = @REPLACE_OPENDIR@
REPLACE_PERROR = @REPLACE_PERROR@
REPLACE_POPEN = @REPLACE_POPEN@
REPLACE_POSIX_SPAWN = @REPLACE_POSIX_SPAWN@
+REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@
+REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@
+REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN = @REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
REPLACE_PUTENV = @REPLACE_PUTENV@
REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_RAISE = @REPLACE_RAISE@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMAINDER = @REPLACE_REMAINDER@
+REPLACE_REMAINDERF = @REPLACE_REMAINDERF@
+REPLACE_REMAINDERL = @REPLACE_REMAINDERL@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
@@ -1961,10 +2682,13 @@ REPLACE_SIGNBIT_USING_GCC = @REPLACE_SIGNBIT_USING_GCC@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_SQRTL = @REPLACE_SQRTL@
REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
@@ -1974,10 +2698,14 @@ REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
REPLACE_TRUNC = @REPLACE_TRUNC@
REPLACE_TRUNCF = @REPLACE_TRUNCF@
REPLACE_TRUNCL = @REPLACE_TRUNCL@
@@ -2013,6 +2741,8 @@ STDINT_H = @STDINT_H@
STRIP = @STRIP@
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+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@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
@@ -2020,6 +2750,8 @@ VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
+WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
@@ -2074,7 +2806,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.5 foreign
+AUTOMAKE_OPTIONS = 1.9.6 foreign
SUBDIRS = .
TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
@@ -2092,45 +2824,59 @@ TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
noinst_HEADERS =
noinst_LIBRARIES =
check_LIBRARIES = libtests.a
-EXTRA_DIST = test-alloca-opt.c $(top_srcdir)/build-aux/arg-nonnull.h \
- test-array_list.c macros.h test-array_oset.c macros.h \
- test-avltree_oset.c macros.h test-binary-io.sh \
- test-binary-io.c macros.h test-btowc1.sh test-btowc2.sh \
- test-btowc.c signature.h macros.h \
- $(top_srcdir)/build-aux/c++defs.h test-c-ctype.c macros.h \
- test-c-stack.c test-c-stack.sh test-c-stack2.sh macros.h \
- test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c \
- macros.h test-canonicalize-lgpl.c signature.h macros.h \
- test-cloexec.c macros.h test-closein.sh test-closein.c \
- test-dirname.c test-dup2.c signature.h macros.h test-environ.c \
- test-errno.c test-fcntl-h-c++.cc signature.h test-fcntl-h.c \
- test-fcntl.c signature.h macros.h test-fflush.c \
+EXTRA_DIST = test-alloca-opt.c test-array_list.c macros.h \
+ test-array_oset.c macros.h test-avltree_oset.c macros.h \
+ test-binary-io.sh test-binary-io.c macros.h test-btowc1.sh \
+ test-btowc2.sh test-btowc.c signature.h macros.h \
+ test-c-ctype.c macros.h test-c-stack.c test-c-stack.sh \
+ test-c-stack2.sh macros.h test-c-strcase.sh \
+ test-c-strcasecmp.c test-c-strncasecmp.c macros.h \
+ test-canonicalize-lgpl.c signature.h macros.h test-chdir.c \
+ signature.h macros.h test-cloexec.c macros.h test-close.c \
+ signature.h macros.h closedir.c dirent-private.h \
+ test-closein.sh test-closein.c dirent.in.h test-dirent-c++.cc \
+ signature.h test-dirent.c test-dirname.c dup.c test-dup.c \
+ signature.h macros.h test-dup2.c signature.h macros.h \
+ test-environ.c test-errno.c test-fclose.c test-fcntl-h-c++.cc \
+ signature.h test-fcntl-h.c test-fcntl.c signature.h macros.h \
+ fdopen.c test-fdopen.c signature.h macros.h test-fflush.c \
test-fflush2.sh test-fflush2.c signature.h macros.h \
- test-filenamecat.c test-fopen.h test-fopen-safer.c macros.h \
- test-fopen.h test-fopen.c signature.h macros.h test-fpending.c \
- test-fpending.sh macros.h test-fpurge.c macros.h \
- test-freadahead.c test-freadahead.sh macros.h test-freading.c \
- macros.h test-frexp.c minus-zero.h nan.h signature.h macros.h \
- test-frexpl.c minus-zero.h nan.h signature.h macros.h \
- test-fseeko.c test-fseeko.sh test-fseeko2.sh signature.h \
- macros.h ftell.c test-ftell.c test-ftell.sh test-ftell2.sh \
- test-ftell3.c signature.h macros.h test-ftello.c \
- test-ftello.sh test-ftello2.sh test-ftello3.c signature.h \
- macros.h test-getdtablesize.c signature.h macros.h macros.h \
- signature.h test-getopt.c test-getopt.h test-getopt_long.h \
- getpagesize.c signature.h test-gettimeofday.c \
- test-ignore-value.c test-isnand-nolibm.c test-isnand.h \
- minus-zero.h nan.h macros.h test-isnanf-nolibm.c test-isnanf.h \
- minus-zero.h nan.h macros.h test-isnanl-nolibm.c test-isnanl.h \
- minus-zero.h nan.h macros.h test-langinfo-c++.cc signature.h \
+ test-fgetc.c signature.h macros.h filename.h \
+ test-filenamecat.c test-float.c macros.h test-fopen.h \
+ test-fopen-safer.c macros.h test-fopen.h test-fopen.c \
+ signature.h macros.h test-fpending.c test-fpending.sh macros.h \
+ test-fpurge.c macros.h test-fputc.c signature.h macros.h \
+ test-fread.c signature.h macros.h test-freadahead.c \
+ test-freadahead.sh macros.h test-freading.c macros.h \
+ test-frexp.c test-frexp.h minus-zero.h infinity.h nan.h \
+ signature.h macros.h randomd.c test-frexpl.c test-frexp.h \
+ minus-zero.h infinity.h nan.h signature.h macros.h randoml.c \
+ test-fseek.c test-fseek.sh test-fseek2.sh signature.h macros.h \
+ test-fseeko.c test-fseeko.sh test-fseeko2.sh test-fseeko3.c \
+ test-fseeko3.sh test-fseeko4.c test-fseeko4.sh signature.h \
+ macros.h test-fstat.c signature.h macros.h test-ftell.c \
+ test-ftell.sh test-ftell2.sh test-ftell3.c signature.h \
+ macros.h test-ftello.c test-ftello.sh test-ftello2.sh \
+ test-ftello3.c test-ftello4.c test-ftello4.sh signature.h \
+ macros.h test-fwrite.c signature.h macros.h getcwd-lgpl.c \
+ test-getcwd-lgpl.c signature.h macros.h test-getdtablesize.c \
+ signature.h macros.h macros.h signature.h test-getopt.c \
+ test-getopt.h test-getopt_long.h getpagesize.c signature.h \
+ test-gettimeofday.c test-ignore-value.c test-intprops.c \
+ macros.h inttypes.in.h test-inttypes.c test-isnand-nolibm.c \
+ test-isnand.h minus-zero.h infinity.h nan.h macros.h \
+ test-isnanf-nolibm.c test-isnanf.h minus-zero.h infinity.h \
+ nan.h macros.h test-isnanl-nolibm.c test-isnanl.h minus-zero.h \
+ infinity.h nan.h macros.h test-langinfo-c++.cc signature.h \
test-langinfo.c link.c test-link.h test-link.c signature.h \
- macros.h test-linkedhash_list.c macros.h locale.in.h \
- test-locale-c++.cc test-locale-c++2.cc signature.h \
- test-locale.c localename.h test-localename.c macros.h \
- test-lseek.c test-lseek.sh signature.h macros.h test-lstat.h \
- test-lstat.c signature.h macros.h test-malloc-gnu.c \
- test-malloca.c test-math-c++.cc test-math-c++2.cc signature.h \
- test-math.c test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh \
+ macros.h test-linkedhash_list.c macros.h test-locale-c++.cc \
+ test-locale-c++2.cc signature.h test-locale.c \
+ test-localeconv.c signature.h macros.h localename.h \
+ test-localename.c macros.h test-lseek.c test-lseek.sh \
+ signature.h macros.h test-lstat.h test-lstat.c signature.h \
+ macros.h test-malloc-gnu.c test-malloca.c test-math-c++.cc \
+ test-math-c++2.cc signature.h test-math.c macros.h \
+ test-mbrtowc1.sh test-mbrtowc2.sh test-mbrtowc3.sh \
test-mbrtowc4.sh test-mbrtowc.c test-mbrtowc-w32-1.sh \
test-mbrtowc-w32-2.sh test-mbrtowc-w32-3.sh \
test-mbrtowc-w32-4.sh test-mbrtowc-w32-5.sh test-mbrtowc-w32.c \
@@ -2138,53 +2884,66 @@ EXTRA_DIST = test-alloca-opt.c $(top_srcdir)/build-aux/arg-nonnull.h \
signature.h macros.h test-memchr.c zerosize-ptr.h signature.h \
macros.h test-memchr2.c zerosize-ptr.h macros.h \
test-nl_langinfo.sh test-nl_langinfo.c signature.h macros.h \
- test-open.h test-open.c signature.h macros.h test-pipe2.c \
- signature.h macros.h test-posix_spawn1.c \
- test-posix_spawn1.in.sh test-posix_spawn2.c \
- test-posix_spawn2.in.sh signature.h test-printf-frexp.c \
- macros.h test-printf-frexpl.c macros.h putenv.c \
- test-quotearg-simple.c test-quotearg.h macros.h \
+ test-open.h test-open.c signature.h macros.h dirent-private.h \
+ opendir.c test-pathmax.c test-pipe2.c signature.h macros.h \
+ test-posix_spawn_file_actions_addclose.c signature.h macros.h \
+ test-posix_spawn_file_actions_adddup2.c signature.h macros.h \
+ test-posix_spawn_file_actions_addopen.c signature.h macros.h \
+ test-posix_spawn1.c test-posix_spawn1.in.sh \
+ test-posix_spawn2.c test-posix_spawn2.in.sh signature.h \
+ test-printf-frexp.c macros.h test-printf-frexpl.c macros.h \
+ putenv.c test-quotearg-simple.c test-quotearg.h macros.h \
+ zerosize-ptr.h test-raise.c signature.h macros.h \
test-rawmemchr.c zerosize-ptr.h signature.h macros.h \
- test-readlink.h test-readlink.c signature.h macros.h \
- test-rename.h test-rename.c signature.h macros.h test-rmdir.h \
- test-rmdir.c signature.h macros.h test-sched.c setenv.c \
- test-setenv.c signature.h macros.h setlocale.c \
- test-setlocale1.sh test-setlocale1.c test-setlocale2.sh \
- test-setlocale2.c signature.h macros.h test-sigaction.c \
- signature.h macros.h test-signal-c++.cc test-signal-c++2.cc \
- signature.h test-signal.c test-signbit.c minus-zero.h macros.h \
- test-snprintf.c signature.h macros.h test-spawn-c++.cc \
- signature.h test-spawn-pipe.sh test-spawn-pipe.c macros.h \
- test-spawn.c test-stat.h test-stat.c signature.h macros.h \
- test-stdbool.c test-stddef.c test-stdint.c test-stdio-c++.cc \
- test-stdio-c++2.cc signature.h test-stdio.c test-stdlib-c++.cc \
- test-stdlib-c++2.cc signature.h test-stdlib.c test-sys_wait.h \
- test-strchrnul.c signature.h macros.h strdup.c test-strerror.c \
- signature.h macros.h test-string-c++.cc test-string-c++2.cc \
- signature.h test-string.c test-strnlen.c zerosize-ptr.h \
- signature.h macros.h test-strsignal.c signature.h macros.h \
- test-strstr.c zerosize-ptr.h signature.h macros.h \
- test-strtod.c signature.h minus-zero.h macros.h symlink.c \
- test-symlink.h test-symlink.c signature.h macros.h \
- test-sys_stat-c++.cc signature.h test-sys_stat.c \
- test-sys_time-c++.cc signature.h test-sys_time.c \
+ dirent-private.h readdir.c test-readlink.h test-readlink.c \
+ signature.h macros.h test-regex.c macros.h test-rename.h \
+ test-rename.c signature.h macros.h test-rmdir.h test-rmdir.c \
+ signature.h macros.h test-sched.c setenv.c test-setenv.c \
+ signature.h macros.h setlocale.c test-setlocale1.sh \
+ test-setlocale1.c test-setlocale2.sh test-setlocale2.c \
+ signature.h macros.h test-sigaction.c signature.h macros.h \
+ test-signal-h-c++.cc test-signal-h-c++2.cc signature.h \
+ test-signal-h.c test-signbit.c minus-zero.h infinity.h \
+ macros.h test-sigpipe.c test-sigpipe.sh test-sigprocmask.c \
+ signature.h macros.h sleep.c test-sleep.c signature.h macros.h \
+ $(top_srcdir)/build-aux/snippet/_Noreturn.h \
+ $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ $(top_srcdir)/build-aux/snippet/c++defs.h \
+ $(top_srcdir)/build-aux/snippet/unused-parameter.h \
+ $(top_srcdir)/build-aux/snippet/warn-on-use.h test-snprintf.c \
+ signature.h macros.h test-spawn-c++.cc signature.h \
+ test-spawn-pipe.sh test-spawn-pipe-main.c \
+ test-spawn-pipe-child.c macros.h test-spawn.c test-stat.h \
+ test-stat.c signature.h macros.h test-stdbool.c test-stddef.c \
+ test-stdint.c test-stdio-c++.cc test-stdio-c++2.cc signature.h \
+ test-stdio.c test-stdlib-c++.cc test-stdlib-c++2.cc \
+ signature.h test-stdlib.c test-sys_wait.h test-strchrnul.c \
+ signature.h macros.h strdup.c test-strerror.c signature.h \
+ macros.h test-string-c++.cc test-string-c++2.cc signature.h \
+ test-string.c test-strnlen.c zerosize-ptr.h signature.h \
+ macros.h test-strsignal.c signature.h macros.h test-strstr.c \
+ zerosize-ptr.h signature.h macros.h test-strtod.c signature.h \
+ minus-zero.h macros.h symlink.c test-symlink.h test-symlink.c \
+ signature.h macros.h test-sys_stat-c++.cc signature.h \
+ test-sys_stat.c test-sys_time-c++.cc signature.h \
+ test-sys_time.c test-sys_types-c++.cc test-sys_types.c \
test-sys_wait-c++.cc signature.h test-sys_wait.c \
- test-sys_wait.h test-time-c++.cc test-time-c++2.cc signature.h \
- test-time.c test-unistd-c++.cc signature.h test-dup-safer.c \
- macros.h test-unistd.c unsetenv.c test-unsetenv.c signature.h \
- macros.h test-update-copyright.sh test-vasnprintf.c macros.h \
- test-vasprintf-posix.c minus-zero.h nan.h macros.h \
- test-vasprintf.c signature.h macros.h \
- test-vc-list-files-git.sh test-vc-list-files-cvs.sh init.sh \
- test-verify.c test-verify.sh init.sh test-version-etc.c \
- test-version-etc.sh $(top_srcdir)/build-aux/warn-on-use.h \
- test-wchar-c++.cc signature.h test-wchar.c test-wcrtomb.sh \
- test-wcrtomb.c test-wcrtomb-w32-1.sh test-wcrtomb-w32-2.sh \
- test-wcrtomb-w32-3.sh test-wcrtomb-w32-4.sh \
- test-wcrtomb-w32-5.sh test-wcrtomb-w32.c signature.h macros.h \
- wctob.c wctomb-impl.h wctomb.c test-wctype-h-c++.cc \
- signature.h test-wctype-h.c macros.h test-xalloc-die.c \
- test-xalloc-die.sh init.sh test-xvasprintf.c macros.h
+ test-sys_wait.h init.sh test-init.sh test-time-c++.cc \
+ test-time-c++2.cc signature.h test-time.c test-unistd-c++.cc \
+ signature.h test-dup-safer.c macros.h test-unistd.c unsetenv.c \
+ test-unsetenv.c signature.h macros.h test-update-copyright.sh \
+ test-vasnprintf.c macros.h test-vasprintf-posix.c minus-zero.h \
+ infinity.h nan.h macros.h test-vasprintf.c signature.h \
+ macros.h test-vc-list-files-git.sh test-vc-list-files-cvs.sh \
+ test-verify.c test-verify.sh test-version-etc.c \
+ test-version-etc.sh test-wchar-c++.cc signature.h test-wchar.c \
+ test-wcrtomb.sh test-wcrtomb.c test-wcrtomb-w32-1.sh \
+ test-wcrtomb-w32-2.sh test-wcrtomb-w32-3.sh \
+ test-wcrtomb-w32-4.sh test-wcrtomb-w32-5.sh test-wcrtomb-w32.c \
+ signature.h macros.h wctob.c wctomb-impl.h wctomb.c \
+ test-wctype-h-c++.cc signature.h test-wctype-h.c macros.h \
+ write.c test-write.c signature.h macros.h test-xalloc-die.c \
+ test-xalloc-die.sh test-xvasprintf.c macros.h
# The BUILT_SOURCES created by this Makefile snippet are not used via #include
# statements but through direct file reference. Therefore this snippet must be
@@ -2195,14 +2954,20 @@ EXTRA_DIST = test-alloca-opt.c $(top_srcdir)/build-aux/arg-nonnull.h \
# statements but through direct file reference. Therefore this snippet must be
# present in all Makefile.am that need it. This is ensured by the applicability
# 'all' defined above.
-BUILT_SOURCES = arg-nonnull.h c++defs.h locale.h $(am__append_11) \
- warn-on-use.h
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+BUILT_SOURCES = dirent.h inttypes.h $(am__append_13) arg-nonnull.h \
+ c++defs.h unused-parameter.h warn-on-use.h
SUFFIXES =
-MOSTLYCLEANFILES = core *.stackdump arg-nonnull.h arg-nonnull.h-t \
- c++defs.h c++defs.h-t t-c-stack.tmp t-c-stack2.tmp \
- test-fflush.txt test-fpending.t t-fpurge.tmp t-freading.tmp \
- t-ftell3.tmp t-ftello3.tmp locale.h locale.h-t \
- $(am__append_12) warn-on-use.h warn-on-use.h-t
+MOSTLYCLEANFILES = core *.stackdump t-c-stack.tmp t-c-stack2.tmp \
+ dirent.h dirent.h-t test-fflush.txt test-fpending.t \
+ t-fpurge.tmp t-freading.tmp t-ftell3.tmp t-ftello3.tmp \
+ inttypes.h inttypes.h-t $(am__append_14) arg-nonnull.h \
+ arg-nonnull.h-t c++defs.h c++defs.h-t unused-parameter.h \
+ unused-parameter.h-t warn-on-use.h warn-on-use.h-t
MOSTLYCLEANDIRS =
CLEANFILES =
DISTCLEANFILES =
@@ -2215,36 +2980,55 @@ AM_CPPFLAGS = \
LDADD = libtests.a ../lib/libm4.a libtests.a $(LIBTESTS_LIBDEPS)
libtests_a_SOURCES = gl_array_list.h gl_array_list.c gl_array_oset.h \
- gl_array_oset.c c-strcase.h c-strcasecmp.c c-strncasecmp.c \
- localename.c
+ gl_array_oset.c localename.c
libtests_a_LIBADD = $(M4tests_LIBOBJS)
libtests_a_DEPENDENCIES = $(M4tests_LIBOBJS)
-EXTRA_libtests_a_SOURCES = ftell.c getpagesize.c link.c putenv.c \
- setenv.c setlocale.c strdup.c symlink.c unsetenv.c wctob.c \
- wctomb.c
+EXTRA_libtests_a_SOURCES = closedir.c dup.c fdopen.c getcwd-lgpl.c \
+ getpagesize.c link.c opendir.c putenv.c readdir.c setenv.c \
+ setlocale.c sleep.c strdup.c symlink.c unsetenv.c wctob.c \
+ wctomb.c write.c
AM_LIBTOOLFLAGS = --preserve-dup-deps
-ARG_NONNULL_H = arg-nonnull.h
test_array_oset_LDADD = $(LDADD) @LIBINTL@
-CXXDEFS_H = c++defs.h
test_c_stack_LDADD = $(LDADD) $(LIBCSTACK) @LIBINTL@
test_closein_LDADD = $(LDADD) @LIBINTL@
+@ANSICXX_TRUE@test_dirent_c___SOURCES = test-dirent-c++.cc
+@ANSICXX_TRUE@test_dirent_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP)
test_dirname_LDADD = $(LDADD) @LIBINTL@
@ANSICXX_TRUE@test_fcntl_h_c___SOURCES = test-fcntl-h-c++.cc
@ANSICXX_TRUE@test_fcntl_h_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIBSOCKET)
test_filenamecat_LDADD = $(LDADD) @LIBINTL@
-test_frexp_nolibm_SOURCES = test-frexp.c
-test_frexpl_nolibm_SOURCES = test-frexpl.c
+test_frexp_nolibm_SOURCES = test-frexp.c randomd.c
+test_frexpl_nolibm_SOURCES = test-frexpl.c randoml.c
+test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL)
test_getopt_LDADD = $(LDADD) $(LIBINTL)
@ANSICXX_TRUE@test_langinfo_c___SOURCES = test-langinfo-c++.cc
@ANSICXX_TRUE@test_locale_c___SOURCES = test-locale-c++.cc test-locale-c++2.cc
-test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@
+test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
@ANSICXX_TRUE@test_math_c___SOURCES = test-math-c++.cc test-math-c++2.cc
+# These link dependencies are needed on IRIX 6.5 with cc.
+@ANSICXX_TRUE@test_math_c___LDADD = $(LDADD) $(COPYSIGNL_LIBM) $(RINT_LIBM) $(RINTL_LIBM)
+test_pipe2_LDADD = $(LDADD) $(LIBSOCKET)
test_quotearg_simple_LDADD = $(LDADD) @LIBINTL@
-@ANSICXX_TRUE@test_signal_c___SOURCES = test-signal-c++.cc test-signal-c++2.cc
-@ANSICXX_TRUE@test_signal_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP)
+test_regex_LDADD = $(LDADD) @LIBINTL@
+@ANSICXX_TRUE@test_signal_h_c___SOURCES = test-signal-h-c++.cc test-signal-h-c++2.cc
+@ANSICXX_TRUE@test_signal_h_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP) $(LIB_PTHREAD_SIGMASK)
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all Makefile.am that
+# need it. This is ensured by the applicability 'all' defined above.
+_NORETURN_H = $(top_srcdir)/build-aux/snippet/_Noreturn.h
+ARG_NONNULL_H = arg-nonnull.h
+CXXDEFS_H = c++defs.h
+UNUSED_PARAMETER_H = unused-parameter.h
+WARN_ON_USE_H = warn-on-use.h
@ANSICXX_TRUE@test_spawn_c___SOURCES = test-spawn-c++.cc
@ANSICXX_TRUE@test_spawn_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP)
-test_spawn_pipe_LDADD = $(LDADD) @LIBINTL@
+test_spawn_pipe_main_LDADD = $(LDADD) @LIBINTL@
+# The test-spawn-pipe-child program must be a real executable, not a libtool
+# wrapper script, and should link against as few libraries as possible.
+# Therefore don't link it against any libraries other than -lc.
+test_spawn_pipe_child_LDADD =
+test_stat_LDADD = $(LDADD) $(LIBINTL)
@ANSICXX_TRUE@test_stdio_c___SOURCES = test-stdio-c++.cc test-stdio-c++2.cc
@ANSICXX_TRUE@test_stdio_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP) $(LIB_EACCESS)
@ANSICXX_TRUE@test_stdlib_c___SOURCES = test-stdlib-c++.cc test-stdlib-c++2.cc
@@ -2256,13 +3040,13 @@ test_strsignal_LDADD = $(LDADD) @LIBINTL@ $(LIBTHREAD)
@ANSICXX_TRUE@test_sys_stat_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_CLOCK_GETTIME)
@ANSICXX_TRUE@test_sys_time_c___SOURCES = test-sys_time-c++.cc
@ANSICXX_TRUE@test_sys_time_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP)
+@ANSICXX_TRUE@test_sys_types_c___SOURCES = test-sys_types-c++.cc
@ANSICXX_TRUE@test_sys_wait_c___SOURCES = test-sys_wait-c++.cc
@ANSICXX_TRUE@test_time_c___SOURCES = test-time-c++.cc test-time-c++2.cc
@ANSICXX_TRUE@test_time_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP)
@ANSICXX_TRUE@test_unistd_c___SOURCES = test-unistd-c++.cc
@ANSICXX_TRUE@test_unistd_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIBSOCKET)
test_version_etc_LDADD = $(LDADD) @LIBINTL@
-WARN_ON_USE_H = warn-on-use.h
@ANSICXX_TRUE@test_wchar_c___SOURCES = test-wchar-c++.cc
@ANSICXX_TRUE@test_wchar_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP) $(LIB_EACCESS)
@ANSICXX_TRUE@test_wctype_h_c___SOURCES = test-wctype-h-c++.cc
@@ -2273,7 +3057,7 @@ all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
-.SUFFIXES: .c .cc .html .log .o .obj .test .test$(EXEEXT)
+.SUFFIXES: .c .cc .log .o .obj .test .test$(EXEEXT) .trs
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -2295,6 +3079,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(srcdir)/gnulib.mk:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -2310,7 +3095,8 @@ clean-checkLIBRARIES:
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES)
+
+libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) $(EXTRA_libtests_a_DEPENDENCIES)
$(AM_V_at)-rm -f libtests.a
$(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
$(AM_V_at)$(RANLIB) libtests.a
@@ -2320,385 +3106,648 @@ clean-checkPROGRAMS:
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES)
+
+test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES) $(EXTRA_test_alloca_opt_DEPENDENCIES)
@rm -f test-alloca-opt$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS)
-test-array_list$(EXEEXT): $(test_array_list_OBJECTS) $(test_array_list_DEPENDENCIES)
+
+test-array_list$(EXEEXT): $(test_array_list_OBJECTS) $(test_array_list_DEPENDENCIES) $(EXTRA_test_array_list_DEPENDENCIES)
@rm -f test-array_list$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_array_list_OBJECTS) $(test_array_list_LDADD) $(LIBS)
-test-array_oset$(EXEEXT): $(test_array_oset_OBJECTS) $(test_array_oset_DEPENDENCIES)
+
+test-array_oset$(EXEEXT): $(test_array_oset_OBJECTS) $(test_array_oset_DEPENDENCIES) $(EXTRA_test_array_oset_DEPENDENCIES)
@rm -f test-array_oset$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_array_oset_OBJECTS) $(test_array_oset_LDADD) $(LIBS)
-test-avltree_oset$(EXEEXT): $(test_avltree_oset_OBJECTS) $(test_avltree_oset_DEPENDENCIES)
+
+test-avltree_oset$(EXEEXT): $(test_avltree_oset_OBJECTS) $(test_avltree_oset_DEPENDENCIES) $(EXTRA_test_avltree_oset_DEPENDENCIES)
@rm -f test-avltree_oset$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_avltree_oset_OBJECTS) $(test_avltree_oset_LDADD) $(LIBS)
-test-binary-io$(EXEEXT): $(test_binary_io_OBJECTS) $(test_binary_io_DEPENDENCIES)
+
+test-binary-io$(EXEEXT): $(test_binary_io_OBJECTS) $(test_binary_io_DEPENDENCIES) $(EXTRA_test_binary_io_DEPENDENCIES)
@rm -f test-binary-io$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_binary_io_OBJECTS) $(test_binary_io_LDADD) $(LIBS)
-test-btowc$(EXEEXT): $(test_btowc_OBJECTS) $(test_btowc_DEPENDENCIES)
+
+test-btowc$(EXEEXT): $(test_btowc_OBJECTS) $(test_btowc_DEPENDENCIES) $(EXTRA_test_btowc_DEPENDENCIES)
@rm -f test-btowc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_btowc_OBJECTS) $(test_btowc_LDADD) $(LIBS)
-test-c-ctype$(EXEEXT): $(test_c_ctype_OBJECTS) $(test_c_ctype_DEPENDENCIES)
+
+test-c-ctype$(EXEEXT): $(test_c_ctype_OBJECTS) $(test_c_ctype_DEPENDENCIES) $(EXTRA_test_c_ctype_DEPENDENCIES)
@rm -f test-c-ctype$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_c_ctype_OBJECTS) $(test_c_ctype_LDADD) $(LIBS)
-test-c-stack$(EXEEXT): $(test_c_stack_OBJECTS) $(test_c_stack_DEPENDENCIES)
+
+test-c-stack$(EXEEXT): $(test_c_stack_OBJECTS) $(test_c_stack_DEPENDENCIES) $(EXTRA_test_c_stack_DEPENDENCIES)
@rm -f test-c-stack$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_c_stack_OBJECTS) $(test_c_stack_LDADD) $(LIBS)
-test-c-strcasecmp$(EXEEXT): $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_DEPENDENCIES)
+
+test-c-strcasecmp$(EXEEXT): $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_DEPENDENCIES) $(EXTRA_test_c_strcasecmp_DEPENDENCIES)
@rm -f test-c-strcasecmp$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_LDADD) $(LIBS)
-test-c-strncasecmp$(EXEEXT): $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_DEPENDENCIES)
+
+test-c-strncasecmp$(EXEEXT): $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_DEPENDENCIES) $(EXTRA_test_c_strncasecmp_DEPENDENCIES)
@rm -f test-c-strncasecmp$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_LDADD) $(LIBS)
-test-canonicalize-lgpl$(EXEEXT): $(test_canonicalize_lgpl_OBJECTS) $(test_canonicalize_lgpl_DEPENDENCIES)
+
+test-canonicalize-lgpl$(EXEEXT): $(test_canonicalize_lgpl_OBJECTS) $(test_canonicalize_lgpl_DEPENDENCIES) $(EXTRA_test_canonicalize_lgpl_DEPENDENCIES)
@rm -f test-canonicalize-lgpl$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_canonicalize_lgpl_OBJECTS) $(test_canonicalize_lgpl_LDADD) $(LIBS)
-test-cloexec$(EXEEXT): $(test_cloexec_OBJECTS) $(test_cloexec_DEPENDENCIES)
+
+test-chdir$(EXEEXT): $(test_chdir_OBJECTS) $(test_chdir_DEPENDENCIES) $(EXTRA_test_chdir_DEPENDENCIES)
+ @rm -f test-chdir$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_chdir_OBJECTS) $(test_chdir_LDADD) $(LIBS)
+
+test-cloexec$(EXEEXT): $(test_cloexec_OBJECTS) $(test_cloexec_DEPENDENCIES) $(EXTRA_test_cloexec_DEPENDENCIES)
@rm -f test-cloexec$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_cloexec_OBJECTS) $(test_cloexec_LDADD) $(LIBS)
-test-closein$(EXEEXT): $(test_closein_OBJECTS) $(test_closein_DEPENDENCIES)
+
+test-close$(EXEEXT): $(test_close_OBJECTS) $(test_close_DEPENDENCIES) $(EXTRA_test_close_DEPENDENCIES)
+ @rm -f test-close$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_close_OBJECTS) $(test_close_LDADD) $(LIBS)
+
+test-closein$(EXEEXT): $(test_closein_OBJECTS) $(test_closein_DEPENDENCIES) $(EXTRA_test_closein_DEPENDENCIES)
@rm -f test-closein$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_closein_OBJECTS) $(test_closein_LDADD) $(LIBS)
-test-dirname$(EXEEXT): $(test_dirname_OBJECTS) $(test_dirname_DEPENDENCIES)
+
+test-dirent$(EXEEXT): $(test_dirent_OBJECTS) $(test_dirent_DEPENDENCIES) $(EXTRA_test_dirent_DEPENDENCIES)
+ @rm -f test-dirent$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_dirent_OBJECTS) $(test_dirent_LDADD) $(LIBS)
+
+test-dirent-c++$(EXEEXT): $(test_dirent_c___OBJECTS) $(test_dirent_c___DEPENDENCIES) $(EXTRA_test_dirent_c___DEPENDENCIES)
+ @rm -f test-dirent-c++$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(test_dirent_c___OBJECTS) $(test_dirent_c___LDADD) $(LIBS)
+
+test-dirname$(EXEEXT): $(test_dirname_OBJECTS) $(test_dirname_DEPENDENCIES) $(EXTRA_test_dirname_DEPENDENCIES)
@rm -f test-dirname$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_dirname_OBJECTS) $(test_dirname_LDADD) $(LIBS)
-test-dup-safer$(EXEEXT): $(test_dup_safer_OBJECTS) $(test_dup_safer_DEPENDENCIES)
+
+test-dup$(EXEEXT): $(test_dup_OBJECTS) $(test_dup_DEPENDENCIES) $(EXTRA_test_dup_DEPENDENCIES)
+ @rm -f test-dup$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_dup_OBJECTS) $(test_dup_LDADD) $(LIBS)
+
+test-dup-safer$(EXEEXT): $(test_dup_safer_OBJECTS) $(test_dup_safer_DEPENDENCIES) $(EXTRA_test_dup_safer_DEPENDENCIES)
@rm -f test-dup-safer$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_dup_safer_OBJECTS) $(test_dup_safer_LDADD) $(LIBS)
-test-dup2$(EXEEXT): $(test_dup2_OBJECTS) $(test_dup2_DEPENDENCIES)
+
+test-dup2$(EXEEXT): $(test_dup2_OBJECTS) $(test_dup2_DEPENDENCIES) $(EXTRA_test_dup2_DEPENDENCIES)
@rm -f test-dup2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_dup2_OBJECTS) $(test_dup2_LDADD) $(LIBS)
-test-environ$(EXEEXT): $(test_environ_OBJECTS) $(test_environ_DEPENDENCIES)
+
+test-environ$(EXEEXT): $(test_environ_OBJECTS) $(test_environ_DEPENDENCIES) $(EXTRA_test_environ_DEPENDENCIES)
@rm -f test-environ$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_environ_OBJECTS) $(test_environ_LDADD) $(LIBS)
-test-errno$(EXEEXT): $(test_errno_OBJECTS) $(test_errno_DEPENDENCIES)
+
+test-errno$(EXEEXT): $(test_errno_OBJECTS) $(test_errno_DEPENDENCIES) $(EXTRA_test_errno_DEPENDENCIES)
@rm -f test-errno$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS)
-test-fcntl$(EXEEXT): $(test_fcntl_OBJECTS) $(test_fcntl_DEPENDENCIES)
+
+test-fclose$(EXEEXT): $(test_fclose_OBJECTS) $(test_fclose_DEPENDENCIES) $(EXTRA_test_fclose_DEPENDENCIES)
+ @rm -f test-fclose$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fclose_OBJECTS) $(test_fclose_LDADD) $(LIBS)
+
+test-fcntl$(EXEEXT): $(test_fcntl_OBJECTS) $(test_fcntl_DEPENDENCIES) $(EXTRA_test_fcntl_DEPENDENCIES)
@rm -f test-fcntl$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fcntl_OBJECTS) $(test_fcntl_LDADD) $(LIBS)
-test-fcntl-h$(EXEEXT): $(test_fcntl_h_OBJECTS) $(test_fcntl_h_DEPENDENCIES)
+
+test-fcntl-h$(EXEEXT): $(test_fcntl_h_OBJECTS) $(test_fcntl_h_DEPENDENCIES) $(EXTRA_test_fcntl_h_DEPENDENCIES)
@rm -f test-fcntl-h$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fcntl_h_OBJECTS) $(test_fcntl_h_LDADD) $(LIBS)
-test-fcntl-h-c++$(EXEEXT): $(test_fcntl_h_c___OBJECTS) $(test_fcntl_h_c___DEPENDENCIES)
+
+test-fcntl-h-c++$(EXEEXT): $(test_fcntl_h_c___OBJECTS) $(test_fcntl_h_c___DEPENDENCIES) $(EXTRA_test_fcntl_h_c___DEPENDENCIES)
@rm -f test-fcntl-h-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_fcntl_h_c___OBJECTS) $(test_fcntl_h_c___LDADD) $(LIBS)
-test-fflush$(EXEEXT): $(test_fflush_OBJECTS) $(test_fflush_DEPENDENCIES)
+
+test-fdopen$(EXEEXT): $(test_fdopen_OBJECTS) $(test_fdopen_DEPENDENCIES) $(EXTRA_test_fdopen_DEPENDENCIES)
+ @rm -f test-fdopen$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fdopen_OBJECTS) $(test_fdopen_LDADD) $(LIBS)
+
+test-fflush$(EXEEXT): $(test_fflush_OBJECTS) $(test_fflush_DEPENDENCIES) $(EXTRA_test_fflush_DEPENDENCIES)
@rm -f test-fflush$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fflush_OBJECTS) $(test_fflush_LDADD) $(LIBS)
-test-fflush2$(EXEEXT): $(test_fflush2_OBJECTS) $(test_fflush2_DEPENDENCIES)
+
+test-fflush2$(EXEEXT): $(test_fflush2_OBJECTS) $(test_fflush2_DEPENDENCIES) $(EXTRA_test_fflush2_DEPENDENCIES)
@rm -f test-fflush2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fflush2_OBJECTS) $(test_fflush2_LDADD) $(LIBS)
-test-filenamecat$(EXEEXT): $(test_filenamecat_OBJECTS) $(test_filenamecat_DEPENDENCIES)
+
+test-fgetc$(EXEEXT): $(test_fgetc_OBJECTS) $(test_fgetc_DEPENDENCIES) $(EXTRA_test_fgetc_DEPENDENCIES)
+ @rm -f test-fgetc$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fgetc_OBJECTS) $(test_fgetc_LDADD) $(LIBS)
+
+test-filenamecat$(EXEEXT): $(test_filenamecat_OBJECTS) $(test_filenamecat_DEPENDENCIES) $(EXTRA_test_filenamecat_DEPENDENCIES)
@rm -f test-filenamecat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_filenamecat_OBJECTS) $(test_filenamecat_LDADD) $(LIBS)
-test-fopen$(EXEEXT): $(test_fopen_OBJECTS) $(test_fopen_DEPENDENCIES)
+
+test-float$(EXEEXT): $(test_float_OBJECTS) $(test_float_DEPENDENCIES) $(EXTRA_test_float_DEPENDENCIES)
+ @rm -f test-float$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_float_OBJECTS) $(test_float_LDADD) $(LIBS)
+
+test-fopen$(EXEEXT): $(test_fopen_OBJECTS) $(test_fopen_DEPENDENCIES) $(EXTRA_test_fopen_DEPENDENCIES)
@rm -f test-fopen$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fopen_OBJECTS) $(test_fopen_LDADD) $(LIBS)
-test-fopen-safer$(EXEEXT): $(test_fopen_safer_OBJECTS) $(test_fopen_safer_DEPENDENCIES)
+
+test-fopen-safer$(EXEEXT): $(test_fopen_safer_OBJECTS) $(test_fopen_safer_DEPENDENCIES) $(EXTRA_test_fopen_safer_DEPENDENCIES)
@rm -f test-fopen-safer$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fopen_safer_OBJECTS) $(test_fopen_safer_LDADD) $(LIBS)
-test-fpending$(EXEEXT): $(test_fpending_OBJECTS) $(test_fpending_DEPENDENCIES)
+
+test-fpending$(EXEEXT): $(test_fpending_OBJECTS) $(test_fpending_DEPENDENCIES) $(EXTRA_test_fpending_DEPENDENCIES)
@rm -f test-fpending$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fpending_OBJECTS) $(test_fpending_LDADD) $(LIBS)
-test-fpurge$(EXEEXT): $(test_fpurge_OBJECTS) $(test_fpurge_DEPENDENCIES)
+
+test-fpurge$(EXEEXT): $(test_fpurge_OBJECTS) $(test_fpurge_DEPENDENCIES) $(EXTRA_test_fpurge_DEPENDENCIES)
@rm -f test-fpurge$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fpurge_OBJECTS) $(test_fpurge_LDADD) $(LIBS)
-test-freadahead$(EXEEXT): $(test_freadahead_OBJECTS) $(test_freadahead_DEPENDENCIES)
+
+test-fputc$(EXEEXT): $(test_fputc_OBJECTS) $(test_fputc_DEPENDENCIES) $(EXTRA_test_fputc_DEPENDENCIES)
+ @rm -f test-fputc$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fputc_OBJECTS) $(test_fputc_LDADD) $(LIBS)
+
+test-fread$(EXEEXT): $(test_fread_OBJECTS) $(test_fread_DEPENDENCIES) $(EXTRA_test_fread_DEPENDENCIES)
+ @rm -f test-fread$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fread_OBJECTS) $(test_fread_LDADD) $(LIBS)
+
+test-freadahead$(EXEEXT): $(test_freadahead_OBJECTS) $(test_freadahead_DEPENDENCIES) $(EXTRA_test_freadahead_DEPENDENCIES)
@rm -f test-freadahead$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_freadahead_OBJECTS) $(test_freadahead_LDADD) $(LIBS)
-test-freading$(EXEEXT): $(test_freading_OBJECTS) $(test_freading_DEPENDENCIES)
+
+test-freading$(EXEEXT): $(test_freading_OBJECTS) $(test_freading_DEPENDENCIES) $(EXTRA_test_freading_DEPENDENCIES)
@rm -f test-freading$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_freading_OBJECTS) $(test_freading_LDADD) $(LIBS)
-test-frexp-nolibm$(EXEEXT): $(test_frexp_nolibm_OBJECTS) $(test_frexp_nolibm_DEPENDENCIES)
+
+test-frexp-nolibm$(EXEEXT): $(test_frexp_nolibm_OBJECTS) $(test_frexp_nolibm_DEPENDENCIES) $(EXTRA_test_frexp_nolibm_DEPENDENCIES)
@rm -f test-frexp-nolibm$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_frexp_nolibm_OBJECTS) $(test_frexp_nolibm_LDADD) $(LIBS)
-test-frexpl-nolibm$(EXEEXT): $(test_frexpl_nolibm_OBJECTS) $(test_frexpl_nolibm_DEPENDENCIES)
+
+test-frexpl-nolibm$(EXEEXT): $(test_frexpl_nolibm_OBJECTS) $(test_frexpl_nolibm_DEPENDENCIES) $(EXTRA_test_frexpl_nolibm_DEPENDENCIES)
@rm -f test-frexpl-nolibm$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_frexpl_nolibm_OBJECTS) $(test_frexpl_nolibm_LDADD) $(LIBS)
-test-fseeko$(EXEEXT): $(test_fseeko_OBJECTS) $(test_fseeko_DEPENDENCIES)
+
+test-fseek$(EXEEXT): $(test_fseek_OBJECTS) $(test_fseek_DEPENDENCIES) $(EXTRA_test_fseek_DEPENDENCIES)
+ @rm -f test-fseek$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fseek_OBJECTS) $(test_fseek_LDADD) $(LIBS)
+
+test-fseeko$(EXEEXT): $(test_fseeko_OBJECTS) $(test_fseeko_DEPENDENCIES) $(EXTRA_test_fseeko_DEPENDENCIES)
@rm -f test-fseeko$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_fseeko_OBJECTS) $(test_fseeko_LDADD) $(LIBS)
-test-ftell$(EXEEXT): $(test_ftell_OBJECTS) $(test_ftell_DEPENDENCIES)
+
+test-fseeko3$(EXEEXT): $(test_fseeko3_OBJECTS) $(test_fseeko3_DEPENDENCIES) $(EXTRA_test_fseeko3_DEPENDENCIES)
+ @rm -f test-fseeko3$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fseeko3_OBJECTS) $(test_fseeko3_LDADD) $(LIBS)
+
+test-fseeko4$(EXEEXT): $(test_fseeko4_OBJECTS) $(test_fseeko4_DEPENDENCIES) $(EXTRA_test_fseeko4_DEPENDENCIES)
+ @rm -f test-fseeko4$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fseeko4_OBJECTS) $(test_fseeko4_LDADD) $(LIBS)
+
+test-fstat$(EXEEXT): $(test_fstat_OBJECTS) $(test_fstat_DEPENDENCIES) $(EXTRA_test_fstat_DEPENDENCIES)
+ @rm -f test-fstat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fstat_OBJECTS) $(test_fstat_LDADD) $(LIBS)
+
+test-ftell$(EXEEXT): $(test_ftell_OBJECTS) $(test_ftell_DEPENDENCIES) $(EXTRA_test_ftell_DEPENDENCIES)
@rm -f test-ftell$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_ftell_OBJECTS) $(test_ftell_LDADD) $(LIBS)
-test-ftell3$(EXEEXT): $(test_ftell3_OBJECTS) $(test_ftell3_DEPENDENCIES)
+
+test-ftell3$(EXEEXT): $(test_ftell3_OBJECTS) $(test_ftell3_DEPENDENCIES) $(EXTRA_test_ftell3_DEPENDENCIES)
@rm -f test-ftell3$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_ftell3_OBJECTS) $(test_ftell3_LDADD) $(LIBS)
-test-ftello$(EXEEXT): $(test_ftello_OBJECTS) $(test_ftello_DEPENDENCIES)
+
+test-ftello$(EXEEXT): $(test_ftello_OBJECTS) $(test_ftello_DEPENDENCIES) $(EXTRA_test_ftello_DEPENDENCIES)
@rm -f test-ftello$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_ftello_OBJECTS) $(test_ftello_LDADD) $(LIBS)
-test-ftello3$(EXEEXT): $(test_ftello3_OBJECTS) $(test_ftello3_DEPENDENCIES)
+
+test-ftello3$(EXEEXT): $(test_ftello3_OBJECTS) $(test_ftello3_DEPENDENCIES) $(EXTRA_test_ftello3_DEPENDENCIES)
@rm -f test-ftello3$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_ftello3_OBJECTS) $(test_ftello3_LDADD) $(LIBS)
-test-getdtablesize$(EXEEXT): $(test_getdtablesize_OBJECTS) $(test_getdtablesize_DEPENDENCIES)
+
+test-ftello4$(EXEEXT): $(test_ftello4_OBJECTS) $(test_ftello4_DEPENDENCIES) $(EXTRA_test_ftello4_DEPENDENCIES)
+ @rm -f test-ftello4$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_ftello4_OBJECTS) $(test_ftello4_LDADD) $(LIBS)
+
+test-fwrite$(EXEEXT): $(test_fwrite_OBJECTS) $(test_fwrite_DEPENDENCIES) $(EXTRA_test_fwrite_DEPENDENCIES)
+ @rm -f test-fwrite$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fwrite_OBJECTS) $(test_fwrite_LDADD) $(LIBS)
+
+test-getcwd-lgpl$(EXEEXT): $(test_getcwd_lgpl_OBJECTS) $(test_getcwd_lgpl_DEPENDENCIES) $(EXTRA_test_getcwd_lgpl_DEPENDENCIES)
+ @rm -f test-getcwd-lgpl$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_getcwd_lgpl_OBJECTS) $(test_getcwd_lgpl_LDADD) $(LIBS)
+
+test-getdtablesize$(EXEEXT): $(test_getdtablesize_OBJECTS) $(test_getdtablesize_DEPENDENCIES) $(EXTRA_test_getdtablesize_DEPENDENCIES)
@rm -f test-getdtablesize$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_getdtablesize_OBJECTS) $(test_getdtablesize_LDADD) $(LIBS)
-test-getopt$(EXEEXT): $(test_getopt_OBJECTS) $(test_getopt_DEPENDENCIES)
+
+test-getopt$(EXEEXT): $(test_getopt_OBJECTS) $(test_getopt_DEPENDENCIES) $(EXTRA_test_getopt_DEPENDENCIES)
@rm -f test-getopt$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_getopt_OBJECTS) $(test_getopt_LDADD) $(LIBS)
-test-gettimeofday$(EXEEXT): $(test_gettimeofday_OBJECTS) $(test_gettimeofday_DEPENDENCIES)
+
+test-gettimeofday$(EXEEXT): $(test_gettimeofday_OBJECTS) $(test_gettimeofday_DEPENDENCIES) $(EXTRA_test_gettimeofday_DEPENDENCIES)
@rm -f test-gettimeofday$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_gettimeofday_OBJECTS) $(test_gettimeofday_LDADD) $(LIBS)
-test-ignore-value$(EXEEXT): $(test_ignore_value_OBJECTS) $(test_ignore_value_DEPENDENCIES)
+
+test-ignore-value$(EXEEXT): $(test_ignore_value_OBJECTS) $(test_ignore_value_DEPENDENCIES) $(EXTRA_test_ignore_value_DEPENDENCIES)
@rm -f test-ignore-value$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_ignore_value_OBJECTS) $(test_ignore_value_LDADD) $(LIBS)
-test-isnand-nolibm$(EXEEXT): $(test_isnand_nolibm_OBJECTS) $(test_isnand_nolibm_DEPENDENCIES)
+
+test-intprops$(EXEEXT): $(test_intprops_OBJECTS) $(test_intprops_DEPENDENCIES) $(EXTRA_test_intprops_DEPENDENCIES)
+ @rm -f test-intprops$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_intprops_OBJECTS) $(test_intprops_LDADD) $(LIBS)
+
+test-inttypes$(EXEEXT): $(test_inttypes_OBJECTS) $(test_inttypes_DEPENDENCIES) $(EXTRA_test_inttypes_DEPENDENCIES)
+ @rm -f test-inttypes$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_inttypes_OBJECTS) $(test_inttypes_LDADD) $(LIBS)
+
+test-isnand-nolibm$(EXEEXT): $(test_isnand_nolibm_OBJECTS) $(test_isnand_nolibm_DEPENDENCIES) $(EXTRA_test_isnand_nolibm_DEPENDENCIES)
@rm -f test-isnand-nolibm$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_isnand_nolibm_OBJECTS) $(test_isnand_nolibm_LDADD) $(LIBS)
-test-isnanf-nolibm$(EXEEXT): $(test_isnanf_nolibm_OBJECTS) $(test_isnanf_nolibm_DEPENDENCIES)
+
+test-isnanf-nolibm$(EXEEXT): $(test_isnanf_nolibm_OBJECTS) $(test_isnanf_nolibm_DEPENDENCIES) $(EXTRA_test_isnanf_nolibm_DEPENDENCIES)
@rm -f test-isnanf-nolibm$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_isnanf_nolibm_OBJECTS) $(test_isnanf_nolibm_LDADD) $(LIBS)
-test-isnanl-nolibm$(EXEEXT): $(test_isnanl_nolibm_OBJECTS) $(test_isnanl_nolibm_DEPENDENCIES)
+
+test-isnanl-nolibm$(EXEEXT): $(test_isnanl_nolibm_OBJECTS) $(test_isnanl_nolibm_DEPENDENCIES) $(EXTRA_test_isnanl_nolibm_DEPENDENCIES)
@rm -f test-isnanl-nolibm$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_isnanl_nolibm_OBJECTS) $(test_isnanl_nolibm_LDADD) $(LIBS)
-test-langinfo$(EXEEXT): $(test_langinfo_OBJECTS) $(test_langinfo_DEPENDENCIES)
+
+test-langinfo$(EXEEXT): $(test_langinfo_OBJECTS) $(test_langinfo_DEPENDENCIES) $(EXTRA_test_langinfo_DEPENDENCIES)
@rm -f test-langinfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_langinfo_OBJECTS) $(test_langinfo_LDADD) $(LIBS)
-test-langinfo-c++$(EXEEXT): $(test_langinfo_c___OBJECTS) $(test_langinfo_c___DEPENDENCIES)
+
+test-langinfo-c++$(EXEEXT): $(test_langinfo_c___OBJECTS) $(test_langinfo_c___DEPENDENCIES) $(EXTRA_test_langinfo_c___DEPENDENCIES)
@rm -f test-langinfo-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_langinfo_c___OBJECTS) $(test_langinfo_c___LDADD) $(LIBS)
-test-link$(EXEEXT): $(test_link_OBJECTS) $(test_link_DEPENDENCIES)
+
+test-link$(EXEEXT): $(test_link_OBJECTS) $(test_link_DEPENDENCIES) $(EXTRA_test_link_DEPENDENCIES)
@rm -f test-link$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_link_OBJECTS) $(test_link_LDADD) $(LIBS)
-test-linkedhash_list$(EXEEXT): $(test_linkedhash_list_OBJECTS) $(test_linkedhash_list_DEPENDENCIES)
+
+test-linkedhash_list$(EXEEXT): $(test_linkedhash_list_OBJECTS) $(test_linkedhash_list_DEPENDENCIES) $(EXTRA_test_linkedhash_list_DEPENDENCIES)
@rm -f test-linkedhash_list$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_linkedhash_list_OBJECTS) $(test_linkedhash_list_LDADD) $(LIBS)
-test-locale$(EXEEXT): $(test_locale_OBJECTS) $(test_locale_DEPENDENCIES)
+
+test-locale$(EXEEXT): $(test_locale_OBJECTS) $(test_locale_DEPENDENCIES) $(EXTRA_test_locale_DEPENDENCIES)
@rm -f test-locale$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_locale_OBJECTS) $(test_locale_LDADD) $(LIBS)
-test-locale-c++$(EXEEXT): $(test_locale_c___OBJECTS) $(test_locale_c___DEPENDENCIES)
+
+test-locale-c++$(EXEEXT): $(test_locale_c___OBJECTS) $(test_locale_c___DEPENDENCIES) $(EXTRA_test_locale_c___DEPENDENCIES)
@rm -f test-locale-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_locale_c___OBJECTS) $(test_locale_c___LDADD) $(LIBS)
-test-localename$(EXEEXT): $(test_localename_OBJECTS) $(test_localename_DEPENDENCIES)
+
+test-localeconv$(EXEEXT): $(test_localeconv_OBJECTS) $(test_localeconv_DEPENDENCIES) $(EXTRA_test_localeconv_DEPENDENCIES)
+ @rm -f test-localeconv$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_localeconv_OBJECTS) $(test_localeconv_LDADD) $(LIBS)
+
+test-localename$(EXEEXT): $(test_localename_OBJECTS) $(test_localename_DEPENDENCIES) $(EXTRA_test_localename_DEPENDENCIES)
@rm -f test-localename$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_localename_OBJECTS) $(test_localename_LDADD) $(LIBS)
-test-lseek$(EXEEXT): $(test_lseek_OBJECTS) $(test_lseek_DEPENDENCIES)
+
+test-lseek$(EXEEXT): $(test_lseek_OBJECTS) $(test_lseek_DEPENDENCIES) $(EXTRA_test_lseek_DEPENDENCIES)
@rm -f test-lseek$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_lseek_OBJECTS) $(test_lseek_LDADD) $(LIBS)
-test-lstat$(EXEEXT): $(test_lstat_OBJECTS) $(test_lstat_DEPENDENCIES)
+
+test-lstat$(EXEEXT): $(test_lstat_OBJECTS) $(test_lstat_DEPENDENCIES) $(EXTRA_test_lstat_DEPENDENCIES)
@rm -f test-lstat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_lstat_OBJECTS) $(test_lstat_LDADD) $(LIBS)
-test-malloc-gnu$(EXEEXT): $(test_malloc_gnu_OBJECTS) $(test_malloc_gnu_DEPENDENCIES)
+
+test-malloc-gnu$(EXEEXT): $(test_malloc_gnu_OBJECTS) $(test_malloc_gnu_DEPENDENCIES) $(EXTRA_test_malloc_gnu_DEPENDENCIES)
@rm -f test-malloc-gnu$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_malloc_gnu_OBJECTS) $(test_malloc_gnu_LDADD) $(LIBS)
-test-malloca$(EXEEXT): $(test_malloca_OBJECTS) $(test_malloca_DEPENDENCIES)
+
+test-malloca$(EXEEXT): $(test_malloca_OBJECTS) $(test_malloca_DEPENDENCIES) $(EXTRA_test_malloca_DEPENDENCIES)
@rm -f test-malloca$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_malloca_OBJECTS) $(test_malloca_LDADD) $(LIBS)
-test-math$(EXEEXT): $(test_math_OBJECTS) $(test_math_DEPENDENCIES)
+
+test-math$(EXEEXT): $(test_math_OBJECTS) $(test_math_DEPENDENCIES) $(EXTRA_test_math_DEPENDENCIES)
@rm -f test-math$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_math_OBJECTS) $(test_math_LDADD) $(LIBS)
-test-math-c++$(EXEEXT): $(test_math_c___OBJECTS) $(test_math_c___DEPENDENCIES)
+
+test-math-c++$(EXEEXT): $(test_math_c___OBJECTS) $(test_math_c___DEPENDENCIES) $(EXTRA_test_math_c___DEPENDENCIES)
@rm -f test-math-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_math_c___OBJECTS) $(test_math_c___LDADD) $(LIBS)
-test-mbrtowc$(EXEEXT): $(test_mbrtowc_OBJECTS) $(test_mbrtowc_DEPENDENCIES)
+
+test-mbrtowc$(EXEEXT): $(test_mbrtowc_OBJECTS) $(test_mbrtowc_DEPENDENCIES) $(EXTRA_test_mbrtowc_DEPENDENCIES)
@rm -f test-mbrtowc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_mbrtowc_OBJECTS) $(test_mbrtowc_LDADD) $(LIBS)
-test-mbrtowc-w32$(EXEEXT): $(test_mbrtowc_w32_OBJECTS) $(test_mbrtowc_w32_DEPENDENCIES)
+
+test-mbrtowc-w32$(EXEEXT): $(test_mbrtowc_w32_OBJECTS) $(test_mbrtowc_w32_DEPENDENCIES) $(EXTRA_test_mbrtowc_w32_DEPENDENCIES)
@rm -f test-mbrtowc-w32$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_mbrtowc_w32_OBJECTS) $(test_mbrtowc_w32_LDADD) $(LIBS)
-test-mbsinit$(EXEEXT): $(test_mbsinit_OBJECTS) $(test_mbsinit_DEPENDENCIES)
+
+test-mbsinit$(EXEEXT): $(test_mbsinit_OBJECTS) $(test_mbsinit_DEPENDENCIES) $(EXTRA_test_mbsinit_DEPENDENCIES)
@rm -f test-mbsinit$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_mbsinit_OBJECTS) $(test_mbsinit_LDADD) $(LIBS)
-test-memchr$(EXEEXT): $(test_memchr_OBJECTS) $(test_memchr_DEPENDENCIES)
+
+test-memchr$(EXEEXT): $(test_memchr_OBJECTS) $(test_memchr_DEPENDENCIES) $(EXTRA_test_memchr_DEPENDENCIES)
@rm -f test-memchr$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_memchr_OBJECTS) $(test_memchr_LDADD) $(LIBS)
-test-memchr2$(EXEEXT): $(test_memchr2_OBJECTS) $(test_memchr2_DEPENDENCIES)
+
+test-memchr2$(EXEEXT): $(test_memchr2_OBJECTS) $(test_memchr2_DEPENDENCIES) $(EXTRA_test_memchr2_DEPENDENCIES)
@rm -f test-memchr2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_memchr2_OBJECTS) $(test_memchr2_LDADD) $(LIBS)
-test-nl_langinfo$(EXEEXT): $(test_nl_langinfo_OBJECTS) $(test_nl_langinfo_DEPENDENCIES)
+
+test-nl_langinfo$(EXEEXT): $(test_nl_langinfo_OBJECTS) $(test_nl_langinfo_DEPENDENCIES) $(EXTRA_test_nl_langinfo_DEPENDENCIES)
@rm -f test-nl_langinfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_nl_langinfo_OBJECTS) $(test_nl_langinfo_LDADD) $(LIBS)
-test-open$(EXEEXT): $(test_open_OBJECTS) $(test_open_DEPENDENCIES)
+
+test-open$(EXEEXT): $(test_open_OBJECTS) $(test_open_DEPENDENCIES) $(EXTRA_test_open_DEPENDENCIES)
@rm -f test-open$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_open_OBJECTS) $(test_open_LDADD) $(LIBS)
-test-pipe2$(EXEEXT): $(test_pipe2_OBJECTS) $(test_pipe2_DEPENDENCIES)
+
+test-pathmax$(EXEEXT): $(test_pathmax_OBJECTS) $(test_pathmax_DEPENDENCIES) $(EXTRA_test_pathmax_DEPENDENCIES)
+ @rm -f test-pathmax$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_pathmax_OBJECTS) $(test_pathmax_LDADD) $(LIBS)
+
+test-pipe2$(EXEEXT): $(test_pipe2_OBJECTS) $(test_pipe2_DEPENDENCIES) $(EXTRA_test_pipe2_DEPENDENCIES)
@rm -f test-pipe2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_pipe2_OBJECTS) $(test_pipe2_LDADD) $(LIBS)
-test-posix_spawn1$(EXEEXT): $(test_posix_spawn1_OBJECTS) $(test_posix_spawn1_DEPENDENCIES)
+
+test-posix_spawn1$(EXEEXT): $(test_posix_spawn1_OBJECTS) $(test_posix_spawn1_DEPENDENCIES) $(EXTRA_test_posix_spawn1_DEPENDENCIES)
@rm -f test-posix_spawn1$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_posix_spawn1_OBJECTS) $(test_posix_spawn1_LDADD) $(LIBS)
-test-posix_spawn2$(EXEEXT): $(test_posix_spawn2_OBJECTS) $(test_posix_spawn2_DEPENDENCIES)
+
+test-posix_spawn2$(EXEEXT): $(test_posix_spawn2_OBJECTS) $(test_posix_spawn2_DEPENDENCIES) $(EXTRA_test_posix_spawn2_DEPENDENCIES)
@rm -f test-posix_spawn2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_posix_spawn2_OBJECTS) $(test_posix_spawn2_LDADD) $(LIBS)
-test-printf-frexp$(EXEEXT): $(test_printf_frexp_OBJECTS) $(test_printf_frexp_DEPENDENCIES)
+
+test-posix_spawn_file_actions_addclose$(EXEEXT): $(test_posix_spawn_file_actions_addclose_OBJECTS) $(test_posix_spawn_file_actions_addclose_DEPENDENCIES) $(EXTRA_test_posix_spawn_file_actions_addclose_DEPENDENCIES)
+ @rm -f test-posix_spawn_file_actions_addclose$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_posix_spawn_file_actions_addclose_OBJECTS) $(test_posix_spawn_file_actions_addclose_LDADD) $(LIBS)
+
+test-posix_spawn_file_actions_adddup2$(EXEEXT): $(test_posix_spawn_file_actions_adddup2_OBJECTS) $(test_posix_spawn_file_actions_adddup2_DEPENDENCIES) $(EXTRA_test_posix_spawn_file_actions_adddup2_DEPENDENCIES)
+ @rm -f test-posix_spawn_file_actions_adddup2$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_posix_spawn_file_actions_adddup2_OBJECTS) $(test_posix_spawn_file_actions_adddup2_LDADD) $(LIBS)
+
+test-posix_spawn_file_actions_addopen$(EXEEXT): $(test_posix_spawn_file_actions_addopen_OBJECTS) $(test_posix_spawn_file_actions_addopen_DEPENDENCIES) $(EXTRA_test_posix_spawn_file_actions_addopen_DEPENDENCIES)
+ @rm -f test-posix_spawn_file_actions_addopen$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_posix_spawn_file_actions_addopen_OBJECTS) $(test_posix_spawn_file_actions_addopen_LDADD) $(LIBS)
+
+test-printf-frexp$(EXEEXT): $(test_printf_frexp_OBJECTS) $(test_printf_frexp_DEPENDENCIES) $(EXTRA_test_printf_frexp_DEPENDENCIES)
@rm -f test-printf-frexp$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_printf_frexp_OBJECTS) $(test_printf_frexp_LDADD) $(LIBS)
-test-printf-frexpl$(EXEEXT): $(test_printf_frexpl_OBJECTS) $(test_printf_frexpl_DEPENDENCIES)
+
+test-printf-frexpl$(EXEEXT): $(test_printf_frexpl_OBJECTS) $(test_printf_frexpl_DEPENDENCIES) $(EXTRA_test_printf_frexpl_DEPENDENCIES)
@rm -f test-printf-frexpl$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_printf_frexpl_OBJECTS) $(test_printf_frexpl_LDADD) $(LIBS)
-test-quotearg-simple$(EXEEXT): $(test_quotearg_simple_OBJECTS) $(test_quotearg_simple_DEPENDENCIES)
+
+test-quotearg-simple$(EXEEXT): $(test_quotearg_simple_OBJECTS) $(test_quotearg_simple_DEPENDENCIES) $(EXTRA_test_quotearg_simple_DEPENDENCIES)
@rm -f test-quotearg-simple$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_quotearg_simple_OBJECTS) $(test_quotearg_simple_LDADD) $(LIBS)
-test-rawmemchr$(EXEEXT): $(test_rawmemchr_OBJECTS) $(test_rawmemchr_DEPENDENCIES)
+
+test-raise$(EXEEXT): $(test_raise_OBJECTS) $(test_raise_DEPENDENCIES) $(EXTRA_test_raise_DEPENDENCIES)
+ @rm -f test-raise$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_raise_OBJECTS) $(test_raise_LDADD) $(LIBS)
+
+test-rawmemchr$(EXEEXT): $(test_rawmemchr_OBJECTS) $(test_rawmemchr_DEPENDENCIES) $(EXTRA_test_rawmemchr_DEPENDENCIES)
@rm -f test-rawmemchr$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_rawmemchr_OBJECTS) $(test_rawmemchr_LDADD) $(LIBS)
-test-readlink$(EXEEXT): $(test_readlink_OBJECTS) $(test_readlink_DEPENDENCIES)
+
+test-readlink$(EXEEXT): $(test_readlink_OBJECTS) $(test_readlink_DEPENDENCIES) $(EXTRA_test_readlink_DEPENDENCIES)
@rm -f test-readlink$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_readlink_OBJECTS) $(test_readlink_LDADD) $(LIBS)
-test-rename$(EXEEXT): $(test_rename_OBJECTS) $(test_rename_DEPENDENCIES)
+
+test-regex$(EXEEXT): $(test_regex_OBJECTS) $(test_regex_DEPENDENCIES) $(EXTRA_test_regex_DEPENDENCIES)
+ @rm -f test-regex$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_regex_OBJECTS) $(test_regex_LDADD) $(LIBS)
+
+test-rename$(EXEEXT): $(test_rename_OBJECTS) $(test_rename_DEPENDENCIES) $(EXTRA_test_rename_DEPENDENCIES)
@rm -f test-rename$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_rename_OBJECTS) $(test_rename_LDADD) $(LIBS)
-test-rmdir$(EXEEXT): $(test_rmdir_OBJECTS) $(test_rmdir_DEPENDENCIES)
+
+test-rmdir$(EXEEXT): $(test_rmdir_OBJECTS) $(test_rmdir_DEPENDENCIES) $(EXTRA_test_rmdir_DEPENDENCIES)
@rm -f test-rmdir$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_rmdir_OBJECTS) $(test_rmdir_LDADD) $(LIBS)
-test-sched$(EXEEXT): $(test_sched_OBJECTS) $(test_sched_DEPENDENCIES)
+
+test-sched$(EXEEXT): $(test_sched_OBJECTS) $(test_sched_DEPENDENCIES) $(EXTRA_test_sched_DEPENDENCIES)
@rm -f test-sched$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_sched_OBJECTS) $(test_sched_LDADD) $(LIBS)
-test-setenv$(EXEEXT): $(test_setenv_OBJECTS) $(test_setenv_DEPENDENCIES)
+
+test-setenv$(EXEEXT): $(test_setenv_OBJECTS) $(test_setenv_DEPENDENCIES) $(EXTRA_test_setenv_DEPENDENCIES)
@rm -f test-setenv$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_setenv_OBJECTS) $(test_setenv_LDADD) $(LIBS)
-test-setlocale1$(EXEEXT): $(test_setlocale1_OBJECTS) $(test_setlocale1_DEPENDENCIES)
+
+test-setlocale1$(EXEEXT): $(test_setlocale1_OBJECTS) $(test_setlocale1_DEPENDENCIES) $(EXTRA_test_setlocale1_DEPENDENCIES)
@rm -f test-setlocale1$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_setlocale1_OBJECTS) $(test_setlocale1_LDADD) $(LIBS)
-test-setlocale2$(EXEEXT): $(test_setlocale2_OBJECTS) $(test_setlocale2_DEPENDENCIES)
+
+test-setlocale2$(EXEEXT): $(test_setlocale2_OBJECTS) $(test_setlocale2_DEPENDENCIES) $(EXTRA_test_setlocale2_DEPENDENCIES)
@rm -f test-setlocale2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_setlocale2_OBJECTS) $(test_setlocale2_LDADD) $(LIBS)
-test-sigaction$(EXEEXT): $(test_sigaction_OBJECTS) $(test_sigaction_DEPENDENCIES)
+
+test-sigaction$(EXEEXT): $(test_sigaction_OBJECTS) $(test_sigaction_DEPENDENCIES) $(EXTRA_test_sigaction_DEPENDENCIES)
@rm -f test-sigaction$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_sigaction_OBJECTS) $(test_sigaction_LDADD) $(LIBS)
-test-signal$(EXEEXT): $(test_signal_OBJECTS) $(test_signal_DEPENDENCIES)
- @rm -f test-signal$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(test_signal_OBJECTS) $(test_signal_LDADD) $(LIBS)
-test-signal-c++$(EXEEXT): $(test_signal_c___OBJECTS) $(test_signal_c___DEPENDENCIES)
- @rm -f test-signal-c++$(EXEEXT)
- $(AM_V_CXXLD)$(CXXLINK) $(test_signal_c___OBJECTS) $(test_signal_c___LDADD) $(LIBS)
-test-signbit$(EXEEXT): $(test_signbit_OBJECTS) $(test_signbit_DEPENDENCIES)
+
+test-signal-h$(EXEEXT): $(test_signal_h_OBJECTS) $(test_signal_h_DEPENDENCIES) $(EXTRA_test_signal_h_DEPENDENCIES)
+ @rm -f test-signal-h$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_signal_h_OBJECTS) $(test_signal_h_LDADD) $(LIBS)
+
+test-signal-h-c++$(EXEEXT): $(test_signal_h_c___OBJECTS) $(test_signal_h_c___DEPENDENCIES) $(EXTRA_test_signal_h_c___DEPENDENCIES)
+ @rm -f test-signal-h-c++$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(test_signal_h_c___OBJECTS) $(test_signal_h_c___LDADD) $(LIBS)
+
+test-signbit$(EXEEXT): $(test_signbit_OBJECTS) $(test_signbit_DEPENDENCIES) $(EXTRA_test_signbit_DEPENDENCIES)
@rm -f test-signbit$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_signbit_OBJECTS) $(test_signbit_LDADD) $(LIBS)
-test-snprintf$(EXEEXT): $(test_snprintf_OBJECTS) $(test_snprintf_DEPENDENCIES)
+
+test-sigpipe$(EXEEXT): $(test_sigpipe_OBJECTS) $(test_sigpipe_DEPENDENCIES) $(EXTRA_test_sigpipe_DEPENDENCIES)
+ @rm -f test-sigpipe$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_sigpipe_OBJECTS) $(test_sigpipe_LDADD) $(LIBS)
+
+test-sigprocmask$(EXEEXT): $(test_sigprocmask_OBJECTS) $(test_sigprocmask_DEPENDENCIES) $(EXTRA_test_sigprocmask_DEPENDENCIES)
+ @rm -f test-sigprocmask$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_sigprocmask_OBJECTS) $(test_sigprocmask_LDADD) $(LIBS)
+
+test-sleep$(EXEEXT): $(test_sleep_OBJECTS) $(test_sleep_DEPENDENCIES) $(EXTRA_test_sleep_DEPENDENCIES)
+ @rm -f test-sleep$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_sleep_OBJECTS) $(test_sleep_LDADD) $(LIBS)
+
+test-snprintf$(EXEEXT): $(test_snprintf_OBJECTS) $(test_snprintf_DEPENDENCIES) $(EXTRA_test_snprintf_DEPENDENCIES)
@rm -f test-snprintf$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_snprintf_OBJECTS) $(test_snprintf_LDADD) $(LIBS)
-test-spawn$(EXEEXT): $(test_spawn_OBJECTS) $(test_spawn_DEPENDENCIES)
+
+test-spawn$(EXEEXT): $(test_spawn_OBJECTS) $(test_spawn_DEPENDENCIES) $(EXTRA_test_spawn_DEPENDENCIES)
@rm -f test-spawn$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_spawn_OBJECTS) $(test_spawn_LDADD) $(LIBS)
-test-spawn-c++$(EXEEXT): $(test_spawn_c___OBJECTS) $(test_spawn_c___DEPENDENCIES)
+
+test-spawn-c++$(EXEEXT): $(test_spawn_c___OBJECTS) $(test_spawn_c___DEPENDENCIES) $(EXTRA_test_spawn_c___DEPENDENCIES)
@rm -f test-spawn-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_spawn_c___OBJECTS) $(test_spawn_c___LDADD) $(LIBS)
-test-spawn-pipe$(EXEEXT): $(test_spawn_pipe_OBJECTS) $(test_spawn_pipe_DEPENDENCIES)
- @rm -f test-spawn-pipe$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(test_spawn_pipe_OBJECTS) $(test_spawn_pipe_LDADD) $(LIBS)
-test-stat$(EXEEXT): $(test_stat_OBJECTS) $(test_stat_DEPENDENCIES)
+
+test-spawn-pipe-child$(EXEEXT): $(test_spawn_pipe_child_OBJECTS) $(test_spawn_pipe_child_DEPENDENCIES) $(EXTRA_test_spawn_pipe_child_DEPENDENCIES)
+ @rm -f test-spawn-pipe-child$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_spawn_pipe_child_OBJECTS) $(test_spawn_pipe_child_LDADD) $(LIBS)
+
+test-spawn-pipe-main$(EXEEXT): $(test_spawn_pipe_main_OBJECTS) $(test_spawn_pipe_main_DEPENDENCIES) $(EXTRA_test_spawn_pipe_main_DEPENDENCIES)
+ @rm -f test-spawn-pipe-main$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_spawn_pipe_main_OBJECTS) $(test_spawn_pipe_main_LDADD) $(LIBS)
+
+test-stat$(EXEEXT): $(test_stat_OBJECTS) $(test_stat_DEPENDENCIES) $(EXTRA_test_stat_DEPENDENCIES)
@rm -f test-stat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_stat_OBJECTS) $(test_stat_LDADD) $(LIBS)
-test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES)
+
+test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES) $(EXTRA_test_stdbool_DEPENDENCIES)
@rm -f test-stdbool$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS)
-test-stddef$(EXEEXT): $(test_stddef_OBJECTS) $(test_stddef_DEPENDENCIES)
+
+test-stddef$(EXEEXT): $(test_stddef_OBJECTS) $(test_stddef_DEPENDENCIES) $(EXTRA_test_stddef_DEPENDENCIES)
@rm -f test-stddef$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_stddef_OBJECTS) $(test_stddef_LDADD) $(LIBS)
-test-stdint$(EXEEXT): $(test_stdint_OBJECTS) $(test_stdint_DEPENDENCIES)
+
+test-stdint$(EXEEXT): $(test_stdint_OBJECTS) $(test_stdint_DEPENDENCIES) $(EXTRA_test_stdint_DEPENDENCIES)
@rm -f test-stdint$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_stdint_OBJECTS) $(test_stdint_LDADD) $(LIBS)
-test-stdio$(EXEEXT): $(test_stdio_OBJECTS) $(test_stdio_DEPENDENCIES)
+
+test-stdio$(EXEEXT): $(test_stdio_OBJECTS) $(test_stdio_DEPENDENCIES) $(EXTRA_test_stdio_DEPENDENCIES)
@rm -f test-stdio$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_stdio_OBJECTS) $(test_stdio_LDADD) $(LIBS)
-test-stdio-c++$(EXEEXT): $(test_stdio_c___OBJECTS) $(test_stdio_c___DEPENDENCIES)
+
+test-stdio-c++$(EXEEXT): $(test_stdio_c___OBJECTS) $(test_stdio_c___DEPENDENCIES) $(EXTRA_test_stdio_c___DEPENDENCIES)
@rm -f test-stdio-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_stdio_c___OBJECTS) $(test_stdio_c___LDADD) $(LIBS)
-test-stdlib$(EXEEXT): $(test_stdlib_OBJECTS) $(test_stdlib_DEPENDENCIES)
+
+test-stdlib$(EXEEXT): $(test_stdlib_OBJECTS) $(test_stdlib_DEPENDENCIES) $(EXTRA_test_stdlib_DEPENDENCIES)
@rm -f test-stdlib$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_stdlib_OBJECTS) $(test_stdlib_LDADD) $(LIBS)
-test-stdlib-c++$(EXEEXT): $(test_stdlib_c___OBJECTS) $(test_stdlib_c___DEPENDENCIES)
+
+test-stdlib-c++$(EXEEXT): $(test_stdlib_c___OBJECTS) $(test_stdlib_c___DEPENDENCIES) $(EXTRA_test_stdlib_c___DEPENDENCIES)
@rm -f test-stdlib-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_stdlib_c___OBJECTS) $(test_stdlib_c___LDADD) $(LIBS)
-test-strchrnul$(EXEEXT): $(test_strchrnul_OBJECTS) $(test_strchrnul_DEPENDENCIES)
+
+test-strchrnul$(EXEEXT): $(test_strchrnul_OBJECTS) $(test_strchrnul_DEPENDENCIES) $(EXTRA_test_strchrnul_DEPENDENCIES)
@rm -f test-strchrnul$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_strchrnul_OBJECTS) $(test_strchrnul_LDADD) $(LIBS)
-test-strerror$(EXEEXT): $(test_strerror_OBJECTS) $(test_strerror_DEPENDENCIES)
+
+test-strerror$(EXEEXT): $(test_strerror_OBJECTS) $(test_strerror_DEPENDENCIES) $(EXTRA_test_strerror_DEPENDENCIES)
@rm -f test-strerror$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_strerror_OBJECTS) $(test_strerror_LDADD) $(LIBS)
-test-string$(EXEEXT): $(test_string_OBJECTS) $(test_string_DEPENDENCIES)
+
+test-string$(EXEEXT): $(test_string_OBJECTS) $(test_string_DEPENDENCIES) $(EXTRA_test_string_DEPENDENCIES)
@rm -f test-string$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_string_OBJECTS) $(test_string_LDADD) $(LIBS)
-test-string-c++$(EXEEXT): $(test_string_c___OBJECTS) $(test_string_c___DEPENDENCIES)
+
+test-string-c++$(EXEEXT): $(test_string_c___OBJECTS) $(test_string_c___DEPENDENCIES) $(EXTRA_test_string_c___DEPENDENCIES)
@rm -f test-string-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_string_c___OBJECTS) $(test_string_c___LDADD) $(LIBS)
-test-strnlen$(EXEEXT): $(test_strnlen_OBJECTS) $(test_strnlen_DEPENDENCIES)
+
+test-strnlen$(EXEEXT): $(test_strnlen_OBJECTS) $(test_strnlen_DEPENDENCIES) $(EXTRA_test_strnlen_DEPENDENCIES)
@rm -f test-strnlen$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_strnlen_OBJECTS) $(test_strnlen_LDADD) $(LIBS)
-test-strsignal$(EXEEXT): $(test_strsignal_OBJECTS) $(test_strsignal_DEPENDENCIES)
+
+test-strsignal$(EXEEXT): $(test_strsignal_OBJECTS) $(test_strsignal_DEPENDENCIES) $(EXTRA_test_strsignal_DEPENDENCIES)
@rm -f test-strsignal$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_strsignal_OBJECTS) $(test_strsignal_LDADD) $(LIBS)
-test-strstr$(EXEEXT): $(test_strstr_OBJECTS) $(test_strstr_DEPENDENCIES)
+
+test-strstr$(EXEEXT): $(test_strstr_OBJECTS) $(test_strstr_DEPENDENCIES) $(EXTRA_test_strstr_DEPENDENCIES)
@rm -f test-strstr$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_strstr_OBJECTS) $(test_strstr_LDADD) $(LIBS)
-test-strtod$(EXEEXT): $(test_strtod_OBJECTS) $(test_strtod_DEPENDENCIES)
+
+test-strtod$(EXEEXT): $(test_strtod_OBJECTS) $(test_strtod_DEPENDENCIES) $(EXTRA_test_strtod_DEPENDENCIES)
@rm -f test-strtod$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_strtod_OBJECTS) $(test_strtod_LDADD) $(LIBS)
-test-symlink$(EXEEXT): $(test_symlink_OBJECTS) $(test_symlink_DEPENDENCIES)
+
+test-symlink$(EXEEXT): $(test_symlink_OBJECTS) $(test_symlink_DEPENDENCIES) $(EXTRA_test_symlink_DEPENDENCIES)
@rm -f test-symlink$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_symlink_OBJECTS) $(test_symlink_LDADD) $(LIBS)
-test-sys_stat$(EXEEXT): $(test_sys_stat_OBJECTS) $(test_sys_stat_DEPENDENCIES)
+
+test-sys_stat$(EXEEXT): $(test_sys_stat_OBJECTS) $(test_sys_stat_DEPENDENCIES) $(EXTRA_test_sys_stat_DEPENDENCIES)
@rm -f test-sys_stat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_sys_stat_OBJECTS) $(test_sys_stat_LDADD) $(LIBS)
-test-sys_stat-c++$(EXEEXT): $(test_sys_stat_c___OBJECTS) $(test_sys_stat_c___DEPENDENCIES)
+
+test-sys_stat-c++$(EXEEXT): $(test_sys_stat_c___OBJECTS) $(test_sys_stat_c___DEPENDENCIES) $(EXTRA_test_sys_stat_c___DEPENDENCIES)
@rm -f test-sys_stat-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_sys_stat_c___OBJECTS) $(test_sys_stat_c___LDADD) $(LIBS)
-test-sys_time$(EXEEXT): $(test_sys_time_OBJECTS) $(test_sys_time_DEPENDENCIES)
+
+test-sys_time$(EXEEXT): $(test_sys_time_OBJECTS) $(test_sys_time_DEPENDENCIES) $(EXTRA_test_sys_time_DEPENDENCIES)
@rm -f test-sys_time$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_sys_time_OBJECTS) $(test_sys_time_LDADD) $(LIBS)
-test-sys_time-c++$(EXEEXT): $(test_sys_time_c___OBJECTS) $(test_sys_time_c___DEPENDENCIES)
+
+test-sys_time-c++$(EXEEXT): $(test_sys_time_c___OBJECTS) $(test_sys_time_c___DEPENDENCIES) $(EXTRA_test_sys_time_c___DEPENDENCIES)
@rm -f test-sys_time-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_sys_time_c___OBJECTS) $(test_sys_time_c___LDADD) $(LIBS)
-test-sys_wait$(EXEEXT): $(test_sys_wait_OBJECTS) $(test_sys_wait_DEPENDENCIES)
+
+test-sys_types$(EXEEXT): $(test_sys_types_OBJECTS) $(test_sys_types_DEPENDENCIES) $(EXTRA_test_sys_types_DEPENDENCIES)
+ @rm -f test-sys_types$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_sys_types_OBJECTS) $(test_sys_types_LDADD) $(LIBS)
+
+test-sys_types-c++$(EXEEXT): $(test_sys_types_c___OBJECTS) $(test_sys_types_c___DEPENDENCIES) $(EXTRA_test_sys_types_c___DEPENDENCIES)
+ @rm -f test-sys_types-c++$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(test_sys_types_c___OBJECTS) $(test_sys_types_c___LDADD) $(LIBS)
+
+test-sys_wait$(EXEEXT): $(test_sys_wait_OBJECTS) $(test_sys_wait_DEPENDENCIES) $(EXTRA_test_sys_wait_DEPENDENCIES)
@rm -f test-sys_wait$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_sys_wait_OBJECTS) $(test_sys_wait_LDADD) $(LIBS)
-test-sys_wait-c++$(EXEEXT): $(test_sys_wait_c___OBJECTS) $(test_sys_wait_c___DEPENDENCIES)
+
+test-sys_wait-c++$(EXEEXT): $(test_sys_wait_c___OBJECTS) $(test_sys_wait_c___DEPENDENCIES) $(EXTRA_test_sys_wait_c___DEPENDENCIES)
@rm -f test-sys_wait-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_sys_wait_c___OBJECTS) $(test_sys_wait_c___LDADD) $(LIBS)
-test-time$(EXEEXT): $(test_time_OBJECTS) $(test_time_DEPENDENCIES)
+
+test-time$(EXEEXT): $(test_time_OBJECTS) $(test_time_DEPENDENCIES) $(EXTRA_test_time_DEPENDENCIES)
@rm -f test-time$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_time_OBJECTS) $(test_time_LDADD) $(LIBS)
-test-time-c++$(EXEEXT): $(test_time_c___OBJECTS) $(test_time_c___DEPENDENCIES)
+
+test-time-c++$(EXEEXT): $(test_time_c___OBJECTS) $(test_time_c___DEPENDENCIES) $(EXTRA_test_time_c___DEPENDENCIES)
@rm -f test-time-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_time_c___OBJECTS) $(test_time_c___LDADD) $(LIBS)
-test-unistd$(EXEEXT): $(test_unistd_OBJECTS) $(test_unistd_DEPENDENCIES)
+
+test-unistd$(EXEEXT): $(test_unistd_OBJECTS) $(test_unistd_DEPENDENCIES) $(EXTRA_test_unistd_DEPENDENCIES)
@rm -f test-unistd$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_unistd_OBJECTS) $(test_unistd_LDADD) $(LIBS)
-test-unistd-c++$(EXEEXT): $(test_unistd_c___OBJECTS) $(test_unistd_c___DEPENDENCIES)
+
+test-unistd-c++$(EXEEXT): $(test_unistd_c___OBJECTS) $(test_unistd_c___DEPENDENCIES) $(EXTRA_test_unistd_c___DEPENDENCIES)
@rm -f test-unistd-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_unistd_c___OBJECTS) $(test_unistd_c___LDADD) $(LIBS)
-test-unsetenv$(EXEEXT): $(test_unsetenv_OBJECTS) $(test_unsetenv_DEPENDENCIES)
+
+test-unsetenv$(EXEEXT): $(test_unsetenv_OBJECTS) $(test_unsetenv_DEPENDENCIES) $(EXTRA_test_unsetenv_DEPENDENCIES)
@rm -f test-unsetenv$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_unsetenv_OBJECTS) $(test_unsetenv_LDADD) $(LIBS)
-test-vasnprintf$(EXEEXT): $(test_vasnprintf_OBJECTS) $(test_vasnprintf_DEPENDENCIES)
+
+test-vasnprintf$(EXEEXT): $(test_vasnprintf_OBJECTS) $(test_vasnprintf_DEPENDENCIES) $(EXTRA_test_vasnprintf_DEPENDENCIES)
@rm -f test-vasnprintf$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_vasnprintf_OBJECTS) $(test_vasnprintf_LDADD) $(LIBS)
-test-vasprintf$(EXEEXT): $(test_vasprintf_OBJECTS) $(test_vasprintf_DEPENDENCIES)
+
+test-vasprintf$(EXEEXT): $(test_vasprintf_OBJECTS) $(test_vasprintf_DEPENDENCIES) $(EXTRA_test_vasprintf_DEPENDENCIES)
@rm -f test-vasprintf$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_vasprintf_OBJECTS) $(test_vasprintf_LDADD) $(LIBS)
-test-vasprintf-posix$(EXEEXT): $(test_vasprintf_posix_OBJECTS) $(test_vasprintf_posix_DEPENDENCIES)
+
+test-vasprintf-posix$(EXEEXT): $(test_vasprintf_posix_OBJECTS) $(test_vasprintf_posix_DEPENDENCIES) $(EXTRA_test_vasprintf_posix_DEPENDENCIES)
@rm -f test-vasprintf-posix$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_vasprintf_posix_OBJECTS) $(test_vasprintf_posix_LDADD) $(LIBS)
-test-verify$(EXEEXT): $(test_verify_OBJECTS) $(test_verify_DEPENDENCIES)
+
+test-verify$(EXEEXT): $(test_verify_OBJECTS) $(test_verify_DEPENDENCIES) $(EXTRA_test_verify_DEPENDENCIES)
@rm -f test-verify$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_verify_OBJECTS) $(test_verify_LDADD) $(LIBS)
-test-version-etc$(EXEEXT): $(test_version_etc_OBJECTS) $(test_version_etc_DEPENDENCIES)
+
+test-version-etc$(EXEEXT): $(test_version_etc_OBJECTS) $(test_version_etc_DEPENDENCIES) $(EXTRA_test_version_etc_DEPENDENCIES)
@rm -f test-version-etc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_version_etc_OBJECTS) $(test_version_etc_LDADD) $(LIBS)
-test-wchar$(EXEEXT): $(test_wchar_OBJECTS) $(test_wchar_DEPENDENCIES)
+
+test-wchar$(EXEEXT): $(test_wchar_OBJECTS) $(test_wchar_DEPENDENCIES) $(EXTRA_test_wchar_DEPENDENCIES)
@rm -f test-wchar$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_wchar_OBJECTS) $(test_wchar_LDADD) $(LIBS)
-test-wchar-c++$(EXEEXT): $(test_wchar_c___OBJECTS) $(test_wchar_c___DEPENDENCIES)
+
+test-wchar-c++$(EXEEXT): $(test_wchar_c___OBJECTS) $(test_wchar_c___DEPENDENCIES) $(EXTRA_test_wchar_c___DEPENDENCIES)
@rm -f test-wchar-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_wchar_c___OBJECTS) $(test_wchar_c___LDADD) $(LIBS)
-test-wcrtomb$(EXEEXT): $(test_wcrtomb_OBJECTS) $(test_wcrtomb_DEPENDENCIES)
+
+test-wcrtomb$(EXEEXT): $(test_wcrtomb_OBJECTS) $(test_wcrtomb_DEPENDENCIES) $(EXTRA_test_wcrtomb_DEPENDENCIES)
@rm -f test-wcrtomb$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_wcrtomb_OBJECTS) $(test_wcrtomb_LDADD) $(LIBS)
-test-wcrtomb-w32$(EXEEXT): $(test_wcrtomb_w32_OBJECTS) $(test_wcrtomb_w32_DEPENDENCIES)
+
+test-wcrtomb-w32$(EXEEXT): $(test_wcrtomb_w32_OBJECTS) $(test_wcrtomb_w32_DEPENDENCIES) $(EXTRA_test_wcrtomb_w32_DEPENDENCIES)
@rm -f test-wcrtomb-w32$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_wcrtomb_w32_OBJECTS) $(test_wcrtomb_w32_LDADD) $(LIBS)
-test-wctype-h$(EXEEXT): $(test_wctype_h_OBJECTS) $(test_wctype_h_DEPENDENCIES)
+
+test-wctype-h$(EXEEXT): $(test_wctype_h_OBJECTS) $(test_wctype_h_DEPENDENCIES) $(EXTRA_test_wctype_h_DEPENDENCIES)
@rm -f test-wctype-h$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_wctype_h_OBJECTS) $(test_wctype_h_LDADD) $(LIBS)
-test-wctype-h-c++$(EXEEXT): $(test_wctype_h_c___OBJECTS) $(test_wctype_h_c___DEPENDENCIES)
+
+test-wctype-h-c++$(EXEEXT): $(test_wctype_h_c___OBJECTS) $(test_wctype_h_c___DEPENDENCIES) $(EXTRA_test_wctype_h_c___DEPENDENCIES)
@rm -f test-wctype-h-c++$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(test_wctype_h_c___OBJECTS) $(test_wctype_h_c___LDADD) $(LIBS)
-test-xalloc-die$(EXEEXT): $(test_xalloc_die_OBJECTS) $(test_xalloc_die_DEPENDENCIES)
+
+test-write$(EXEEXT): $(test_write_OBJECTS) $(test_write_DEPENDENCIES) $(EXTRA_test_write_DEPENDENCIES)
+ @rm -f test-write$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_write_OBJECTS) $(test_write_LDADD) $(LIBS)
+
+test-xalloc-die$(EXEEXT): $(test_xalloc_die_OBJECTS) $(test_xalloc_die_DEPENDENCIES) $(EXTRA_test_xalloc_die_DEPENDENCIES)
@rm -f test-xalloc-die$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_xalloc_die_OBJECTS) $(test_xalloc_die_LDADD) $(LIBS)
-test-xvasprintf$(EXEEXT): $(test_xvasprintf_OBJECTS) $(test_xvasprintf_DEPENDENCIES)
+
+test-xvasprintf$(EXEEXT): $(test_xvasprintf_OBJECTS) $(test_xvasprintf_DEPENDENCIES) $(EXTRA_test_xvasprintf_DEPENDENCIES)
@rm -f test-xvasprintf$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_xvasprintf_OBJECTS) $(test_xvasprintf_LDADD) $(LIBS)
@@ -2708,17 +3757,23 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strcasecmp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strncasecmp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftell.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closedir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd-lgpl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpagesize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gl_array_list.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gl_array_oset.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opendir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randomd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randoml.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readdir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setlocale.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@
@@ -2732,36 +3787,56 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strcasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strncasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-canonicalize-lgpl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-chdir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-cloexec.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-close.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-closein.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dirent-c++.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dirent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dirname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup-safer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-errno.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fclose.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl-h-c++.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl-h.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fcntl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdopen.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fflush.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fflush2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fgetc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-filenamecat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-float.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fopen-safer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fopen.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fpending.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fpurge.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fputc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fread.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freadahead.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-freading.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-frexp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-frexpl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseek.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseeko.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseeko3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fseeko4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fstat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftell.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftell3.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftello.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftello3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ftello4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fwrite.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getcwd-lgpl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getdtablesize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getopt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-gettimeofday.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ignore-value.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-intprops.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-inttypes.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnand-nolibm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanf-nolibm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-isnanl-nolibm.Po@am__quote@
@@ -2772,6 +3847,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-locale-c++.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-locale-c++2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-locale.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localeconv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lseek.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lstat.Po@am__quote@
@@ -2787,14 +3863,20 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-memchr2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-nl_langinfo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-open.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pathmax.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pipe2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn_file_actions_addclose.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn_file_actions_adddup2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-posix_spawn_file_actions_addopen.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-printf-frexp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-printf-frexpl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-quotearg-simple.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-raise.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rawmemchr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-readlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-regex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-rmdir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sched.Po@am__quote@
@@ -2802,13 +3884,17 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigaction.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal-c++.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal-c++2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal-h-c++.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal-h-c++2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signal-h.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-signbit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigpipe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sigprocmask.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sleep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-snprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn-c++.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn-pipe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn-pipe-child.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn-pipe-main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@
@@ -2834,6 +3920,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_stat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_time-c++.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_time.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_types-c++.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_types.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_wait-c++.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sys_wait.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-time-c++.Po@am__quote@
@@ -2853,61 +3941,66 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wcrtomb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wctype-h-c++.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wctype-h.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-write.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xalloc-die.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-xvasprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctob.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctomb.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/write.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.o:
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cc.obj:
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -2922,57 +4015,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -2988,12 +4036,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -3005,15 +4048,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -3022,458 +4061,1447 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-# To be appended to the command running the test. Handle the stdout
-# and stderr redirection, and catch the exit status.
-am__check_post = \
->$@-t 2>&1; \
-estatus=$$?; \
-if test -n '$(DISABLE_HARD_ERRORS)' \
- && test $$estatus -eq 99; then \
- estatus=1; \
-fi; \
-TERM=$$__SAVED_TERM; export TERM; \
-$(am__tty_colors); \
-xfailed=PASS; \
-case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
- xfailed=XFAIL;; \
-esac; \
-case $$estatus:$$xfailed in \
- 0:XFAIL) col=$$red; res=XPASS;; \
- 0:*) col=$$grn; res=PASS ;; \
- 77:*) col=$$blu; res=SKIP ;; \
- 99:*) col=$$red; res=FAIL ;; \
- *:XFAIL) col=$$lgn; res=XFAIL;; \
- *:*) col=$$red; res=FAIL ;; \
-esac; \
-echo "$${col}$$res$${std}: $$f"; \
-echo "$$res: $$f (exit: $$estatus)" | \
- $(am__rst_section) >$@; \
-cat $@-t >>$@; \
-rm -f $@-t
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+ rm -f $< $@
+ $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+ @:
$(TEST_SUITE_LOG): $(TEST_LOGS)
- @$(am__sh_e_setup); \
- list='$(TEST_LOGS)'; \
- results=`for f in $$list; do \
- read line < $$f && echo "$$line" || echo FAIL; \
- done`; \
- all=`echo "$$results" | sed '/^$$/d' | wc -l | sed -e 's/^[ ]*//'`; \
- fail=`echo "$$results" | grep -c '^FAIL'`; \
- pass=`echo "$$results" | grep -c '^PASS'`; \
- skip=`echo "$$results" | grep -c '^SKIP'`; \
- xfail=`echo "$$results" | grep -c '^XFAIL'`; \
- xpass=`echo "$$results" | grep -c '^XPASS'`; \
- failures=`expr $$fail + $$xpass`; \
- all=`expr $$all - $$skip`; \
- if test "$$all" -eq 1; then tests=test; All=; \
- else tests=tests; All="All "; fi; \
- case fail=$$fail:xpass=$$xpass:xfail=$$xfail in \
- fail=0:xpass=0:xfail=0) \
- msg="$$All$$all $$tests passed. "; \
- exit=true;; \
- fail=0:xpass=0:xfail=*) \
- msg="$$All$$all $$tests behaved as expected"; \
- if test "$$xfail" -eq 1; then xfailures=failure; \
- else xfailures=failures; fi; \
- msg="$$msg ($$xfail expected $$xfailures). "; \
- exit=true;; \
- fail=*:xpass=0:xfail=*) \
- msg="$$fail of $$all $$tests failed. "; \
- exit=false;; \
- fail=*:xpass=*:xfail=*) \
- msg="$$failures of $$all $$tests did not behave as expected"; \
- if test "$$xpass" -eq 1; then xpasses=pass; \
- else xpasses=passes; fi; \
- msg="$$msg ($$xpass unexpected $$xpasses). "; \
- exit=false;; \
- *) \
- echo >&2 "incorrect case"; exit 4;; \
- esac; \
- if test "$$skip" -ne 0; then \
- if test "$$skip" -eq 1; then \
- msg="$$msg($$skip test was not run). "; \
- else \
- msg="$$msg($$skip tests were not run). "; \
- fi; \
- fi; \
+ @$(am__set_TESTS_bases); \
+ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+ redo_bases=`for i in $$bases; do \
+ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+ done`; \
+ if test -n "$$redo_bases"; then \
+ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+ if $(am__make_dryrun); then :; else \
+ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+ fi; \
+ fi; \
+ if test -n "$$am__remaking_logs"; then \
+ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+ "recursion detected" >&2; \
+ else \
+ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+ fi; \
+ if $(am__make_dryrun); then :; else \
+ st=0; \
+ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+ for i in $$redo_bases; do \
+ test -f $$i.trs && test -r $$i.trs \
+ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+ test -f $$i.log && test -r $$i.log \
+ || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+ done; \
+ test $$st -eq 0 || exit 1; \
+ fi
+ @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+ ws='[ ]'; \
+ results=`for b in $$bases; do echo $$b.trs; done`; \
+ test -n "$$results" || results=/dev/null; \
+ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
+ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
+ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
+ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
+ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+ if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+ success=true; \
+ else \
+ success=false; \
+ fi; \
+ br='==================='; br=$$br$$br$$br$$br; \
+ result_count () \
+ { \
+ if test x"$$1" = x"--maybe-color"; then \
+ maybe_colorize=yes; \
+ elif test x"$$1" = x"--no-color"; then \
+ maybe_colorize=no; \
+ else \
+ echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+ fi; \
+ shift; \
+ desc=$$1 count=$$2; \
+ if test $$maybe_colorize = yes && test $$count -gt 0; then \
+ color_start=$$3 color_end=$$std; \
+ else \
+ color_start= color_end=; \
+ fi; \
+ echo "$${color_start}# $$desc $$count$${color_end}"; \
+ }; \
+ create_testsuite_report () \
+ { \
+ result_count $$1 "TOTAL:" $$all "$$brg"; \
+ result_count $$1 "PASS: " $$pass "$$grn"; \
+ result_count $$1 "SKIP: " $$skip "$$blu"; \
+ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+ result_count $$1 "FAIL: " $$fail "$$red"; \
+ result_count $$1 "XPASS:" $$xpass "$$red"; \
+ result_count $$1 "ERROR:" $$error "$$mgn"; \
+ }; \
{ \
echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
$(am__rst_title); \
- echo "$$msg"; \
+ create_testsuite_report --no-color; \
echo; \
echo ".. contents:: :depth: 2"; \
echo; \
- for f in $$list; do \
- read line < $$f; \
- case $$line in \
- PASS:*|XFAIL:*);; \
- *) echo; cat $$f;; \
- esac; \
- done; \
- } >$(TEST_SUITE_LOG).tmp; \
+ for b in $$bases; do echo $$b; done \
+ | $(am__create_global_log); \
+ } >$(TEST_SUITE_LOG).tmp || exit 1; \
mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
- if test "$$failures" -ne 0; then \
- msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG). "; \
+ if $$success; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
+ fi; \
+ echo "$${col}$$br$${std}"; \
+ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
+ echo "$${col}$$br$${std}"; \
+ create_testsuite_report --maybe-color; \
+ echo "$$col$$br$$std"; \
+ if $$success; then :; else \
+ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
if test -n "$(PACKAGE_BUGREPORT)"; then \
- msg="$${msg}Please report to $(PACKAGE_BUGREPORT). "; \
+ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
fi; \
+ echo "$$col$$br$$std"; \
fi; \
- test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG); \
- $(am__tty_colors); \
- if $$exit; then \
- echo $(ECHO_N) "$$grn$(ECHO_C)"; \
- else \
- echo $(ECHO_N) "$$red$(ECHO_C)"; \
- fi; \
- echo "$$msg" | $(am__text_box); \
- echo $(ECHO_N) "$$std$(ECHO_C)"; \
- $$exit
+ $$success || exit 1
-# Run all the tests.
check-TESTS:
- @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+ @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+ @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @list='$(TEST_LOGS)'; \
- list=`for f in $$list; do \
- test .log = $$f || echo $$f; \
- done | tr '\012\015' ' '`; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
-
-.log.html:
- @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \
- for r2h in $$list; do \
- if ($$r2h --version) >/dev/null 2>&1; then \
- R2H=$$r2h; \
- fi; \
- done; \
- if test -z "$$R2H"; then \
- echo >&2 "cannot find rst2html, cannot create $@"; \
- exit 2; \
- fi; \
- $$R2H $< >$@.tmp
- @mv $@.tmp $@
-
-# Be sure to run check first, and then to convert the result.
-# Beware of concurrent executions. Run "check" not "check-TESTS", as
-# check-SCRIPTS and other dependencies are rebuilt by the former only.
-# And expect check to fail.
-check-html:
- @if $(MAKE) $(AM_MAKEFLAGS) check; then \
- rv=0; else rv=$$?; \
- fi; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) || exit 4; \
- exit $$rv
-recheck recheck-html:
- @target=`echo $@ | sed 's,^re,,'`; \
- list='$(TEST_LOGS)'; \
- list=`for f in $$list; do \
- test -f $$f || continue; \
- if read line < $$f; then \
- case $$line in FAIL*|XPASS*) echo $$f;; esac; \
- else echo $$f; fi; \
- done | tr '\012\015' ' '`; \
- $(MAKE) $(AM_MAKEFLAGS) $$target AM_MAKEFLAGS='$(AM_MAKEFLAGS) TEST_LOGS="'"$$list"'"'
+ @set +e; $(am__set_TESTS_bases); \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+ exit $$?;
+recheck: all $(check_LIBRARIES) $(check_PROGRAMS)
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ bases=`for i in $$bases; do echo $$i; done \
+ | $(am__list_recheck_tests)` || exit 1; \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ log_list=`echo $$log_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+ am__force_recheck=am--force-recheck \
+ TEST_LOGS="$$log_list"; \
+ exit $$?
test-alloca-opt.log: test-alloca-opt$(EXEEXT)
- @p='test-alloca-opt$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-alloca-opt$(EXEEXT)'; \
+ b='test-alloca-opt'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-array_list.log: test-array_list$(EXEEXT)
- @p='test-array_list$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-array_list$(EXEEXT)'; \
+ b='test-array_list'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-array_oset.log: test-array_oset$(EXEEXT)
- @p='test-array_oset$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-array_oset$(EXEEXT)'; \
+ b='test-array_oset'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-avltree_oset.log: test-avltree_oset$(EXEEXT)
- @p='test-avltree_oset$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-avltree_oset$(EXEEXT)'; \
+ b='test-avltree_oset'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-binary-io.sh.log: test-binary-io.sh
- @p='test-binary-io.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-binary-io.sh'; \
+ b='test-binary-io.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-btowc1.sh.log: test-btowc1.sh
- @p='test-btowc1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-btowc1.sh'; \
+ b='test-btowc1.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-btowc2.sh.log: test-btowc2.sh
- @p='test-btowc2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-btowc2.sh'; \
+ b='test-btowc2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-c-ctype.log: test-c-ctype$(EXEEXT)
- @p='test-c-ctype$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-c-ctype$(EXEEXT)'; \
+ b='test-c-ctype'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-c-stack.sh.log: test-c-stack.sh
- @p='test-c-stack.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-c-stack.sh'; \
+ b='test-c-stack.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-c-stack2.sh.log: test-c-stack2.sh
- @p='test-c-stack2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-c-stack2.sh'; \
+ b='test-c-stack2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-c-strcase.sh.log: test-c-strcase.sh
- @p='test-c-strcase.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-c-strcase.sh'; \
+ b='test-c-strcase.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-canonicalize-lgpl.log: test-canonicalize-lgpl$(EXEEXT)
- @p='test-canonicalize-lgpl$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-canonicalize-lgpl$(EXEEXT)'; \
+ b='test-canonicalize-lgpl'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-chdir.log: test-chdir$(EXEEXT)
+ @p='test-chdir$(EXEEXT)'; \
+ b='test-chdir'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-cloexec.log: test-cloexec$(EXEEXT)
- @p='test-cloexec$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-cloexec$(EXEEXT)'; \
+ b='test-cloexec'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-close.log: test-close$(EXEEXT)
+ @p='test-close$(EXEEXT)'; \
+ b='test-close'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-closein.sh.log: test-closein.sh
- @p='test-closein.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-closein.sh'; \
+ b='test-closein.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-dirent-c++.log: test-dirent-c++$(EXEEXT)
+ @p='test-dirent-c++$(EXEEXT)'; \
+ b='test-dirent-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-dirent.log: test-dirent$(EXEEXT)
+ @p='test-dirent$(EXEEXT)'; \
+ b='test-dirent'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-dirname.log: test-dirname$(EXEEXT)
- @p='test-dirname$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-dirname$(EXEEXT)'; \
+ b='test-dirname'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-dup.log: test-dup$(EXEEXT)
+ @p='test-dup$(EXEEXT)'; \
+ b='test-dup'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-dup2.log: test-dup2$(EXEEXT)
- @p='test-dup2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-dup2$(EXEEXT)'; \
+ b='test-dup2'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-environ.log: test-environ$(EXEEXT)
- @p='test-environ$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-environ$(EXEEXT)'; \
+ b='test-environ'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-errno.log: test-errno$(EXEEXT)
- @p='test-errno$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-errno$(EXEEXT)'; \
+ b='test-errno'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fclose.log: test-fclose$(EXEEXT)
+ @p='test-fclose$(EXEEXT)'; \
+ b='test-fclose'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fcntl-h-c++.log: test-fcntl-h-c++$(EXEEXT)
- @p='test-fcntl-h-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fcntl-h-c++$(EXEEXT)'; \
+ b='test-fcntl-h-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fcntl-h.log: test-fcntl-h$(EXEEXT)
- @p='test-fcntl-h$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fcntl-h$(EXEEXT)'; \
+ b='test-fcntl-h'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fcntl.log: test-fcntl$(EXEEXT)
- @p='test-fcntl$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fcntl$(EXEEXT)'; \
+ b='test-fcntl'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fdopen.log: test-fdopen$(EXEEXT)
+ @p='test-fdopen$(EXEEXT)'; \
+ b='test-fdopen'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fflush.log: test-fflush$(EXEEXT)
- @p='test-fflush$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fflush$(EXEEXT)'; \
+ b='test-fflush'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fflush2.sh.log: test-fflush2.sh
- @p='test-fflush2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fflush2.sh'; \
+ b='test-fflush2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fgetc.log: test-fgetc$(EXEEXT)
+ @p='test-fgetc$(EXEEXT)'; \
+ b='test-fgetc'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-filenamecat.log: test-filenamecat$(EXEEXT)
- @p='test-filenamecat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-filenamecat$(EXEEXT)'; \
+ b='test-filenamecat'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-float.log: test-float$(EXEEXT)
+ @p='test-float$(EXEEXT)'; \
+ b='test-float'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fopen-safer.log: test-fopen-safer$(EXEEXT)
- @p='test-fopen-safer$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fopen-safer$(EXEEXT)'; \
+ b='test-fopen-safer'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fopen.log: test-fopen$(EXEEXT)
- @p='test-fopen$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fopen$(EXEEXT)'; \
+ b='test-fopen'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fpending.sh.log: test-fpending.sh
- @p='test-fpending.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fpending.sh'; \
+ b='test-fpending.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fpurge.log: test-fpurge$(EXEEXT)
- @p='test-fpurge$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fpurge$(EXEEXT)'; \
+ b='test-fpurge'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fputc.log: test-fputc$(EXEEXT)
+ @p='test-fputc$(EXEEXT)'; \
+ b='test-fputc'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fread.log: test-fread$(EXEEXT)
+ @p='test-fread$(EXEEXT)'; \
+ b='test-fread'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-freadahead.sh.log: test-freadahead.sh
- @p='test-freadahead.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-freadahead.sh'; \
+ b='test-freadahead.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-freading.log: test-freading$(EXEEXT)
- @p='test-freading$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-freading$(EXEEXT)'; \
+ b='test-freading'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-frexp-nolibm.log: test-frexp-nolibm$(EXEEXT)
- @p='test-frexp-nolibm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-frexp-nolibm$(EXEEXT)'; \
+ b='test-frexp-nolibm'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-frexpl-nolibm.log: test-frexpl-nolibm$(EXEEXT)
- @p='test-frexpl-nolibm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-frexpl-nolibm$(EXEEXT)'; \
+ b='test-frexpl-nolibm'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fseek.sh.log: test-fseek.sh
+ @p='test-fseek.sh'; \
+ b='test-fseek.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fseek2.sh.log: test-fseek2.sh
+ @p='test-fseek2.sh'; \
+ b='test-fseek2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fseeko.sh.log: test-fseeko.sh
- @p='test-fseeko.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fseeko.sh'; \
+ b='test-fseeko.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-fseeko2.sh.log: test-fseeko2.sh
- @p='test-fseeko2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-fseeko2.sh'; \
+ b='test-fseeko2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fseeko3.sh.log: test-fseeko3.sh
+ @p='test-fseeko3.sh'; \
+ b='test-fseeko3.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fseeko4.sh.log: test-fseeko4.sh
+ @p='test-fseeko4.sh'; \
+ b='test-fseeko4.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fstat.log: test-fstat$(EXEEXT)
+ @p='test-fstat$(EXEEXT)'; \
+ b='test-fstat'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-ftell.sh.log: test-ftell.sh
- @p='test-ftell.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-ftell.sh'; \
+ b='test-ftell.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-ftell2.sh.log: test-ftell2.sh
- @p='test-ftell2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-ftell2.sh'; \
+ b='test-ftell2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-ftell3.log: test-ftell3$(EXEEXT)
- @p='test-ftell3$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-ftell3$(EXEEXT)'; \
+ b='test-ftell3'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-ftello.sh.log: test-ftello.sh
- @p='test-ftello.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-ftello.sh'; \
+ b='test-ftello.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-ftello2.sh.log: test-ftello2.sh
- @p='test-ftello2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-ftello2.sh'; \
+ b='test-ftello2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-ftello3.log: test-ftello3$(EXEEXT)
- @p='test-ftello3$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-ftello3$(EXEEXT)'; \
+ b='test-ftello3'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-ftello4.sh.log: test-ftello4.sh
+ @p='test-ftello4.sh'; \
+ b='test-ftello4.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-fwrite.log: test-fwrite$(EXEEXT)
+ @p='test-fwrite$(EXEEXT)'; \
+ b='test-fwrite'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-getcwd-lgpl.log: test-getcwd-lgpl$(EXEEXT)
+ @p='test-getcwd-lgpl$(EXEEXT)'; \
+ b='test-getcwd-lgpl'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-getdtablesize.log: test-getdtablesize$(EXEEXT)
- @p='test-getdtablesize$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-getdtablesize$(EXEEXT)'; \
+ b='test-getdtablesize'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-getopt.log: test-getopt$(EXEEXT)
- @p='test-getopt$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-getopt$(EXEEXT)'; \
+ b='test-getopt'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-gettimeofday.log: test-gettimeofday$(EXEEXT)
- @p='test-gettimeofday$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-gettimeofday$(EXEEXT)'; \
+ b='test-gettimeofday'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-ignore-value.log: test-ignore-value$(EXEEXT)
- @p='test-ignore-value$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-ignore-value$(EXEEXT)'; \
+ b='test-ignore-value'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-intprops.log: test-intprops$(EXEEXT)
+ @p='test-intprops$(EXEEXT)'; \
+ b='test-intprops'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-inttypes.log: test-inttypes$(EXEEXT)
+ @p='test-inttypes$(EXEEXT)'; \
+ b='test-inttypes'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-isnand-nolibm.log: test-isnand-nolibm$(EXEEXT)
- @p='test-isnand-nolibm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-isnand-nolibm$(EXEEXT)'; \
+ b='test-isnand-nolibm'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-isnanf-nolibm.log: test-isnanf-nolibm$(EXEEXT)
- @p='test-isnanf-nolibm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-isnanf-nolibm$(EXEEXT)'; \
+ b='test-isnanf-nolibm'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-isnanl-nolibm.log: test-isnanl-nolibm$(EXEEXT)
- @p='test-isnanl-nolibm$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-isnanl-nolibm$(EXEEXT)'; \
+ b='test-isnanl-nolibm'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-langinfo-c++.log: test-langinfo-c++$(EXEEXT)
- @p='test-langinfo-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-langinfo-c++$(EXEEXT)'; \
+ b='test-langinfo-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-langinfo.log: test-langinfo$(EXEEXT)
- @p='test-langinfo$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-langinfo$(EXEEXT)'; \
+ b='test-langinfo'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-link.log: test-link$(EXEEXT)
- @p='test-link$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-link$(EXEEXT)'; \
+ b='test-link'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-linkedhash_list.log: test-linkedhash_list$(EXEEXT)
- @p='test-linkedhash_list$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-linkedhash_list$(EXEEXT)'; \
+ b='test-linkedhash_list'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-locale-c++.log: test-locale-c++$(EXEEXT)
- @p='test-locale-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-locale-c++$(EXEEXT)'; \
+ b='test-locale-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-locale.log: test-locale$(EXEEXT)
- @p='test-locale$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-locale$(EXEEXT)'; \
+ b='test-locale'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-localeconv.log: test-localeconv$(EXEEXT)
+ @p='test-localeconv$(EXEEXT)'; \
+ b='test-localeconv'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-localename.log: test-localename$(EXEEXT)
- @p='test-localename$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-localename$(EXEEXT)'; \
+ b='test-localename'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-lseek.sh.log: test-lseek.sh
- @p='test-lseek.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-lseek.sh'; \
+ b='test-lseek.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-lstat.log: test-lstat$(EXEEXT)
- @p='test-lstat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-lstat$(EXEEXT)'; \
+ b='test-lstat'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-malloc-gnu.log: test-malloc-gnu$(EXEEXT)
- @p='test-malloc-gnu$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-malloc-gnu$(EXEEXT)'; \
+ b='test-malloc-gnu'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-malloca.log: test-malloca$(EXEEXT)
- @p='test-malloca$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-malloca$(EXEEXT)'; \
+ b='test-malloca'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-math-c++.log: test-math-c++$(EXEEXT)
- @p='test-math-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-math-c++$(EXEEXT)'; \
+ b='test-math-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-math.log: test-math$(EXEEXT)
- @p='test-math$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-math$(EXEEXT)'; \
+ b='test-math'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbrtowc1.sh.log: test-mbrtowc1.sh
- @p='test-mbrtowc1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-mbrtowc1.sh'; \
+ b='test-mbrtowc1.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbrtowc2.sh.log: test-mbrtowc2.sh
- @p='test-mbrtowc2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-mbrtowc2.sh'; \
+ b='test-mbrtowc2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbrtowc3.sh.log: test-mbrtowc3.sh
- @p='test-mbrtowc3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-mbrtowc3.sh'; \
+ b='test-mbrtowc3.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbrtowc4.sh.log: test-mbrtowc4.sh
- @p='test-mbrtowc4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-mbrtowc4.sh'; \
+ b='test-mbrtowc4.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbrtowc-w32-1.sh.log: test-mbrtowc-w32-1.sh
- @p='test-mbrtowc-w32-1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-mbrtowc-w32-1.sh'; \
+ b='test-mbrtowc-w32-1.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbrtowc-w32-2.sh.log: test-mbrtowc-w32-2.sh
- @p='test-mbrtowc-w32-2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-mbrtowc-w32-2.sh'; \
+ b='test-mbrtowc-w32-2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbrtowc-w32-3.sh.log: test-mbrtowc-w32-3.sh
- @p='test-mbrtowc-w32-3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-mbrtowc-w32-3.sh'; \
+ b='test-mbrtowc-w32-3.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbrtowc-w32-4.sh.log: test-mbrtowc-w32-4.sh
- @p='test-mbrtowc-w32-4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-mbrtowc-w32-4.sh'; \
+ b='test-mbrtowc-w32-4.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbrtowc-w32-5.sh.log: test-mbrtowc-w32-5.sh
- @p='test-mbrtowc-w32-5.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-mbrtowc-w32-5.sh'; \
+ b='test-mbrtowc-w32-5.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-mbsinit.sh.log: test-mbsinit.sh
- @p='test-mbsinit.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-mbsinit.sh'; \
+ b='test-mbsinit.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-memchr.log: test-memchr$(EXEEXT)
- @p='test-memchr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-memchr$(EXEEXT)'; \
+ b='test-memchr'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-memchr2.log: test-memchr2$(EXEEXT)
- @p='test-memchr2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-memchr2$(EXEEXT)'; \
+ b='test-memchr2'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-nl_langinfo.sh.log: test-nl_langinfo.sh
- @p='test-nl_langinfo.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-nl_langinfo.sh'; \
+ b='test-nl_langinfo.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-open.log: test-open$(EXEEXT)
- @p='test-open$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-open$(EXEEXT)'; \
+ b='test-open'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-pathmax.log: test-pathmax$(EXEEXT)
+ @p='test-pathmax$(EXEEXT)'; \
+ b='test-pathmax'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-pipe2.log: test-pipe2$(EXEEXT)
- @p='test-pipe2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-pipe2$(EXEEXT)'; \
+ b='test-pipe2'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-posix_spawn_file_actions_addclose.log: test-posix_spawn_file_actions_addclose$(EXEEXT)
+ @p='test-posix_spawn_file_actions_addclose$(EXEEXT)'; \
+ b='test-posix_spawn_file_actions_addclose'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-posix_spawn_file_actions_adddup2.log: test-posix_spawn_file_actions_adddup2$(EXEEXT)
+ @p='test-posix_spawn_file_actions_adddup2$(EXEEXT)'; \
+ b='test-posix_spawn_file_actions_adddup2'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-posix_spawn_file_actions_addopen.log: test-posix_spawn_file_actions_addopen$(EXEEXT)
+ @p='test-posix_spawn_file_actions_addopen$(EXEEXT)'; \
+ b='test-posix_spawn_file_actions_addopen'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-posix_spawn1.log: test-posix_spawn1$(EXEEXT)
- @p='test-posix_spawn1$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-posix_spawn1$(EXEEXT)'; \
+ b='test-posix_spawn1'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-posix_spawn2.log: test-posix_spawn2$(EXEEXT)
- @p='test-posix_spawn2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-posix_spawn2$(EXEEXT)'; \
+ b='test-posix_spawn2'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-printf-frexp.log: test-printf-frexp$(EXEEXT)
- @p='test-printf-frexp$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-printf-frexp$(EXEEXT)'; \
+ b='test-printf-frexp'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-printf-frexpl.log: test-printf-frexpl$(EXEEXT)
- @p='test-printf-frexpl$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-printf-frexpl$(EXEEXT)'; \
+ b='test-printf-frexpl'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-quotearg-simple.log: test-quotearg-simple$(EXEEXT)
- @p='test-quotearg-simple$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-quotearg-simple$(EXEEXT)'; \
+ b='test-quotearg-simple'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-raise.log: test-raise$(EXEEXT)
+ @p='test-raise$(EXEEXT)'; \
+ b='test-raise'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-rawmemchr.log: test-rawmemchr$(EXEEXT)
- @p='test-rawmemchr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-rawmemchr$(EXEEXT)'; \
+ b='test-rawmemchr'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-readlink.log: test-readlink$(EXEEXT)
- @p='test-readlink$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-readlink$(EXEEXT)'; \
+ b='test-readlink'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-regex.log: test-regex$(EXEEXT)
+ @p='test-regex$(EXEEXT)'; \
+ b='test-regex'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-rename.log: test-rename$(EXEEXT)
- @p='test-rename$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-rename$(EXEEXT)'; \
+ b='test-rename'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-rmdir.log: test-rmdir$(EXEEXT)
- @p='test-rmdir$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-rmdir$(EXEEXT)'; \
+ b='test-rmdir'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-sched.log: test-sched$(EXEEXT)
- @p='test-sched$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-sched$(EXEEXT)'; \
+ b='test-sched'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-setenv.log: test-setenv$(EXEEXT)
- @p='test-setenv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-setenv$(EXEEXT)'; \
+ b='test-setenv'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-setlocale1.sh.log: test-setlocale1.sh
- @p='test-setlocale1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-setlocale1.sh'; \
+ b='test-setlocale1.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-setlocale2.sh.log: test-setlocale2.sh
- @p='test-setlocale2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-setlocale2.sh'; \
+ b='test-setlocale2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-sigaction.log: test-sigaction$(EXEEXT)
- @p='test-sigaction$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
-test-signal-c++.log: test-signal-c++$(EXEEXT)
- @p='test-signal-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
-test-signal.log: test-signal$(EXEEXT)
- @p='test-signal$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-sigaction$(EXEEXT)'; \
+ b='test-sigaction'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-signal-h-c++.log: test-signal-h-c++$(EXEEXT)
+ @p='test-signal-h-c++$(EXEEXT)'; \
+ b='test-signal-h-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-signal-h.log: test-signal-h$(EXEEXT)
+ @p='test-signal-h$(EXEEXT)'; \
+ b='test-signal-h'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-signbit.log: test-signbit$(EXEEXT)
- @p='test-signbit$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-signbit$(EXEEXT)'; \
+ b='test-signbit'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-sigpipe.sh.log: test-sigpipe.sh
+ @p='test-sigpipe.sh'; \
+ b='test-sigpipe.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-sigprocmask.log: test-sigprocmask$(EXEEXT)
+ @p='test-sigprocmask$(EXEEXT)'; \
+ b='test-sigprocmask'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-sleep.log: test-sleep$(EXEEXT)
+ @p='test-sleep$(EXEEXT)'; \
+ b='test-sleep'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-snprintf.log: test-snprintf$(EXEEXT)
- @p='test-snprintf$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-snprintf$(EXEEXT)'; \
+ b='test-snprintf'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-spawn-c++.log: test-spawn-c++$(EXEEXT)
- @p='test-spawn-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-spawn-c++$(EXEEXT)'; \
+ b='test-spawn-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-spawn-pipe.sh.log: test-spawn-pipe.sh
- @p='test-spawn-pipe.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-spawn-pipe.sh'; \
+ b='test-spawn-pipe.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-spawn.log: test-spawn$(EXEEXT)
- @p='test-spawn$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-spawn$(EXEEXT)'; \
+ b='test-spawn'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-stat.log: test-stat$(EXEEXT)
- @p='test-stat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-stat$(EXEEXT)'; \
+ b='test-stat'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-stdbool.log: test-stdbool$(EXEEXT)
- @p='test-stdbool$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-stdbool$(EXEEXT)'; \
+ b='test-stdbool'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-stddef.log: test-stddef$(EXEEXT)
- @p='test-stddef$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-stddef$(EXEEXT)'; \
+ b='test-stddef'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-stdint.log: test-stdint$(EXEEXT)
- @p='test-stdint$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-stdint$(EXEEXT)'; \
+ b='test-stdint'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-stdio-c++.log: test-stdio-c++$(EXEEXT)
- @p='test-stdio-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-stdio-c++$(EXEEXT)'; \
+ b='test-stdio-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-stdio.log: test-stdio$(EXEEXT)
- @p='test-stdio$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-stdio$(EXEEXT)'; \
+ b='test-stdio'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-stdlib-c++.log: test-stdlib-c++$(EXEEXT)
- @p='test-stdlib-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-stdlib-c++$(EXEEXT)'; \
+ b='test-stdlib-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-stdlib.log: test-stdlib$(EXEEXT)
- @p='test-stdlib$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-stdlib$(EXEEXT)'; \
+ b='test-stdlib'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-strchrnul.log: test-strchrnul$(EXEEXT)
- @p='test-strchrnul$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-strchrnul$(EXEEXT)'; \
+ b='test-strchrnul'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-strerror.log: test-strerror$(EXEEXT)
- @p='test-strerror$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-strerror$(EXEEXT)'; \
+ b='test-strerror'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-string-c++.log: test-string-c++$(EXEEXT)
- @p='test-string-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-string-c++$(EXEEXT)'; \
+ b='test-string-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-string.log: test-string$(EXEEXT)
- @p='test-string$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-string$(EXEEXT)'; \
+ b='test-string'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-strnlen.log: test-strnlen$(EXEEXT)
- @p='test-strnlen$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-strnlen$(EXEEXT)'; \
+ b='test-strnlen'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-strsignal.log: test-strsignal$(EXEEXT)
- @p='test-strsignal$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-strsignal$(EXEEXT)'; \
+ b='test-strsignal'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-strstr.log: test-strstr$(EXEEXT)
- @p='test-strstr$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-strstr$(EXEEXT)'; \
+ b='test-strstr'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-strtod.log: test-strtod$(EXEEXT)
- @p='test-strtod$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-strtod$(EXEEXT)'; \
+ b='test-strtod'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-symlink.log: test-symlink$(EXEEXT)
- @p='test-symlink$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-symlink$(EXEEXT)'; \
+ b='test-symlink'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-sys_stat-c++.log: test-sys_stat-c++$(EXEEXT)
- @p='test-sys_stat-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-sys_stat-c++$(EXEEXT)'; \
+ b='test-sys_stat-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-sys_stat.log: test-sys_stat$(EXEEXT)
- @p='test-sys_stat$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-sys_stat$(EXEEXT)'; \
+ b='test-sys_stat'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-sys_time-c++.log: test-sys_time-c++$(EXEEXT)
- @p='test-sys_time-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-sys_time-c++$(EXEEXT)'; \
+ b='test-sys_time-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-sys_time.log: test-sys_time$(EXEEXT)
- @p='test-sys_time$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-sys_time$(EXEEXT)'; \
+ b='test-sys_time'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-sys_types-c++.log: test-sys_types-c++$(EXEEXT)
+ @p='test-sys_types-c++$(EXEEXT)'; \
+ b='test-sys_types-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-sys_types.log: test-sys_types$(EXEEXT)
+ @p='test-sys_types$(EXEEXT)'; \
+ b='test-sys_types'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-sys_wait-c++.log: test-sys_wait-c++$(EXEEXT)
- @p='test-sys_wait-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-sys_wait-c++$(EXEEXT)'; \
+ b='test-sys_wait-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-sys_wait.log: test-sys_wait$(EXEEXT)
- @p='test-sys_wait$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-sys_wait$(EXEEXT)'; \
+ b='test-sys_wait'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-init.sh.log: test-init.sh
+ @p='test-init.sh'; \
+ b='test-init.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-time-c++.log: test-time-c++$(EXEEXT)
- @p='test-time-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-time-c++$(EXEEXT)'; \
+ b='test-time-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-time.log: test-time$(EXEEXT)
- @p='test-time$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-time$(EXEEXT)'; \
+ b='test-time'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-unistd-c++.log: test-unistd-c++$(EXEEXT)
- @p='test-unistd-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-unistd-c++$(EXEEXT)'; \
+ b='test-unistd-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-dup-safer.log: test-dup-safer$(EXEEXT)
- @p='test-dup-safer$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-dup-safer$(EXEEXT)'; \
+ b='test-dup-safer'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-unistd.log: test-unistd$(EXEEXT)
- @p='test-unistd$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-unistd$(EXEEXT)'; \
+ b='test-unistd'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-unsetenv.log: test-unsetenv$(EXEEXT)
- @p='test-unsetenv$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-unsetenv$(EXEEXT)'; \
+ b='test-unsetenv'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-update-copyright.sh.log: test-update-copyright.sh
- @p='test-update-copyright.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-update-copyright.sh'; \
+ b='test-update-copyright.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-vasnprintf.log: test-vasnprintf$(EXEEXT)
- @p='test-vasnprintf$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-vasnprintf$(EXEEXT)'; \
+ b='test-vasnprintf'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-vasprintf-posix.log: test-vasprintf-posix$(EXEEXT)
- @p='test-vasprintf-posix$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-vasprintf-posix$(EXEEXT)'; \
+ b='test-vasprintf-posix'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-vasprintf.log: test-vasprintf$(EXEEXT)
- @p='test-vasprintf$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-vasprintf$(EXEEXT)'; \
+ b='test-vasprintf'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-vc-list-files-git.sh.log: test-vc-list-files-git.sh
- @p='test-vc-list-files-git.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-vc-list-files-git.sh'; \
+ b='test-vc-list-files-git.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-vc-list-files-cvs.sh.log: test-vc-list-files-cvs.sh
- @p='test-vc-list-files-cvs.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-vc-list-files-cvs.sh'; \
+ b='test-vc-list-files-cvs.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-verify.log: test-verify$(EXEEXT)
- @p='test-verify$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-verify$(EXEEXT)'; \
+ b='test-verify'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-verify.sh.log: test-verify.sh
- @p='test-verify.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-verify.sh'; \
+ b='test-verify.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-version-etc.sh.log: test-version-etc.sh
- @p='test-version-etc.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-version-etc.sh'; \
+ b='test-version-etc.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wchar-c++.log: test-wchar-c++$(EXEEXT)
- @p='test-wchar-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-wchar-c++$(EXEEXT)'; \
+ b='test-wchar-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wchar.log: test-wchar$(EXEEXT)
- @p='test-wchar$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-wchar$(EXEEXT)'; \
+ b='test-wchar'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wcrtomb.sh.log: test-wcrtomb.sh
- @p='test-wcrtomb.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-wcrtomb.sh'; \
+ b='test-wcrtomb.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wcrtomb-w32-1.sh.log: test-wcrtomb-w32-1.sh
- @p='test-wcrtomb-w32-1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-wcrtomb-w32-1.sh'; \
+ b='test-wcrtomb-w32-1.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wcrtomb-w32-2.sh.log: test-wcrtomb-w32-2.sh
- @p='test-wcrtomb-w32-2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-wcrtomb-w32-2.sh'; \
+ b='test-wcrtomb-w32-2.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wcrtomb-w32-3.sh.log: test-wcrtomb-w32-3.sh
- @p='test-wcrtomb-w32-3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-wcrtomb-w32-3.sh'; \
+ b='test-wcrtomb-w32-3.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wcrtomb-w32-4.sh.log: test-wcrtomb-w32-4.sh
- @p='test-wcrtomb-w32-4.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-wcrtomb-w32-4.sh'; \
+ b='test-wcrtomb-w32-4.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wcrtomb-w32-5.sh.log: test-wcrtomb-w32-5.sh
- @p='test-wcrtomb-w32-5.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-wcrtomb-w32-5.sh'; \
+ b='test-wcrtomb-w32-5.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wctype-h-c++.log: test-wctype-h-c++$(EXEEXT)
- @p='test-wctype-h-c++$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-wctype-h-c++$(EXEEXT)'; \
+ b='test-wctype-h-c++'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-wctype-h.log: test-wctype-h$(EXEEXT)
- @p='test-wctype-h$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-wctype-h$(EXEEXT)'; \
+ b='test-wctype-h'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+test-write.log: test-write$(EXEEXT)
+ @p='test-write$(EXEEXT)'; \
+ b='test-write'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-xalloc-die.sh.log: test-xalloc-die.sh
- @p='test-xalloc-die.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-xalloc-die.sh'; \
+ b='test-xalloc-die.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-xvasprintf.log: test-xvasprintf$(EXEEXT)
- @p='test-xvasprintf$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='test-xvasprintf$(EXEEXT)'; \
+ b='test-xvasprintf'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
.test.log:
- @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
+ @p='$<'; \
+ $(am__set_b); \
+ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
@am__EXEEXT_TRUE@.test$(EXEEXT).log:
-@am__EXEEXT_TRUE@ @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
+@am__EXEEXT_TRUE@ @p='$<'; \
+@am__EXEEXT_TRUE@ $(am__set_b); \
+@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -3507,13 +5535,10 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
@@ -3552,15 +5577,19 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
- -test -z "$(TEST_LOGS_TMP)" || rm -f $(TEST_LOGS_TMP)
- -test -z "$(TEST_SUITE_HTML)" || rm -f $(TEST_SUITE_HTML)
+ -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
clean-generic:
@@ -3648,15 +5677,14 @@ ps-am:
uninstall-am:
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
- check-am check-html ctags-recursive install install-am \
- install-strip recheck recheck-html tags-recursive
+.MAKE: $(am__recursive_targets) all check check-am install install-am \
+ install-strip
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-TESTS check-am check-html clean \
- clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
- clean-local clean-noinstLIBRARIES clean-noinstPROGRAMS ctags \
- ctags-recursive distclean distclean-compile distclean-generic \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-TESTS check-am clean clean-checkLIBRARIES \
+ clean-checkPROGRAMS clean-generic clean-local \
+ clean-noinstLIBRARIES clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
@@ -3665,45 +5693,81 @@ uninstall-am:
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-local pdf pdf-am ps ps-am recheck recheck-html \
- tags tags-recursive uninstall uninstall-am
+ mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \
+ uninstall uninstall-am
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/arg-nonnull.h, except that it has the copyright header cut off.
-arg-nonnull.h: $(top_srcdir)/build-aux/arg-nonnull.h
- $(AM_V_GEN)rm -f $@-t $@ && \
- sed -n -e '/GL_ARG_NONNULL/,$$p' \
- < $(top_srcdir)/build-aux/arg-nonnull.h \
- > $@-t && \
- mv $@-t $@
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/c++defs.h
+
+# We need the following in order to create <dirent.h> when the system
+# doesn't have one that works with the given compiler.
+dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
$(AM_V_GEN)rm -f $@-t $@ && \
- sed -n -e '/_GL_CXXDEFS/,$$p' \
- < $(top_srcdir)/build-aux/c++defs.h \
- > $@-t && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL_M4|g' \
+ -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
+ -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \
+ -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \
+ -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \
+ -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \
+ -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \
+ -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \
+ -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \
+ -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \
+ -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \
+ -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \
+ -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \
+ -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \
+ -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \
+ -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \
+ -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \
+ -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \
+ -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \
+ -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \
+ -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \
+ -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \
+ -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/dirent.in.h; \
+ } > $@-t && \
mv $@-t $@
-# We need the following in order to create <locale.h> when the system
-# doesn't have one that provides all definitions.
-locale.h: locale.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+# We need the following in order to create <inttypes.h> when the system
+# doesn't have one that works with the given compiler.
+inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
$(AM_V_GEN)rm -f $@-t $@ && \
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
- -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
- -e 's|@''GNULIB_SETLOCALE''@|$(GNULIB_SETLOCALE)|g' \
- -e 's|@''GNULIB_DUPLOCALE''@|$(GNULIB_DUPLOCALE)|g' \
- -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
- -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
- -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
- -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
+ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
+ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
+ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
+ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
+ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
+ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
+ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
+ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
+ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
+ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
+ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+ -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
+ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
+ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
+ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
+ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- < $(srcdir)/locale.in.h; \
+ < $(srcdir)/inttypes.in.h; \
} > $@-t && \
mv $@-t $@
@POSIX_SPAWN_PORTED_TRUE@test-posix_spawn1.sh: test-posix_spawn1.in.sh
@@ -3714,12 +5778,39 @@ locale.h: locale.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
@POSIX_SPAWN_PORTED_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
@POSIX_SPAWN_PORTED_TRUE@ cp $(srcdir)/test-posix_spawn2.in.sh $@-t && \
@POSIX_SPAWN_PORTED_TRUE@ mv $@-t $@
+# The arg-nonnull.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+# off.
+arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_ARG_NONNULL/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ > $@-t && \
+ mv $@-t $@
+# The c++defs.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/_GL_CXXDEFS/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/c++defs.h \
+ > $@-t && \
+ mv $@-t $@
+# The unused-parameter.h that gets inserted into generated .h files is the same
+# as build-aux/snippet/unused-parameter.h, except that it has the copyright
+# header cut off.
+unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
+ > $@-t && \
+ mv $@-t $@
# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/warn-on-use.h, except that it has the copyright header cut off.
-warn-on-use.h: $(top_srcdir)/build-aux/warn-on-use.h
+# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+# off.
+warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
$(AM_V_GEN)rm -f $@-t $@ && \
sed -n -e '/^.ifndef/,$$p' \
- < $(top_srcdir)/build-aux/warn-on-use.h \
+ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
> $@-t && \
mv $@-t $@
diff --git a/tests/c-strcase.h b/tests/c-strcase.h
deleted file mode 100644
index 4148c34..0000000
--- a/tests/c-strcase.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Case-insensitive string comparison functions in C locale.
- Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2011 Free Software
- Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef C_STRCASE_H
-#define C_STRCASE_H
-
-#include <stddef.h>
-
-
-/* The functions defined in this file assume the "C" locale and a character
- set without diacritics (ASCII-US or EBCDIC-US or something like that).
- Even if the "C" locale on a particular system is an extension of the ASCII
- character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it
- is ISO-8859-1), the functions in this file recognize only the ASCII
- characters. More precisely, one of the string arguments must be an ASCII
- string; the other one can also contain non-ASCII characters (but then
- the comparison result will be nonzero). */
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Compare strings S1 and S2, ignoring case, returning less than, equal to or
- greater than zero if S1 is lexicographically less than, equal to or greater
- than S2. */
-extern int c_strcasecmp (const char *s1, const char *s2);
-
-/* Compare no more than N characters of strings S1 and S2, ignoring case,
- returning less than, equal to or greater than zero if S1 is
- lexicographically less than, equal to or greater than S2. */
-extern int c_strncasecmp (const char *s1, const char *s2, size_t n);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* C_STRCASE_H */
diff --git a/tests/c-strcasecmp.c b/tests/c-strcasecmp.c
deleted file mode 100644
index 4c4e106..0000000
--- a/tests/c-strcasecmp.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* c-strcasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2011 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#include <config.h>
-
-/* Specification. */
-#include "c-strcase.h"
-
-#include <limits.h>
-
-#include "c-ctype.h"
-
-int
-c_strcasecmp (const char *s1, const char *s2)
-{
- register const unsigned char *p1 = (const unsigned char *) s1;
- register const unsigned char *p2 = (const unsigned char *) s2;
- unsigned char c1, c2;
-
- if (p1 == p2)
- return 0;
-
- do
- {
- c1 = c_tolower (*p1);
- c2 = c_tolower (*p2);
-
- if (c1 == '\0')
- break;
-
- ++p1;
- ++p2;
- }
- while (c1 == c2);
-
- if (UCHAR_MAX <= INT_MAX)
- return c1 - c2;
- else
- /* On machines where 'char' and 'int' are types of the same size, the
- difference of two 'unsigned char' values - including the sign bit -
- doesn't fit in an 'int'. */
- return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0);
-}
diff --git a/tests/c-strncasecmp.c b/tests/c-strncasecmp.c
deleted file mode 100644
index 0c433b9..0000000
--- a/tests/c-strncasecmp.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* c-strncasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2011 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#include <config.h>
-
-/* Specification. */
-#include "c-strcase.h"
-
-#include <limits.h>
-
-#include "c-ctype.h"
-
-int
-c_strncasecmp (const char *s1, const char *s2, size_t n)
-{
- register const unsigned char *p1 = (const unsigned char *) s1;
- register const unsigned char *p2 = (const unsigned char *) s2;
- unsigned char c1, c2;
-
- if (p1 == p2 || n == 0)
- return 0;
-
- do
- {
- c1 = c_tolower (*p1);
- c2 = c_tolower (*p2);
-
- if (--n == 0 || c1 == '\0')
- break;
-
- ++p1;
- ++p2;
- }
- while (c1 == c2);
-
- if (UCHAR_MAX <= INT_MAX)
- return c1 - c2;
- else
- /* On machines where 'char' and 'int' are types of the same size, the
- difference of two 'unsigned char' values - including the sign bit -
- doesn't fit in an 'int'. */
- return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0);
-}
diff --git a/tests/closedir.c b/tests/closedir.c
new file mode 100644
index 0000000..fa8e210
--- /dev/null
+++ b/tests/closedir.c
@@ -0,0 +1,67 @@
+/* Stop reading the entries of a directory.
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <dirent.h>
+
+#if REPLACE_FCHDIR
+# include <unistd.h>
+#endif
+
+#if HAVE_CLOSEDIR
+
+/* Override closedir(), to keep track of the open file descriptors.
+ Needed because there is a function dirfd(). */
+
+#else
+
+# include <stdlib.h>
+
+# include "dirent-private.h"
+
+#endif
+
+int
+closedir (DIR *dirp)
+{
+# if REPLACE_FCHDIR
+ int fd = dirfd (dirp);
+# endif
+ int retval;
+
+#if HAVE_CLOSEDIR
+# undef closedir
+
+ retval = closedir (dirp);
+
+#else
+
+ if (dirp->current != INVALID_HANDLE_VALUE)
+ FindClose (dirp->current);
+ free (dirp);
+
+ retval = 0;
+
+#endif
+
+#if REPLACE_FCHDIR
+ if (retval >= 0)
+ _gl_unregister_fd (fd);
+#endif
+ return retval;
+}
diff --git a/tests/dirent-private.h b/tests/dirent-private.h
new file mode 100644
index 0000000..441071c
--- /dev/null
+++ b/tests/dirent-private.h
@@ -0,0 +1,40 @@
+/* Private details of the DIR type.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _DIRENT_PRIVATE_H
+#define _DIRENT_PRIVATE_H 1
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+struct gl_directory
+{
+ /* Status, or error code to produce in next readdir() call.
+ -2 means the end of the directory is already reached,
+ -1 means the entry was already filled by FindFirstFile,
+ 0 means the entry needs to be filled using FindNextFile.
+ A positive value is an error code. */
+ int status;
+ /* Handle, reading the directory, at current position. */
+ HANDLE current;
+ /* Found directory entry. */
+ WIN32_FIND_DATA entry;
+ /* Argument to pass to FindFirstFile. It consists of the absolutized
+ directory name, followed by a directory separator and the wildcards. */
+ char dir_name_mask[1];
+};
+
+#endif /* _DIRENT_PRIVATE_H */
diff --git a/tests/dirent.in.h b/tests/dirent.in.h
new file mode 100644
index 0000000..fad3797
--- /dev/null
+++ b/tests/dirent.in.h
@@ -0,0 +1,258 @@
+/* A GNU-like <dirent.h>.
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _@GUARD_PREFIX@_DIRENT_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* The include_next requires a split double-inclusion guard. */
+#if @HAVE_DIRENT_H@
+# @INCLUDE_NEXT@ @NEXT_DIRENT_H@
+#endif
+
+#ifndef _@GUARD_PREFIX@_DIRENT_H
+#define _@GUARD_PREFIX@_DIRENT_H
+
+/* Get ino_t. Needed on some systems, including glibc 2.8. */
+#include <sys/types.h>
+
+#if !@HAVE_DIRENT_H@
+/* Define types DIR and 'struct dirent'. */
+# if !GNULIB_defined_struct_dirent
+struct dirent
+{
+ char d_type;
+ char d_name[1];
+};
+/* Possible values for 'd_type'. */
+# define DT_UNKNOWN 0
+# define DT_FIFO 1 /* FIFO */
+# define DT_CHR 2 /* character device */
+# define DT_DIR 4 /* directory */
+# define DT_BLK 6 /* block device */
+# define DT_REG 8 /* regular file */
+# define DT_LNK 10 /* symbolic link */
+# define DT_SOCK 12 /* socket */
+# define DT_WHT 14 /* whiteout */
+typedef struct gl_directory DIR;
+# define GNULIB_defined_struct_dirent 1
+# endif
+#endif
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+ The attribute __pure__ was added in gcc 2.96. */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Declare overridden functions. */
+
+#if @GNULIB_OPENDIR@
+# if @REPLACE_OPENDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef opendir
+# define opendir rpl_opendir
+# endif
+_GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name));
+# else
+# if !@HAVE_OPENDIR@
+_GL_FUNCDECL_SYS (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (opendir, DIR *, (const char *dir_name));
+# endif
+_GL_CXXALIASWARN (opendir);
+#elif defined GNULIB_POSIXCHECK
+# undef opendir
+# if HAVE_RAW_DECL_OPENDIR
+_GL_WARN_ON_USE (opendir, "opendir is not portable - "
+ "use gnulib module opendir for portability");
+# endif
+#endif
+
+#if @GNULIB_READDIR@
+# if !@HAVE_READDIR@
+_GL_FUNCDECL_SYS (readdir, struct dirent *, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (readdir, struct dirent *, (DIR *dirp));
+_GL_CXXALIASWARN (readdir);
+#elif defined GNULIB_POSIXCHECK
+# undef readdir
+# if HAVE_RAW_DECL_READDIR
+_GL_WARN_ON_USE (readdir, "readdir is not portable - "
+ "use gnulib module readdir for portability");
+# endif
+#endif
+
+#if @GNULIB_REWINDDIR@
+# if !@HAVE_REWINDDIR@
+_GL_FUNCDECL_SYS (rewinddir, void, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (rewinddir, void, (DIR *dirp));
+_GL_CXXALIASWARN (rewinddir);
+#elif defined GNULIB_POSIXCHECK
+# undef rewinddir
+# if HAVE_RAW_DECL_REWINDDIR
+_GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - "
+ "use gnulib module rewinddir for portability");
+# endif
+#endif
+
+#if @GNULIB_CLOSEDIR@
+# if @REPLACE_CLOSEDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef closedir
+# define closedir rpl_closedir
+# endif
+_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp));
+# else
+# if !@HAVE_CLOSEDIR@
+_GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (closedir, int, (DIR *dirp));
+# endif
+_GL_CXXALIASWARN (closedir);
+#elif defined GNULIB_POSIXCHECK
+# undef closedir
+# if HAVE_RAW_DECL_CLOSEDIR
+_GL_WARN_ON_USE (closedir, "closedir is not portable - "
+ "use gnulib module closedir for portability");
+# endif
+#endif
+
+#if @GNULIB_DIRFD@
+/* Return the file descriptor associated with the given directory stream,
+ or -1 if none exists. */
+# if @REPLACE_DIRFD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef dirfd
+# define dirfd rpl_dirfd
+# endif
+_GL_FUNCDECL_RPL (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (dirfd, int, (DIR *));
+# else
+# if defined __cplusplus && defined GNULIB_NAMESPACE && defined dirfd
+ /* dirfd is defined as a macro and not as a function.
+ Turn it into a function and get rid of the macro. */
+static inline int (dirfd) (DIR *dp) { return dirfd (dp); }
+# undef dirfd
+# endif
+# if !(@HAVE_DECL_DIRFD@ || defined dirfd)
+_GL_FUNCDECL_SYS (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (dirfd, int, (DIR *));
+# endif
+_GL_CXXALIASWARN (dirfd);
+#elif defined GNULIB_POSIXCHECK
+# undef dirfd
+# if HAVE_RAW_DECL_DIRFD
+_GL_WARN_ON_USE (dirfd, "dirfd is unportable - "
+ "use gnulib module dirfd for portability");
+# endif
+#endif
+
+#if @GNULIB_FDOPENDIR@
+/* Open a directory stream visiting the given directory file
+ descriptor. Return NULL and set errno if fd is not visiting a
+ directory. On success, this function consumes fd (it will be
+ implicitly closed either by this function or by a subsequent
+ closedir). */
+# if @REPLACE_FDOPENDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fdopendir
+# define fdopendir rpl_fdopendir
+# endif
+_GL_FUNCDECL_RPL (fdopendir, DIR *, (int fd));
+_GL_CXXALIAS_RPL (fdopendir, DIR *, (int fd));
+# else
+# if !@HAVE_FDOPENDIR@ || !@HAVE_DECL_FDOPENDIR@
+_GL_FUNCDECL_SYS (fdopendir, DIR *, (int fd));
+# endif
+_GL_CXXALIAS_SYS (fdopendir, DIR *, (int fd));
+# endif
+_GL_CXXALIASWARN (fdopendir);
+#elif defined GNULIB_POSIXCHECK
+# undef fdopendir
+# if HAVE_RAW_DECL_FDOPENDIR
+_GL_WARN_ON_USE (fdopendir, "fdopendir is unportable - "
+ "use gnulib module fdopendir for portability");
+# endif
+#endif
+
+#if @GNULIB_SCANDIR@
+/* Scan the directory DIR, calling FILTER on each directory entry.
+ Entries for which FILTER returns nonzero are individually malloc'd,
+ sorted using qsort with CMP, and collected in a malloc'd array in
+ *NAMELIST. Returns the number of entries selected, or -1 on error. */
+# if !@HAVE_SCANDIR@
+_GL_FUNCDECL_SYS (scandir, int,
+ (const char *dir, struct dirent ***namelist,
+ int (*filter) (const struct dirent *),
+ int (*cmp) (const struct dirent **, const struct dirent **))
+ _GL_ARG_NONNULL ((1, 2, 4)));
+# endif
+/* Need to cast, because on glibc systems, the fourth parameter is
+ int (*cmp) (const void *, const void *). */
+_GL_CXXALIAS_SYS_CAST (scandir, int,
+ (const char *dir, struct dirent ***namelist,
+ int (*filter) (const struct dirent *),
+ int (*cmp) (const struct dirent **, const struct dirent **)));
+_GL_CXXALIASWARN (scandir);
+#elif defined GNULIB_POSIXCHECK
+# undef scandir
+# if HAVE_RAW_DECL_SCANDIR
+_GL_WARN_ON_USE (scandir, "scandir is unportable - "
+ "use gnulib module scandir for portability");
+# endif
+#endif
+
+#if @GNULIB_ALPHASORT@
+/* Compare two 'struct dirent' entries alphabetically. */
+# if !@HAVE_ALPHASORT@
+_GL_FUNCDECL_SYS (alphasort, int,
+ (const struct dirent **, const struct dirent **)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+/* Need to cast, because on glibc systems, the parameters are
+ (const void *, const void *). */
+_GL_CXXALIAS_SYS_CAST (alphasort, int,
+ (const struct dirent **, const struct dirent **));
+_GL_CXXALIASWARN (alphasort);
+#elif defined GNULIB_POSIXCHECK
+# undef alphasort
+# if HAVE_RAW_DECL_ALPHASORT
+_GL_WARN_ON_USE (alphasort, "alphasort is unportable - "
+ "use gnulib module alphasort for portability");
+# endif
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_DIRENT_H */
+#endif /* _@GUARD_PREFIX@_DIRENT_H */
diff --git a/tests/dup.c b/tests/dup.c
new file mode 100644
index 0000000..564d93c
--- /dev/null
+++ b/tests/dup.c
@@ -0,0 +1,61 @@
+/* Duplicate an open file descriptor.
+
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <unistd.h>
+
+#include <errno.h>
+
+#include "msvc-inval.h"
+
+#undef dup
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static int
+dup_nothrow (int fd)
+{
+ int result;
+
+ TRY_MSVC_INVAL
+ {
+ result = dup (fd);
+ }
+ CATCH_MSVC_INVAL
+ {
+ result = -1;
+ errno = EBADF;
+ }
+ DONE_MSVC_INVAL;
+
+ return result;
+}
+#else
+# define dup_nothrow dup
+#endif
+
+int
+rpl_dup (int fd)
+{
+ int result = dup_nothrow (fd);
+#if REPLACE_FCHDIR
+ if (result >= 0)
+ result = _gl_register_dup (fd, result);
+#endif
+ return result;
+}
diff --git a/tests/fdopen.c b/tests/fdopen.c
new file mode 100644
index 0000000..c717f71
--- /dev/null
+++ b/tests/fdopen.c
@@ -0,0 +1,69 @@
+/* Open a stream with a given file descriptor.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <stdio.h>
+
+#include <errno.h>
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
+
+#undef fdopen
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static FILE *
+fdopen_nothrow (int fd, const char *mode)
+{
+ FILE *result;
+
+ TRY_MSVC_INVAL
+ {
+ result = fdopen (fd, mode);
+ }
+ CATCH_MSVC_INVAL
+ {
+ result = NULL;
+ }
+ DONE_MSVC_INVAL;
+
+ return result;
+}
+#else
+# define fdopen_nothrow fdopen
+#endif
+
+FILE *
+rpl_fdopen (int fd, const char *mode)
+{
+ int saved_errno = errno;
+ FILE *fp;
+
+ errno = 0;
+ fp = fdopen_nothrow (fd, mode);
+ if (fp == NULL)
+ {
+ if (errno == 0)
+ errno = EBADF;
+ }
+ else
+ errno = saved_errno;
+
+ return fp;
+}
diff --git a/tests/filename.h b/tests/filename.h
new file mode 100644
index 0000000..b82a0ac
--- /dev/null
+++ b/tests/filename.h
@@ -0,0 +1,54 @@
+/* Basic filename support macros.
+ Copyright (C) 2001-2004, 2007-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _FILENAME_H
+#define _FILENAME_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Pathname support.
+ ISSLASH(C) tests whether C is a directory separator character.
+ IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not,
+ it may be concatenated to a directory pathname.
+ IS_PATH_WITH_DIR(P) tests whether P contains a directory specification.
+ */
+#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+ /* Native Windows, Cygwin, OS/2, DOS */
+# define ISSLASH(C) ((C) == '/' || (C) == '\\')
+# define HAS_DEVICE(P) \
+ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
+ && (P)[1] == ':')
+# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))
+# define IS_PATH_WITH_DIR(P) \
+ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
+# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
+#else
+ /* Unix */
+# define ISSLASH(C) ((C) == '/')
+# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
+# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
+# define FILE_SYSTEM_PREFIX_LEN(P) 0
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FILENAME_H */
diff --git a/tests/getcwd-lgpl.c b/tests/getcwd-lgpl.c
new file mode 100644
index 0000000..cebe8f7
--- /dev/null
+++ b/tests/getcwd-lgpl.c
@@ -0,0 +1,126 @@
+/* Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ This file is part of gnulib.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification */
+#include <unistd.h>
+
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+
+#if GNULIB_GETCWD
+/* Favor GPL getcwd.c if both getcwd and getcwd-lgpl modules are in use. */
+typedef int dummy;
+#else
+
+/* Get the name of the current working directory, and put it in SIZE
+ bytes of BUF. Returns NULL if the directory couldn't be determined
+ (perhaps because the absolute name was longer than PATH_MAX, or
+ because of missing read/search permissions on parent directories)
+ or SIZE was too small. If successful, returns BUF. If BUF is
+ NULL, an array is allocated with 'malloc'; the array is SIZE bytes
+ long, unless SIZE == 0, in which case it is as big as
+ necessary. */
+
+# undef getcwd
+char *
+rpl_getcwd (char *buf, size_t size)
+{
+ char *ptr;
+ char *result;
+
+ /* Handle single size operations. */
+ if (buf)
+ {
+ if (!size)
+ {
+ errno = EINVAL;
+ return NULL;
+ }
+ return getcwd (buf, size);
+ }
+
+ if (size)
+ {
+ buf = malloc (size);
+ if (!buf)
+ {
+ errno = ENOMEM;
+ return NULL;
+ }
+ result = getcwd (buf, size);
+ if (!result)
+ {
+ int saved_errno = errno;
+ free (buf);
+ errno = saved_errno;
+ }
+ return result;
+ }
+
+ /* Flexible sizing requested. Avoid over-allocation for the common
+ case of a name that fits within a 4k page, minus some space for
+ local variables, to be sure we don't skip over a guard page. */
+ {
+ char tmp[4032];
+ size = sizeof tmp;
+ ptr = getcwd (tmp, size);
+ if (ptr)
+ {
+ result = strdup (ptr);
+ if (!result)
+ errno = ENOMEM;
+ return result;
+ }
+ if (errno != ERANGE)
+ return NULL;
+ }
+
+ /* My what a large directory name we have. */
+ do
+ {
+ size <<= 1;
+ ptr = realloc (buf, size);
+ if (ptr == NULL)
+ {
+ free (buf);
+ errno = ENOMEM;
+ return NULL;
+ }
+ buf = ptr;
+ result = getcwd (buf, size);
+ }
+ while (!result && errno == ERANGE);
+
+ if (!result)
+ {
+ int saved_errno = errno;
+ free (buf);
+ errno = saved_errno;
+ }
+ else
+ {
+ /* Trim to fit, if possible. */
+ result = realloc (buf, strlen (buf) + 1);
+ if (!result)
+ result = buf;
+ }
+ return result;
+}
+
+#endif
diff --git a/tests/getpagesize.c b/tests/getpagesize.c
index d7c1ba8..274c591 100644
--- a/tests/getpagesize.c
+++ b/tests/getpagesize.c
@@ -1,6 +1,6 @@
/* getpagesize emulation for systems where it cannot be done in a C macro.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,7 +22,7 @@
/* Specification. */
#include <unistd.h>
-/* This implementation is only for native Win32 systems. */
+/* This implementation is only for native Windows systems. */
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
# define WIN32_LEAN_AND_MEAN
diff --git a/tests/gl_array_list.c b/tests/gl_array_list.c
index d0e2336..af5f891 100644
--- a/tests/gl_array_list.c
+++ b/tests/gl_array_list.c
@@ -1,5 +1,5 @@
/* Sequential list data type implemented by an array.
- Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/gl_array_list.h b/tests/gl_array_list.h
index 72e8062..b0f2d02 100644
--- a/tests/gl_array_list.h
+++ b/tests/gl_array_list.h
@@ -1,5 +1,5 @@
/* Sequential list data type implemented by an array.
- Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/gl_array_oset.c b/tests/gl_array_oset.c
index ca2419c..94f506f 100644
--- a/tests/gl_array_oset.c
+++ b/tests/gl_array_oset.c
@@ -1,5 +1,5 @@
/* Ordered set data type implemented by an array.
- Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
@@ -184,7 +184,7 @@ grow (gl_oset_t set)
/* Add the given element ELT at the given position,
0 <= position <= gl_oset_size (set).
Return 1 upon success, -1 upon out-of-memory. */
-static inline int
+static int
gl_array_nx_add_at (gl_oset_t set, size_t position, const void *elt)
{
size_t count = set->count;
@@ -204,7 +204,7 @@ gl_array_nx_add_at (gl_oset_t set, size_t position, const void *elt)
/* Remove the element at the given position,
0 <= position < gl_oset_size (set). */
-static inline void
+static void
gl_array_remove_at (gl_oset_t set, size_t position)
{
size_t count = set->count;
diff --git a/tests/gl_array_oset.h b/tests/gl_array_oset.h
index 79a6404..13ebb61 100644
--- a/tests/gl_array_oset.h
+++ b/tests/gl_array_oset.h
@@ -1,5 +1,5 @@
/* Ordered set data type implemented by an array.
- Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/gnulib.mk b/tests/gnulib.mk
index f05a797..f883fa6 100644
--- a/tests/gnulib.mk
+++ b/tests/gnulib.mk
@@ -1,16 +1,28 @@
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-AUTOMAKE_OPTIONS = 1.5 foreign
+AUTOMAKE_OPTIONS = 1.9.6 foreign
SUBDIRS = .
TESTS =
@@ -55,30 +67,6 @@ EXTRA_DIST += test-alloca-opt.c
## end gnulib module alloca-opt-tests
-## begin gnulib module arg-nonnull
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-BUILT_SOURCES += arg-nonnull.h
-# The arg-nonnull.h that gets inserted into generated .h files is the same as
-# build-aux/arg-nonnull.h, except that it has the copyright header cut off.
-arg-nonnull.h: $(top_srcdir)/build-aux/arg-nonnull.h
- $(AM_V_GEN)rm -f $@-t $@ && \
- sed -n -e '/GL_ARG_NONNULL/,$$p' \
- < $(top_srcdir)/build-aux/arg-nonnull.h \
- > $@-t && \
- mv $@-t $@
-MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
-
-ARG_NONNULL_H=arg-nonnull.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/arg-nonnull.h
-
-## end gnulib module arg-nonnull
-
## begin gnulib module array-list
libtests_a_SOURCES += gl_array_list.h gl_array_list.c
@@ -137,30 +125,6 @@ EXTRA_DIST += test-btowc1.sh test-btowc2.sh test-btowc.c signature.h macros.h
## end gnulib module btowc-tests
-## begin gnulib module c++defs
-
-# The BUILT_SOURCES created by this Makefile snippet are not used via #include
-# statements but through direct file reference. Therefore this snippet must be
-# present in all Makefile.am that need it. This is ensured by the applicability
-# 'all' defined above.
-
-BUILT_SOURCES += c++defs.h
-# The c++defs.h that gets inserted into generated .h files is the same as
-# build-aux/c++defs.h, except that it has the copyright header cut off.
-c++defs.h: $(top_srcdir)/build-aux/c++defs.h
- $(AM_V_GEN)rm -f $@-t $@ && \
- sed -n -e '/_GL_CXXDEFS/,$$p' \
- < $(top_srcdir)/build-aux/c++defs.h \
- > $@-t && \
- mv $@-t $@
-MOSTLYCLEANFILES += c++defs.h c++defs.h-t
-
-CXXDEFS_H=c++defs.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/c++defs.h
-
-## end gnulib module c++defs
-
## begin gnulib module c-ctype-tests
TESTS += test-c-ctype
@@ -181,12 +145,6 @@ EXTRA_DIST += test-c-stack.c test-c-stack.sh test-c-stack2.sh macros.h
## end gnulib module c-stack-tests
-## begin gnulib module c-strcase
-
-libtests_a_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c
-
-## end gnulib module c-strcase
-
## begin gnulib module c-strcase-tests
TESTS += test-c-strcase.sh
@@ -204,6 +162,14 @@ EXTRA_DIST += test-canonicalize-lgpl.c signature.h macros.h
## end gnulib module canonicalize-lgpl-tests
+## begin gnulib module chdir-tests
+
+TESTS += test-chdir
+check_PROGRAMS += test-chdir
+EXTRA_DIST += test-chdir.c signature.h macros.h
+
+## end gnulib module chdir-tests
+
## begin gnulib module cloexec-tests
TESTS += test-cloexec
@@ -212,6 +178,23 @@ EXTRA_DIST += test-cloexec.c macros.h
## end gnulib module cloexec-tests
+## begin gnulib module close-tests
+
+TESTS += test-close
+check_PROGRAMS += test-close
+EXTRA_DIST += test-close.c signature.h macros.h
+
+## end gnulib module close-tests
+
+## begin gnulib module closedir
+
+
+EXTRA_DIST += closedir.c dirent-private.h
+
+EXTRA_libtests_a_SOURCES += closedir.c
+
+## end gnulib module closedir
+
## begin gnulib module closein-tests
TESTS += test-closein.sh
@@ -221,6 +204,74 @@ EXTRA_DIST += test-closein.sh test-closein.c
## end gnulib module closein-tests
+## begin gnulib module dirent
+
+BUILT_SOURCES += dirent.h
+
+# We need the following in order to create <dirent.h> when the system
+# doesn't have one that works with the given compiler.
+dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL_M4|g' \
+ -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
+ -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \
+ -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \
+ -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \
+ -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \
+ -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \
+ -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \
+ -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \
+ -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \
+ -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \
+ -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \
+ -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \
+ -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \
+ -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \
+ -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \
+ -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \
+ -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \
+ -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \
+ -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \
+ -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \
+ -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \
+ -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/dirent.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += dirent.h dirent.h-t
+
+EXTRA_DIST += dirent.in.h
+
+## end gnulib module dirent
+
+## begin gnulib module dirent-c++-tests
+
+if ANSICXX
+TESTS += test-dirent-c++
+check_PROGRAMS += test-dirent-c++
+test_dirent_c___SOURCES = test-dirent-c++.cc
+test_dirent_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP)
+endif
+EXTRA_DIST += test-dirent-c++.cc signature.h
+
+## end gnulib module dirent-c++-tests
+
+## begin gnulib module dirent-tests
+
+TESTS += test-dirent
+check_PROGRAMS += test-dirent
+EXTRA_DIST += test-dirent.c
+
+## end gnulib module dirent-tests
+
## begin gnulib module dirname-tests
TESTS += test-dirname
@@ -230,6 +281,23 @@ EXTRA_DIST += test-dirname.c
## end gnulib module dirname-tests
+## begin gnulib module dup
+
+
+EXTRA_DIST += dup.c
+
+EXTRA_libtests_a_SOURCES += dup.c
+
+## end gnulib module dup
+
+## begin gnulib module dup-tests
+
+TESTS += test-dup
+check_PROGRAMS += test-dup
+EXTRA_DIST += test-dup.c signature.h macros.h
+
+## end gnulib module dup-tests
+
## begin gnulib module dup2-tests
TESTS += test-dup2
@@ -256,6 +324,14 @@ EXTRA_DIST += test-errno.c
## end gnulib module errno-tests
+## begin gnulib module fclose-tests
+
+TESTS += test-fclose
+check_PROGRAMS += test-fclose
+EXTRA_DIST += test-fclose.c
+
+## end gnulib module fclose-tests
+
## begin gnulib module fcntl-h-c++-tests
if ANSICXX
@@ -284,6 +360,23 @@ EXTRA_DIST += test-fcntl.c signature.h macros.h
## end gnulib module fcntl-tests
+## begin gnulib module fdopen
+
+
+EXTRA_DIST += fdopen.c
+
+EXTRA_libtests_a_SOURCES += fdopen.c
+
+## end gnulib module fdopen
+
+## begin gnulib module fdopen-tests
+
+TESTS += test-fdopen
+check_PROGRAMS += test-fdopen
+EXTRA_DIST += test-fdopen.c signature.h macros.h
+
+## end gnulib module fdopen-tests
+
## begin gnulib module fflush-tests
TESTS += test-fflush test-fflush2.sh
@@ -293,6 +386,21 @@ EXTRA_DIST += test-fflush.c test-fflush2.sh test-fflush2.c signature.h macros.h
## end gnulib module fflush-tests
+## begin gnulib module fgetc-tests
+
+TESTS += test-fgetc
+check_PROGRAMS += test-fgetc
+EXTRA_DIST += test-fgetc.c signature.h macros.h
+
+## end gnulib module fgetc-tests
+
+## begin gnulib module filename
+
+
+EXTRA_DIST += filename.h
+
+## end gnulib module filename
+
## begin gnulib module filenamecat-tests
TESTS += test-filenamecat
@@ -302,6 +410,14 @@ EXTRA_DIST += test-filenamecat.c
## end gnulib module filenamecat-tests
+## begin gnulib module float-tests
+
+TESTS += test-float
+check_PROGRAMS += test-float
+EXTRA_DIST += test-float.c macros.h
+
+## end gnulib module float-tests
+
## begin gnulib module fopen-safer-tests
TESTS += test-fopen-safer
@@ -337,6 +453,22 @@ EXTRA_DIST += test-fpurge.c macros.h
## end gnulib module fpurge-tests
+## begin gnulib module fputc-tests
+
+TESTS += test-fputc
+check_PROGRAMS += test-fputc
+EXTRA_DIST += test-fputc.c signature.h macros.h
+
+## end gnulib module fputc-tests
+
+## begin gnulib module fread-tests
+
+TESTS += test-fread
+check_PROGRAMS += test-fread
+EXTRA_DIST += test-fread.c signature.h macros.h
+
+## end gnulib module fread-tests
+
## begin gnulib module freadahead-tests
TESTS += test-freadahead.sh
@@ -358,8 +490,8 @@ EXTRA_DIST += test-freading.c macros.h
TESTS += test-frexp-nolibm
check_PROGRAMS += test-frexp-nolibm
-test_frexp_nolibm_SOURCES = test-frexp.c
-EXTRA_DIST += test-frexp.c minus-zero.h nan.h signature.h macros.h
+test_frexp_nolibm_SOURCES = test-frexp.c randomd.c
+EXTRA_DIST += test-frexp.c test-frexp.h minus-zero.h infinity.h nan.h signature.h macros.h randomd.c
## end gnulib module frexp-nolibm-tests
@@ -367,27 +499,34 @@ EXTRA_DIST += test-frexp.c minus-zero.h nan.h signature.h macros.h
TESTS += test-frexpl-nolibm
check_PROGRAMS += test-frexpl-nolibm
-test_frexpl_nolibm_SOURCES = test-frexpl.c
-EXTRA_DIST += test-frexpl.c minus-zero.h nan.h signature.h macros.h
+test_frexpl_nolibm_SOURCES = test-frexpl.c randoml.c
+EXTRA_DIST += test-frexpl.c test-frexp.h minus-zero.h infinity.h nan.h signature.h macros.h randoml.c
## end gnulib module frexpl-nolibm-tests
-## begin gnulib module fseeko-tests
+## begin gnulib module fseek-tests
-TESTS += test-fseeko.sh test-fseeko2.sh
-check_PROGRAMS += test-fseeko
-EXTRA_DIST += test-fseeko.c test-fseeko.sh test-fseeko2.sh signature.h macros.h
+TESTS += test-fseek.sh test-fseek2.sh
+check_PROGRAMS += test-fseek
+EXTRA_DIST += test-fseek.c test-fseek.sh test-fseek2.sh signature.h macros.h
-## end gnulib module fseeko-tests
+## end gnulib module fseek-tests
+
+## begin gnulib module fseeko-tests
-## begin gnulib module ftell
+TESTS += test-fseeko.sh test-fseeko2.sh test-fseeko3.sh test-fseeko4.sh
+check_PROGRAMS += test-fseeko test-fseeko3 test-fseeko4
+EXTRA_DIST += test-fseeko.c test-fseeko.sh test-fseeko2.sh test-fseeko3.c test-fseeko3.sh test-fseeko4.c test-fseeko4.sh signature.h macros.h
+## end gnulib module fseeko-tests
-EXTRA_DIST += ftell.c
+## begin gnulib module fstat-tests
-EXTRA_libtests_a_SOURCES += ftell.c
+TESTS += test-fstat
+check_PROGRAMS += test-fstat
+EXTRA_DIST += test-fstat.c signature.h macros.h
-## end gnulib module ftell
+## end gnulib module fstat-tests
## begin gnulib module ftell-tests
@@ -400,13 +539,39 @@ EXTRA_DIST += test-ftell.c test-ftell.sh test-ftell2.sh test-ftell3.c signature.
## begin gnulib module ftello-tests
-TESTS += test-ftello.sh test-ftello2.sh test-ftello3
-check_PROGRAMS += test-ftello test-ftello3
+TESTS += test-ftello.sh test-ftello2.sh test-ftello3 test-ftello4.sh
+check_PROGRAMS += test-ftello test-ftello3 test-ftello4
MOSTLYCLEANFILES += t-ftello3.tmp
-EXTRA_DIST += test-ftello.c test-ftello.sh test-ftello2.sh test-ftello3.c signature.h macros.h
+EXTRA_DIST += test-ftello.c test-ftello.sh test-ftello2.sh test-ftello3.c test-ftello4.c test-ftello4.sh signature.h macros.h
## end gnulib module ftello-tests
+## begin gnulib module fwrite-tests
+
+TESTS += test-fwrite
+check_PROGRAMS += test-fwrite
+EXTRA_DIST += test-fwrite.c signature.h macros.h
+
+## end gnulib module fwrite-tests
+
+## begin gnulib module getcwd-lgpl
+
+
+EXTRA_DIST += getcwd-lgpl.c
+
+EXTRA_libtests_a_SOURCES += getcwd-lgpl.c
+
+## end gnulib module getcwd-lgpl
+
+## begin gnulib module getcwd-lgpl-tests
+
+TESTS += test-getcwd-lgpl
+check_PROGRAMS += test-getcwd-lgpl
+test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL)
+EXTRA_DIST += test-getcwd-lgpl.c signature.h macros.h
+
+## end gnulib module getcwd-lgpl-tests
+
## begin gnulib module getdtablesize-tests
TESTS += test-getdtablesize
@@ -450,12 +615,72 @@ EXTRA_DIST += test-ignore-value.c
## end gnulib module ignore-value-tests
+## begin gnulib module intprops-tests
+
+TESTS += test-intprops
+check_PROGRAMS += test-intprops
+EXTRA_DIST += test-intprops.c macros.h
+
+## end gnulib module intprops-tests
+
+## begin gnulib module inttypes-incomplete
+
+BUILT_SOURCES += inttypes.h
+
+# We need the following in order to create <inttypes.h> when the system
+# doesn't have one that works with the given compiler.
+inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
+ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
+ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
+ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
+ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
+ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
+ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
+ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
+ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
+ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
+ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+ -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \
+ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
+ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
+ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
+ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/inttypes.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += inttypes.h inttypes.h-t
+
+EXTRA_DIST += inttypes.in.h
+
+## end gnulib module inttypes-incomplete
+
+## begin gnulib module inttypes-tests
+
+TESTS += test-inttypes
+check_PROGRAMS += test-inttypes
+EXTRA_DIST += test-inttypes.c
+
+## end gnulib module inttypes-tests
+
## begin gnulib module isnand-nolibm-tests
TESTS += test-isnand-nolibm
check_PROGRAMS += test-isnand-nolibm
-EXTRA_DIST += test-isnand-nolibm.c test-isnand.h minus-zero.h nan.h macros.h
+EXTRA_DIST += test-isnand-nolibm.c test-isnand.h minus-zero.h infinity.h nan.h macros.h
## end gnulib module isnand-nolibm-tests
@@ -464,7 +689,7 @@ EXTRA_DIST += test-isnand-nolibm.c test-isnand.h minus-zero.h nan.h macros.h
TESTS += test-isnanf-nolibm
check_PROGRAMS += test-isnanf-nolibm
-EXTRA_DIST += test-isnanf-nolibm.c test-isnanf.h minus-zero.h nan.h macros.h
+EXTRA_DIST += test-isnanf-nolibm.c test-isnanf.h minus-zero.h infinity.h nan.h macros.h
## end gnulib module isnanf-nolibm-tests
@@ -473,7 +698,7 @@ EXTRA_DIST += test-isnanf-nolibm.c test-isnanf.h minus-zero.h nan.h macros.h
TESTS += test-isnanl-nolibm
check_PROGRAMS += test-isnanl-nolibm
-EXTRA_DIST += test-isnanl-nolibm.c test-isnanl.h minus-zero.h nan.h macros.h
+EXTRA_DIST += test-isnanl-nolibm.c test-isnanl.h minus-zero.h infinity.h nan.h macros.h
## end gnulib module isnanl-nolibm-tests
@@ -521,37 +746,6 @@ EXTRA_DIST += test-linkedhash_list.c macros.h
## end gnulib module linkedhash-list-tests
-## begin gnulib module locale
-
-BUILT_SOURCES += locale.h
-
-# We need the following in order to create <locale.h> when the system
-# doesn't have one that provides all definitions.
-locale.h: locale.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
- $(AM_V_GEN)rm -f $@-t $@ && \
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
- -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
- -e 's|@''GNULIB_SETLOCALE''@|$(GNULIB_SETLOCALE)|g' \
- -e 's|@''GNULIB_DUPLOCALE''@|$(GNULIB_DUPLOCALE)|g' \
- -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
- -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
- -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
- -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
- -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
- -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
- -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- < $(srcdir)/locale.in.h; \
- } > $@-t && \
- mv $@-t $@
-MOSTLYCLEANFILES += locale.h locale.h-t
-
-EXTRA_DIST += locale.in.h
-
-## end gnulib module locale
-
## begin gnulib module locale-c++-tests
if ANSICXX
@@ -571,6 +765,14 @@ EXTRA_DIST += test-locale.c
## end gnulib module locale-tests
+## begin gnulib module localeconv-tests
+
+TESTS += test-localeconv
+check_PROGRAMS += test-localeconv
+EXTRA_DIST += test-localeconv.c signature.h macros.h
+
+## end gnulib module localeconv-tests
+
## begin gnulib module localename
libtests_a_SOURCES += localename.c
@@ -583,7 +785,7 @@ EXTRA_DIST += localename.h
TESTS += test-localename
check_PROGRAMS += test-localename
-test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@
+test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
EXTRA_DIST += test-localename.c macros.h
@@ -628,6 +830,8 @@ if ANSICXX
TESTS += test-math-c++
check_PROGRAMS += test-math-c++
test_math_c___SOURCES = test-math-c++.cc test-math-c++2.cc
+# These link dependencies are needed on IRIX 6.5 with cc.
+test_math_c___LDADD = $(LDADD) $(COPYSIGNL_LIBM) $(RINT_LIBM) $(RINTL_LIBM)
endif
EXTRA_DIST += test-math-c++.cc test-math-c++2.cc signature.h
@@ -637,7 +841,7 @@ EXTRA_DIST += test-math-c++.cc test-math-c++2.cc signature.h
TESTS += test-math
check_PROGRAMS += test-math
-EXTRA_DIST += test-math.c
+EXTRA_DIST += test-math.c macros.h
## end gnulib module math-tests
@@ -701,14 +905,56 @@ EXTRA_DIST += test-open.h test-open.c signature.h macros.h
## end gnulib module open-tests
+## begin gnulib module opendir
+
+
+EXTRA_DIST += dirent-private.h opendir.c
+
+EXTRA_libtests_a_SOURCES += opendir.c
+
+## end gnulib module opendir
+
+## begin gnulib module pathmax-tests
+
+TESTS += test-pathmax
+check_PROGRAMS += test-pathmax
+EXTRA_DIST += test-pathmax.c
+
+## end gnulib module pathmax-tests
+
## begin gnulib module pipe2-tests
TESTS += test-pipe2
check_PROGRAMS += test-pipe2
+test_pipe2_LDADD = $(LDADD) $(LIBSOCKET)
EXTRA_DIST += test-pipe2.c signature.h macros.h
## end gnulib module pipe2-tests
+## begin gnulib module posix_spawn_file_actions_addclose-tests
+
+TESTS += test-posix_spawn_file_actions_addclose
+check_PROGRAMS += test-posix_spawn_file_actions_addclose
+EXTRA_DIST += test-posix_spawn_file_actions_addclose.c signature.h macros.h
+
+## end gnulib module posix_spawn_file_actions_addclose-tests
+
+## begin gnulib module posix_spawn_file_actions_adddup2-tests
+
+TESTS += test-posix_spawn_file_actions_adddup2
+check_PROGRAMS += test-posix_spawn_file_actions_adddup2
+EXTRA_DIST += test-posix_spawn_file_actions_adddup2.c signature.h macros.h
+
+## end gnulib module posix_spawn_file_actions_adddup2-tests
+
+## begin gnulib module posix_spawn_file_actions_addopen-tests
+
+TESTS += test-posix_spawn_file_actions_addopen
+check_PROGRAMS += test-posix_spawn_file_actions_addopen
+EXTRA_DIST += test-posix_spawn_file_actions_addopen.c signature.h macros.h
+
+## end gnulib module posix_spawn_file_actions_addopen-tests
+
## begin gnulib module posix_spawnp-tests
if POSIX_SPAWN_PORTED
@@ -763,10 +1009,18 @@ EXTRA_libtests_a_SOURCES += putenv.c
TESTS += test-quotearg-simple
check_PROGRAMS += test-quotearg-simple
test_quotearg_simple_LDADD = $(LDADD) @LIBINTL@
-EXTRA_DIST += test-quotearg-simple.c test-quotearg.h macros.h
+EXTRA_DIST += test-quotearg-simple.c test-quotearg.h macros.h zerosize-ptr.h
## end gnulib module quotearg-simple-tests
+## begin gnulib module raise-tests
+
+TESTS += test-raise
+check_PROGRAMS += test-raise
+EXTRA_DIST += test-raise.c signature.h macros.h
+
+## end gnulib module raise-tests
+
## begin gnulib module rawmemchr-tests
TESTS += test-rawmemchr
@@ -775,6 +1029,15 @@ EXTRA_DIST += test-rawmemchr.c zerosize-ptr.h signature.h macros.h
## end gnulib module rawmemchr-tests
+## begin gnulib module readdir
+
+
+EXTRA_DIST += dirent-private.h readdir.c
+
+EXTRA_libtests_a_SOURCES += readdir.c
+
+## end gnulib module readdir
+
## begin gnulib module readlink-tests
TESTS += test-readlink
@@ -783,6 +1046,15 @@ EXTRA_DIST += test-readlink.h test-readlink.c signature.h macros.h
## end gnulib module readlink-tests
+## begin gnulib module regex-tests
+
+TESTS += test-regex
+check_PROGRAMS += test-regex
+test_regex_LDADD = $(LDADD) @LIBINTL@
+EXTRA_DIST += test-regex.c macros.h
+
+## end gnulib module regex-tests
+
## begin gnulib module rename-tests
TESTS += test-rename
@@ -854,35 +1126,175 @@ EXTRA_DIST += test-sigaction.c signature.h macros.h
## end gnulib module sigaction-tests
-## begin gnulib module signal-c++-tests
+## begin gnulib module signal-h-c++-tests
if ANSICXX
-TESTS += test-signal-c++
-check_PROGRAMS += test-signal-c++
-test_signal_c___SOURCES = test-signal-c++.cc test-signal-c++2.cc
-test_signal_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP)
+TESTS += test-signal-h-c++
+check_PROGRAMS += test-signal-h-c++
+test_signal_h_c___SOURCES = test-signal-h-c++.cc test-signal-h-c++2.cc
+test_signal_h_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_NANOSLEEP) $(LIB_PTHREAD_SIGMASK)
endif
-EXTRA_DIST += test-signal-c++.cc test-signal-c++2.cc signature.h
+EXTRA_DIST += test-signal-h-c++.cc test-signal-h-c++2.cc signature.h
-## end gnulib module signal-c++-tests
+## end gnulib module signal-h-c++-tests
-## begin gnulib module signal-tests
+## begin gnulib module signal-h-tests
-TESTS += test-signal
-check_PROGRAMS += test-signal
-EXTRA_DIST += test-signal.c
+TESTS += test-signal-h
+check_PROGRAMS += test-signal-h
+EXTRA_DIST += test-signal-h.c
-## end gnulib module signal-tests
+## end gnulib module signal-h-tests
## begin gnulib module signbit-tests
TESTS += test-signbit
check_PROGRAMS += test-signbit
-EXTRA_DIST += test-signbit.c minus-zero.h macros.h
+EXTRA_DIST += test-signbit.c minus-zero.h infinity.h macros.h
## end gnulib module signbit-tests
+## begin gnulib module sigpipe-tests
+
+TESTS += test-sigpipe.sh
+check_PROGRAMS += test-sigpipe
+
+EXTRA_DIST += test-sigpipe.c test-sigpipe.sh
+
+## end gnulib module sigpipe-tests
+
+## begin gnulib module sigprocmask-tests
+
+TESTS += test-sigprocmask
+check_PROGRAMS += test-sigprocmask
+EXTRA_DIST += test-sigprocmask.c signature.h macros.h
+
+## end gnulib module sigprocmask-tests
+
+## begin gnulib module sleep
+
+
+EXTRA_DIST += sleep.c
+
+EXTRA_libtests_a_SOURCES += sleep.c
+
+## end gnulib module sleep
+
+## begin gnulib module sleep-tests
+
+TESTS += test-sleep
+check_PROGRAMS += test-sleep
+EXTRA_DIST += test-sleep.c signature.h macros.h
+
+## end gnulib module sleep-tests
+
+## begin gnulib module snippet/_Noreturn
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all Makefile.am that
+# need it. This is ensured by the applicability 'all' defined above.
+
+_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h
+
+## end gnulib module snippet/_Noreturn
+
+## begin gnulib module snippet/arg-nonnull
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += arg-nonnull.h
+# The arg-nonnull.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+# off.
+arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_ARG_NONNULL/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
+
+ARG_NONNULL_H=arg-nonnull.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+
+## end gnulib module snippet/arg-nonnull
+
+## begin gnulib module snippet/c++defs
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += c++defs.h
+# The c++defs.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/_GL_CXXDEFS/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/c++defs.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += c++defs.h c++defs.h-t
+
+CXXDEFS_H=c++defs.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
+
+## end gnulib module snippet/c++defs
+
+## begin gnulib module snippet/unused-parameter
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += unused-parameter.h
+# The unused-parameter.h that gets inserted into generated .h files is the same
+# as build-aux/snippet/unused-parameter.h, except that it has the copyright
+# header cut off.
+unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += unused-parameter.h unused-parameter.h-t
+
+UNUSED_PARAMETER_H=unused-parameter.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/unused-parameter.h
+
+## end gnulib module snippet/unused-parameter
+
+## begin gnulib module snippet/warn-on-use
+
+BUILT_SOURCES += warn-on-use.h
+# The warn-on-use.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+# off.
+warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/^.ifndef/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
+
+WARN_ON_USE_H=warn-on-use.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
+
+## end gnulib module snippet/warn-on-use
+
## begin gnulib module snprintf-tests
TESTS += test-snprintf
@@ -907,9 +1319,13 @@ EXTRA_DIST += test-spawn-c++.cc signature.h
## begin gnulib module spawn-pipe-tests
TESTS += test-spawn-pipe.sh
-check_PROGRAMS += test-spawn-pipe
-test_spawn_pipe_LDADD = $(LDADD) @LIBINTL@
-EXTRA_DIST += test-spawn-pipe.sh test-spawn-pipe.c macros.h
+check_PROGRAMS += test-spawn-pipe-main test-spawn-pipe-child
+test_spawn_pipe_main_LDADD = $(LDADD) @LIBINTL@
+# The test-spawn-pipe-child program must be a real executable, not a libtool
+# wrapper script, and should link against as few libraries as possible.
+# Therefore don't link it against any libraries other than -lc.
+test_spawn_pipe_child_LDADD =
+EXTRA_DIST += test-spawn-pipe.sh test-spawn-pipe-main.c test-spawn-pipe-child.c macros.h
## end gnulib module spawn-pipe-tests
@@ -925,6 +1341,7 @@ EXTRA_DIST += test-spawn.c
TESTS += test-stat
check_PROGRAMS += test-stat
+test_stat_LDADD = $(LDADD) $(LIBINTL)
EXTRA_DIST += test-stat.h test-stat.c signature.h macros.h
## end gnulib module stat-tests
@@ -1128,6 +1545,25 @@ EXTRA_DIST += test-sys_time.c
## end gnulib module sys_time-tests
+## begin gnulib module sys_types-c++-tests
+
+if ANSICXX
+TESTS += test-sys_types-c++
+check_PROGRAMS += test-sys_types-c++
+test_sys_types_c___SOURCES = test-sys_types-c++.cc
+endif
+EXTRA_DIST += test-sys_types-c++.cc
+
+## end gnulib module sys_types-c++-tests
+
+## begin gnulib module sys_types-tests
+
+TESTS += test-sys_types
+check_PROGRAMS += test-sys_types
+EXTRA_DIST += test-sys_types.c
+
+## end gnulib module sys_types-tests
+
## begin gnulib module sys_wait-c++-tests
if ANSICXX
@@ -1147,6 +1583,14 @@ EXTRA_DIST += test-sys_wait.c test-sys_wait.h
## end gnulib module sys_wait-tests
+## begin gnulib module test-framework-sh-tests
+
+TESTS += test-init.sh
+EXTRA_DIST += init.sh
+EXTRA_DIST += test-init.sh
+
+## end gnulib module test-framework-sh-tests
+
## begin gnulib module time-c++-tests
if ANSICXX
@@ -1234,7 +1678,7 @@ EXTRA_DIST += test-vasnprintf.c macros.h
TESTS += test-vasprintf-posix
check_PROGRAMS += test-vasprintf-posix
-EXTRA_DIST += test-vasprintf-posix.c minus-zero.h nan.h macros.h
+EXTRA_DIST += test-vasprintf-posix.c minus-zero.h infinity.h nan.h macros.h
## end gnulib module vasprintf-posix-tests
@@ -1252,7 +1696,7 @@ EXTRA_DIST += test-vasprintf.c signature.h macros.h
TESTS += test-vc-list-files-git.sh
TESTS += test-vc-list-files-cvs.sh
TESTS_ENVIRONMENT += abs_aux_dir='$(abs_aux_dir)'
-EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh init.sh
+EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh
## end gnulib module vc-list-files-tests
@@ -1261,7 +1705,7 @@ EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh init.sh
TESTS_ENVIRONMENT += MAKE='$(MAKE)'
TESTS += test-verify test-verify.sh
check_PROGRAMS += test-verify
-EXTRA_DIST += test-verify.c test-verify.sh init.sh
+EXTRA_DIST += test-verify.c test-verify.sh
## end gnulib module verify-tests
@@ -1274,25 +1718,6 @@ EXTRA_DIST += test-version-etc.c test-version-etc.sh
## end gnulib module version-etc-tests
-## begin gnulib module warn-on-use
-
-BUILT_SOURCES += warn-on-use.h
-# The warn-on-use.h that gets inserted into generated .h files is the same as
-# build-aux/warn-on-use.h, except that it has the copyright header cut off.
-warn-on-use.h: $(top_srcdir)/build-aux/warn-on-use.h
- $(AM_V_GEN)rm -f $@-t $@ && \
- sed -n -e '/^.ifndef/,$$p' \
- < $(top_srcdir)/build-aux/warn-on-use.h \
- > $@-t && \
- mv $@-t $@
-MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
-
-WARN_ON_USE_H=warn-on-use.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/warn-on-use.h
-
-## end gnulib module warn-on-use
-
## begin gnulib module wchar-c++-tests
if ANSICXX
@@ -1368,12 +1793,29 @@ EXTRA_DIST += test-wctype-h.c macros.h
## end gnulib module wctype-h-tests
+## begin gnulib module write
+
+
+EXTRA_DIST += write.c
+
+EXTRA_libtests_a_SOURCES += write.c
+
+## end gnulib module write
+
+## begin gnulib module write-tests
+
+TESTS += test-write
+check_PROGRAMS += test-write
+EXTRA_DIST += test-write.c signature.h macros.h
+
+## end gnulib module write-tests
+
## begin gnulib module xalloc-die-tests
TESTS += test-xalloc-die.sh
check_PROGRAMS += test-xalloc-die
test_xalloc_die_LDADD = $(LDADD) @LIBINTL@
-EXTRA_DIST += test-xalloc-die.c test-xalloc-die.sh init.sh
+EXTRA_DIST += test-xalloc-die.c test-xalloc-die.sh
## end gnulib module xalloc-die-tests
diff --git a/tests/infinity.h b/tests/infinity.h
new file mode 100644
index 0000000..9111289
--- /dev/null
+++ b/tests/infinity.h
@@ -0,0 +1,60 @@
+/* Macros for infinity.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+/* Infinityf () returns a 'float' +Infinity. */
+
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f. */
+#if defined _MSC_VER
+static float
+Infinityf ()
+{
+ static float zero = 0.0f;
+ return 1.0f / zero;
+}
+#else
+# define Infinityf() (1.0f / 0.0f)
+#endif
+
+
+/* Infinityd () returns a 'double' +Infinity. */
+
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0. */
+#if defined _MSC_VER
+static double
+Infinityd ()
+{
+ static double zero = 0.0;
+ return 1.0 / zero;
+}
+#else
+# define Infinityd() (1.0 / 0.0)
+#endif
+
+
+/* Infinityl () returns a 'long double' +Infinity. */
+
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L. */
+#if defined _MSC_VER
+static double
+Infinityl ()
+{
+ static long double zero = 0.0L;
+ return 1.0L / zero;
+}
+#else
+# define Infinityl() (1.0L / 0.0L)
+#endif
diff --git a/tests/init.sh b/tests/init.sh
index 71c6516..bd2048e 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -1,6 +1,6 @@
# source this file; set up for tests
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -61,22 +61,36 @@ ME_=`expr "./$0" : '.*/\(.*\)$'`
# We use a trap below for cleanup. This requires us to go through
# hoops to get the right exit status transported through the handler.
-# So use `Exit STATUS' instead of `exit STATUS' inside of the tests.
+# So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests.
# Turn off errexit here so that we don't trip the bug with OSF1/Tru64
# sh inside this function.
Exit () { set +e; (exit $1); exit $1; }
# Print warnings (e.g., about skipped and failed tests) to this file number.
# Override by defining to say, 9, in init.cfg, and putting say,
-# "export ...ENVVAR_SETTINGS...; exec 9>&2; $(SHELL)" in the definition
-# of TESTS_ENVIRONMENT in your tests/Makefile.am file.
+# export ...ENVVAR_SETTINGS...; $(SHELL) 9>&2
+# in the definition of TESTS_ENVIRONMENT in your tests/Makefile.am file.
# This is useful when using automake's parallel tests mode, to print
# the reason for skip/failure to console, rather than to the .log files.
: ${stderr_fileno_=2}
-warn_ () { echo "$@" 1>&$stderr_fileno_; }
+# Note that correct expansion of "$*" depends on IFS starting with ' '.
+# Always write the full diagnostic to stderr.
+# When stderr_fileno_ is not 2, also emit the first line of the
+# diagnostic to that file descriptor.
+warn_ ()
+{
+ # If IFS does not start with ' ', set it and emit the warning in a subshell.
+ case $IFS in
+ ' '*) printf '%s\n' "$*" >&2
+ test $stderr_fileno_ = 2 \
+ || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;;
+ *) (IFS=' '; warn_ "$@");;
+ esac
+}
fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
+fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; }
framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
# Sanitize this shell to POSIX mode, if possible.
@@ -158,7 +172,7 @@ else
if test "$re_shell_" = __current__; then
# 'eval'ing this code makes Solaris 10's /bin/sh exit with
# $? set to 2. It does not evaluate any of the code after the
- # "unexpected" first `('. Thus, we must run it in a subshell.
+ # "unexpected" first '('. Thus, we must run it in a subshell.
( eval "$gl_shell_test_script_" ) > /dev/null 2>&1
else
"$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null
@@ -167,7 +181,10 @@ else
st_=$?
# $re_shell_ works just fine. Use it.
- test $st_ = 10 && break
+ if test $st_ = 10; then
+ gl_set_x_corrupts_stderr_=false
+ break
+ fi
# If this is our first marginally acceptable shell, remember it.
if test "$st_:$marginal_" = 9: ; then
@@ -190,6 +207,14 @@ else
fi
fi
+# If this is bash, turn off all aliases.
+test -n "$BASH_VERSION" && unalias -a
+
+# Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to
+# PROG_NAME.exe), we want to support hyphen-containing names like test-acos.
+# That is part of the shell-selection test above. Why use aliases rather
+# than functions? Because support for hyphen-containing aliases is more
+# widespread than that for hyphen-containing function names.
test -n "$EXEEXT" && shopt -s expand_aliases
# Enable glibc's malloc-perturbing option.
@@ -204,14 +229,105 @@ export MALLOC_PERTURB_
# a partition, or to undo any other global state changes.
cleanup_ () { :; }
-if ( diff --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
- compare () { diff -u "$@"; }
+# Emit a header similar to that from diff -u; Print the simulated "diff"
+# command so that the order of arguments is clear. Don't bother with @@ lines.
+emit_diff_u_header_ ()
+{
+ printf '%s\n' "diff -u $*" \
+ "--- $1 1970-01-01" \
+ "+++ $2 1970-01-01"
+}
+
+# Arrange not to let diff or cmp operate on /dev/null,
+# since on some systems (at least OSF/1 5.1), that doesn't work.
+# When there are not two arguments, or no argument is /dev/null, return 2.
+# When one argument is /dev/null and the other is not empty,
+# cat the nonempty file to stderr and return 1.
+# Otherwise, return 0.
+compare_dev_null_ ()
+{
+ test $# = 2 || return 2
+
+ if test "x$1" = x/dev/null; then
+ test -s "$2" || return 0
+ emit_diff_u_header_ "$@"; sed 's/^/+/' "$2"
+ return 1
+ fi
+
+ if test "x$2" = x/dev/null; then
+ test -s "$1" || return 0
+ emit_diff_u_header_ "$@"; sed 's/^/-/' "$1"
+ return 1
+ fi
+
+ return 2
+}
+
+if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \
+ && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then
+ # diff accepts the -u option and does not (like AIX 7 'diff') produce an
+ # extra space on column 1 of every content line.
+ if test -z "$diff_out_"; then
+ compare_ () { diff -u "$@"; }
+ else
+ compare_ ()
+ {
+ if diff -u "$@" > diff.out; then
+ # No differences were found, but Solaris 'diff' produces output
+ # "No differences encountered". Hide this output.
+ rm -f diff.out
+ true
+ else
+ cat diff.out
+ rm -f diff.out
+ false
+ fi
+ }
+ fi
+elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then
+ if test -z "$diff_out_"; then
+ compare_ () { diff -c "$@"; }
+ else
+ compare_ ()
+ {
+ if diff -c "$@" > diff.out; then
+ # No differences were found, but AIX and HP-UX 'diff' produce output
+ # "No differences encountered" or "There are no differences between the
+ # files.". Hide this output.
+ rm -f diff.out
+ true
+ else
+ cat diff.out
+ rm -f diff.out
+ false
+ fi
+ }
+ fi
elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
- compare () { cmp -s "$@"; }
+ compare_ () { cmp -s "$@"; }
else
- compare () { cmp "$@"; }
+ compare_ () { cmp "$@"; }
fi
+# Usage: compare EXPECTED ACTUAL
+#
+# Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more.
+# Otherwise, propagate $? to caller: any diffs have already been printed.
+compare ()
+{
+ # This looks like it can be factored to use a simple "case $?"
+ # after unchecked compare_dev_null_ invocation, but that would
+ # fail in a "set -e" environment.
+ if compare_dev_null_ "$@"; then
+ return 0
+ else
+ case $? in
+ 1) return 1;;
+ *) compare_ "$@";;
+ esac
+ fi
+}
+
# An arbitrary prefix to help distinguish test directories.
testdir_prefix_ () { printf gt; }
@@ -295,8 +411,7 @@ path_prepend_ ()
case $path_dir_ in
'') fail_ "invalid path dir: '$1'";;
/*) abs_path_dir_=$path_dir_;;
- *) abs_path_dir_=`cd "$initial_cwd_/$path_dir_" && echo "$PWD"` \
- || fail_ "invalid path dir: $path_dir_";;
+ *) abs_path_dir_=$initial_cwd_/$path_dir_;;
esac
case $abs_path_dir_ in
*:*) fail_ "invalid path dir: '$abs_path_dir_'";;
@@ -332,7 +447,7 @@ setup_ ()
pfx_=`testdir_prefix_`
test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \
|| fail_ "failed to create temporary directory in $initial_cwd_"
- cd "$test_dir_"
+ cd "$test_dir_" || fail_ "failed to cd to temporary directory"
# As autoconf-generated configure scripts do, ensure that IFS
# is defined initially, so that saving and restoring $IFS works.
@@ -400,7 +515,7 @@ mktempd_ ()
{
case $# in
2);;
- *) fail_ "Usage: $ME DIR TEMPLATE";;
+ *) fail_ "Usage: mktempd_ DIR TEMPLATE";;
esac
destdir_=$1
@@ -422,7 +537,7 @@ mktempd_ ()
esac
# First, try to use mktemp.
- d=`unset TMPDIR; mktemp -d -t -p "$destdir_" "$template_" 2>/dev/null` \
+ d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` \
|| fail=1
# The resulting name must be in the specified directory.
diff --git a/tests/inttypes.in.h b/tests/inttypes.in.h
new file mode 100644
index 0000000..1893f55
--- /dev/null
+++ b/tests/inttypes.in.h
@@ -0,0 +1,1130 @@
+/* Copyright (C) 2006-2013 Free Software Foundation, Inc.
+ Written by Paul Eggert, Bruno Haible, Derek Price.
+ This file is part of gnulib.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/*
+ * ISO C 99 <inttypes.h> for platforms that lack it.
+ * <http://www.opengroup.org/susv3xbd/inttypes.h.html>
+ */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* Include the original <inttypes.h> if it exists, and if this file
+ has not been included yet or if this file includes gnulib stdint.h
+ which in turn includes this file.
+ The include_next requires a split double-inclusion guard. */
+#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+# if @HAVE_INTTYPES_H@
+
+ /* Some pre-C++11 <stdint.h> implementations need this. */
+# if defined __cplusplus && ! defined __STDC_FORMAT_MACROS
+# define __STDC_FORMAT_MACROS 1
+# endif
+
+# @INCLUDE_NEXT@ @NEXT_INTTYPES_H@
+# endif
+#endif
+
+#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+#define INTTYPES_H
+
+/* Include <stdint.h> or the gnulib replacement.
+ But avoid namespace pollution on glibc systems. */
+#ifndef __GLIBC__
+# include <stdint.h>
+#endif
+/* Get CHAR_BIT. */
+#include <limits.h>
+
+#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
+# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+/* 7.8.1 Macros for format specifiers */
+
+#if defined _TNS_R_TARGET
+ /* Tandem NonStop R series and compatible platforms released before
+ July 2005 support %Ld but not %lld. */
+# define _LONG_LONG_FORMAT_PREFIX "L"
+#else
+# define _LONG_LONG_FORMAT_PREFIX "ll"
+#endif
+
+#if !defined PRId8 || @PRI_MACROS_BROKEN@
+# undef PRId8
+# ifdef INT8_MAX
+# define PRId8 "d"
+# endif
+#endif
+#if !defined PRIi8 || @PRI_MACROS_BROKEN@
+# undef PRIi8
+# ifdef INT8_MAX
+# define PRIi8 "i"
+# endif
+#endif
+#if !defined PRIo8 || @PRI_MACROS_BROKEN@
+# undef PRIo8
+# ifdef UINT8_MAX
+# define PRIo8 "o"
+# endif
+#endif
+#if !defined PRIu8 || @PRI_MACROS_BROKEN@
+# undef PRIu8
+# ifdef UINT8_MAX
+# define PRIu8 "u"
+# endif
+#endif
+#if !defined PRIx8 || @PRI_MACROS_BROKEN@
+# undef PRIx8
+# ifdef UINT8_MAX
+# define PRIx8 "x"
+# endif
+#endif
+#if !defined PRIX8 || @PRI_MACROS_BROKEN@
+# undef PRIX8
+# ifdef UINT8_MAX
+# define PRIX8 "X"
+# endif
+#endif
+#if !defined PRId16 || @PRI_MACROS_BROKEN@
+# undef PRId16
+# ifdef INT16_MAX
+# define PRId16 "d"
+# endif
+#endif
+#if !defined PRIi16 || @PRI_MACROS_BROKEN@
+# undef PRIi16
+# ifdef INT16_MAX
+# define PRIi16 "i"
+# endif
+#endif
+#if !defined PRIo16 || @PRI_MACROS_BROKEN@
+# undef PRIo16
+# ifdef UINT16_MAX
+# define PRIo16 "o"
+# endif
+#endif
+#if !defined PRIu16 || @PRI_MACROS_BROKEN@
+# undef PRIu16
+# ifdef UINT16_MAX
+# define PRIu16 "u"
+# endif
+#endif
+#if !defined PRIx16 || @PRI_MACROS_BROKEN@
+# undef PRIx16
+# ifdef UINT16_MAX
+# define PRIx16 "x"
+# endif
+#endif
+#if !defined PRIX16 || @PRI_MACROS_BROKEN@
+# undef PRIX16
+# ifdef UINT16_MAX
+# define PRIX16 "X"
+# endif
+#endif
+#if !defined PRId32 || @PRI_MACROS_BROKEN@
+# undef PRId32
+# ifdef INT32_MAX
+# define PRId32 "d"
+# endif
+#endif
+#if !defined PRIi32 || @PRI_MACROS_BROKEN@
+# undef PRIi32
+# ifdef INT32_MAX
+# define PRIi32 "i"
+# endif
+#endif
+#if !defined PRIo32 || @PRI_MACROS_BROKEN@
+# undef PRIo32
+# ifdef UINT32_MAX
+# define PRIo32 "o"
+# endif
+#endif
+#if !defined PRIu32 || @PRI_MACROS_BROKEN@
+# undef PRIu32
+# ifdef UINT32_MAX
+# define PRIu32 "u"
+# endif
+#endif
+#if !defined PRIx32 || @PRI_MACROS_BROKEN@
+# undef PRIx32
+# ifdef UINT32_MAX
+# define PRIx32 "x"
+# endif
+#endif
+#if !defined PRIX32 || @PRI_MACROS_BROKEN@
+# undef PRIX32
+# ifdef UINT32_MAX
+# define PRIX32 "X"
+# endif
+#endif
+#ifdef INT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
+# define _PRI64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _PRI64_PREFIX "I64"
+# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined PRId64 || @PRI_MACROS_BROKEN@
+# undef PRId64
+# define PRId64 _PRI64_PREFIX "d"
+# endif
+# if !defined PRIi64 || @PRI_MACROS_BROKEN@
+# undef PRIi64
+# define PRIi64 _PRI64_PREFIX "i"
+# endif
+#endif
+#ifdef UINT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
+# define _PRIu64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _PRIu64_PREFIX "I64"
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined PRIo64 || @PRI_MACROS_BROKEN@
+# undef PRIo64
+# define PRIo64 _PRIu64_PREFIX "o"
+# endif
+# if !defined PRIu64 || @PRI_MACROS_BROKEN@
+# undef PRIu64
+# define PRIu64 _PRIu64_PREFIX "u"
+# endif
+# if !defined PRIx64 || @PRI_MACROS_BROKEN@
+# undef PRIx64
+# define PRIx64 _PRIu64_PREFIX "x"
+# endif
+# if !defined PRIX64 || @PRI_MACROS_BROKEN@
+# undef PRIX64
+# define PRIX64 _PRIu64_PREFIX "X"
+# endif
+#endif
+
+#if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST8
+# define PRIdLEAST8 "d"
+#endif
+#if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST8
+# define PRIiLEAST8 "i"
+#endif
+#if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST8
+# define PRIoLEAST8 "o"
+#endif
+#if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST8
+# define PRIuLEAST8 "u"
+#endif
+#if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST8
+# define PRIxLEAST8 "x"
+#endif
+#if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST8
+# define PRIXLEAST8 "X"
+#endif
+#if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST16
+# define PRIdLEAST16 "d"
+#endif
+#if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST16
+# define PRIiLEAST16 "i"
+#endif
+#if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST16
+# define PRIoLEAST16 "o"
+#endif
+#if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST16
+# define PRIuLEAST16 "u"
+#endif
+#if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST16
+# define PRIxLEAST16 "x"
+#endif
+#if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST16
+# define PRIXLEAST16 "X"
+#endif
+#if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST32
+# define PRIdLEAST32 "d"
+#endif
+#if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST32
+# define PRIiLEAST32 "i"
+#endif
+#if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST32
+# define PRIoLEAST32 "o"
+#endif
+#if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST32
+# define PRIuLEAST32 "u"
+#endif
+#if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST32
+# define PRIxLEAST32 "x"
+#endif
+#if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST32
+# define PRIXLEAST32 "X"
+#endif
+#ifdef INT64_MAX
+# if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST64
+# define PRIdLEAST64 PRId64
+# endif
+# if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST64
+# define PRIiLEAST64 PRIi64
+# endif
+#endif
+#ifdef UINT64_MAX
+# if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST64
+# define PRIoLEAST64 PRIo64
+# endif
+# if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST64
+# define PRIuLEAST64 PRIu64
+# endif
+# if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST64
+# define PRIxLEAST64 PRIx64
+# endif
+# if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST64
+# define PRIXLEAST64 PRIX64
+# endif
+#endif
+
+#if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define PRIdFAST8 PRId64
+# else
+# define PRIdFAST8 "d"
+# endif
+#endif
+#if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define PRIiFAST8 PRIi64
+# else
+# define PRIiFAST8 "i"
+# endif
+#endif
+#if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIoFAST8 PRIo64
+# else
+# define PRIoFAST8 "o"
+# endif
+#endif
+#if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIuFAST8 PRIu64
+# else
+# define PRIuFAST8 "u"
+# endif
+#endif
+#if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIxFAST8 PRIx64
+# else
+# define PRIxFAST8 "x"
+# endif
+#endif
+#if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIXFAST8 PRIX64
+# else
+# define PRIXFAST8 "X"
+# endif
+#endif
+#if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define PRIdFAST16 PRId64
+# else
+# define PRIdFAST16 "d"
+# endif
+#endif
+#if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define PRIiFAST16 PRIi64
+# else
+# define PRIiFAST16 "i"
+# endif
+#endif
+#if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIoFAST16 PRIo64
+# else
+# define PRIoFAST16 "o"
+# endif
+#endif
+#if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIuFAST16 PRIu64
+# else
+# define PRIuFAST16 "u"
+# endif
+#endif
+#if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIxFAST16 PRIx64
+# else
+# define PRIxFAST16 "x"
+# endif
+#endif
+#if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIXFAST16 PRIX64
+# else
+# define PRIXFAST16 "X"
+# endif
+#endif
+#if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define PRIdFAST32 PRId64
+# else
+# define PRIdFAST32 "d"
+# endif
+#endif
+#if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define PRIiFAST32 PRIi64
+# else
+# define PRIiFAST32 "i"
+# endif
+#endif
+#if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIoFAST32 PRIo64
+# else
+# define PRIoFAST32 "o"
+# endif
+#endif
+#if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIuFAST32 PRIu64
+# else
+# define PRIuFAST32 "u"
+# endif
+#endif
+#if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIxFAST32 PRIx64
+# else
+# define PRIxFAST32 "x"
+# endif
+#endif
+#if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIXFAST32 PRIX64
+# else
+# define PRIXFAST32 "X"
+# endif
+#endif
+#ifdef INT64_MAX
+# if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST64
+# define PRIdFAST64 PRId64
+# endif
+# if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST64
+# define PRIiFAST64 PRIi64
+# endif
+#endif
+#ifdef UINT64_MAX
+# if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST64
+# define PRIoFAST64 PRIo64
+# endif
+# if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST64
+# define PRIuFAST64 PRIu64
+# endif
+# if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST64
+# define PRIxFAST64 PRIx64
+# endif
+# if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST64
+# define PRIXFAST64 PRIX64
+# endif
+#endif
+
+#if !defined PRIdMAX || @PRI_MACROS_BROKEN@
+# undef PRIdMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define PRIdMAX PRId64
+# else
+# define PRIdMAX "ld"
+# endif
+#endif
+#if !defined PRIiMAX || @PRI_MACROS_BROKEN@
+# undef PRIiMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define PRIiMAX PRIi64
+# else
+# define PRIiMAX "li"
+# endif
+#endif
+#if !defined PRIoMAX || @PRI_MACROS_BROKEN@
+# undef PRIoMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIoMAX PRIo64
+# else
+# define PRIoMAX "lo"
+# endif
+#endif
+#if !defined PRIuMAX || @PRI_MACROS_BROKEN@
+# undef PRIuMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIuMAX PRIu64
+# else
+# define PRIuMAX "lu"
+# endif
+#endif
+#if !defined PRIxMAX || @PRI_MACROS_BROKEN@
+# undef PRIxMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIxMAX PRIx64
+# else
+# define PRIxMAX "lx"
+# endif
+#endif
+#if !defined PRIXMAX || @PRI_MACROS_BROKEN@
+# undef PRIXMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIXMAX PRIX64
+# else
+# define PRIXMAX "lX"
+# endif
+#endif
+
+#if !defined PRIdPTR || @PRI_MACROS_BROKEN@
+# undef PRIdPTR
+# ifdef INTPTR_MAX
+# define PRIdPTR @PRIPTR_PREFIX@ "d"
+# endif
+#endif
+#if !defined PRIiPTR || @PRI_MACROS_BROKEN@
+# undef PRIiPTR
+# ifdef INTPTR_MAX
+# define PRIiPTR @PRIPTR_PREFIX@ "i"
+# endif
+#endif
+#if !defined PRIoPTR || @PRI_MACROS_BROKEN@
+# undef PRIoPTR
+# ifdef UINTPTR_MAX
+# define PRIoPTR @PRIPTR_PREFIX@ "o"
+# endif
+#endif
+#if !defined PRIuPTR || @PRI_MACROS_BROKEN@
+# undef PRIuPTR
+# ifdef UINTPTR_MAX
+# define PRIuPTR @PRIPTR_PREFIX@ "u"
+# endif
+#endif
+#if !defined PRIxPTR || @PRI_MACROS_BROKEN@
+# undef PRIxPTR
+# ifdef UINTPTR_MAX
+# define PRIxPTR @PRIPTR_PREFIX@ "x"
+# endif
+#endif
+#if !defined PRIXPTR || @PRI_MACROS_BROKEN@
+# undef PRIXPTR
+# ifdef UINTPTR_MAX
+# define PRIXPTR @PRIPTR_PREFIX@ "X"
+# endif
+#endif
+
+#if !defined SCNd8 || @PRI_MACROS_BROKEN@
+# undef SCNd8
+# ifdef INT8_MAX
+# define SCNd8 "hhd"
+# endif
+#endif
+#if !defined SCNi8 || @PRI_MACROS_BROKEN@
+# undef SCNi8
+# ifdef INT8_MAX
+# define SCNi8 "hhi"
+# endif
+#endif
+#if !defined SCNo8 || @PRI_MACROS_BROKEN@
+# undef SCNo8
+# ifdef UINT8_MAX
+# define SCNo8 "hho"
+# endif
+#endif
+#if !defined SCNu8 || @PRI_MACROS_BROKEN@
+# undef SCNu8
+# ifdef UINT8_MAX
+# define SCNu8 "hhu"
+# endif
+#endif
+#if !defined SCNx8 || @PRI_MACROS_BROKEN@
+# undef SCNx8
+# ifdef UINT8_MAX
+# define SCNx8 "hhx"
+# endif
+#endif
+#if !defined SCNd16 || @PRI_MACROS_BROKEN@
+# undef SCNd16
+# ifdef INT16_MAX
+# define SCNd16 "hd"
+# endif
+#endif
+#if !defined SCNi16 || @PRI_MACROS_BROKEN@
+# undef SCNi16
+# ifdef INT16_MAX
+# define SCNi16 "hi"
+# endif
+#endif
+#if !defined SCNo16 || @PRI_MACROS_BROKEN@
+# undef SCNo16
+# ifdef UINT16_MAX
+# define SCNo16 "ho"
+# endif
+#endif
+#if !defined SCNu16 || @PRI_MACROS_BROKEN@
+# undef SCNu16
+# ifdef UINT16_MAX
+# define SCNu16 "hu"
+# endif
+#endif
+#if !defined SCNx16 || @PRI_MACROS_BROKEN@
+# undef SCNx16
+# ifdef UINT16_MAX
+# define SCNx16 "hx"
+# endif
+#endif
+#if !defined SCNd32 || @PRI_MACROS_BROKEN@
+# undef SCNd32
+# ifdef INT32_MAX
+# define SCNd32 "d"
+# endif
+#endif
+#if !defined SCNi32 || @PRI_MACROS_BROKEN@
+# undef SCNi32
+# ifdef INT32_MAX
+# define SCNi32 "i"
+# endif
+#endif
+#if !defined SCNo32 || @PRI_MACROS_BROKEN@
+# undef SCNo32
+# ifdef UINT32_MAX
+# define SCNo32 "o"
+# endif
+#endif
+#if !defined SCNu32 || @PRI_MACROS_BROKEN@
+# undef SCNu32
+# ifdef UINT32_MAX
+# define SCNu32 "u"
+# endif
+#endif
+#if !defined SCNx32 || @PRI_MACROS_BROKEN@
+# undef SCNx32
+# ifdef UINT32_MAX
+# define SCNx32 "x"
+# endif
+#endif
+#ifdef INT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
+# define _SCN64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _SCN64_PREFIX "I64"
+# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined SCNd64 || @PRI_MACROS_BROKEN@
+# undef SCNd64
+# define SCNd64 _SCN64_PREFIX "d"
+# endif
+# if !defined SCNi64 || @PRI_MACROS_BROKEN@
+# undef SCNi64
+# define SCNi64 _SCN64_PREFIX "i"
+# endif
+#endif
+#ifdef UINT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
+# define _SCNu64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _SCNu64_PREFIX "I64"
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined SCNo64 || @PRI_MACROS_BROKEN@
+# undef SCNo64
+# define SCNo64 _SCNu64_PREFIX "o"
+# endif
+# if !defined SCNu64 || @PRI_MACROS_BROKEN@
+# undef SCNu64
+# define SCNu64 _SCNu64_PREFIX "u"
+# endif
+# if !defined SCNx64 || @PRI_MACROS_BROKEN@
+# undef SCNx64
+# define SCNx64 _SCNu64_PREFIX "x"
+# endif
+#endif
+
+#if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST8
+# define SCNdLEAST8 "hhd"
+#endif
+#if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST8
+# define SCNiLEAST8 "hhi"
+#endif
+#if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST8
+# define SCNoLEAST8 "hho"
+#endif
+#if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST8
+# define SCNuLEAST8 "hhu"
+#endif
+#if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST8
+# define SCNxLEAST8 "hhx"
+#endif
+#if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST16
+# define SCNdLEAST16 "hd"
+#endif
+#if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST16
+# define SCNiLEAST16 "hi"
+#endif
+#if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST16
+# define SCNoLEAST16 "ho"
+#endif
+#if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST16
+# define SCNuLEAST16 "hu"
+#endif
+#if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST16
+# define SCNxLEAST16 "hx"
+#endif
+#if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST32
+# define SCNdLEAST32 "d"
+#endif
+#if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST32
+# define SCNiLEAST32 "i"
+#endif
+#if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST32
+# define SCNoLEAST32 "o"
+#endif
+#if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST32
+# define SCNuLEAST32 "u"
+#endif
+#if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST32
+# define SCNxLEAST32 "x"
+#endif
+#ifdef INT64_MAX
+# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST64
+# define SCNdLEAST64 SCNd64
+# endif
+# if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST64
+# define SCNiLEAST64 SCNi64
+# endif
+#endif
+#ifdef UINT64_MAX
+# if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST64
+# define SCNoLEAST64 SCNo64
+# endif
+# if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST64
+# define SCNuLEAST64 SCNu64
+# endif
+# if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST64
+# define SCNxLEAST64 SCNx64
+# endif
+#endif
+
+#if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define SCNdFAST8 SCNd64
+# elif INT_FAST8_MAX == 0x7fff
+# define SCNdFAST8 "hd"
+# elif INT_FAST8_MAX == 0x7f
+# define SCNdFAST8 "hhd"
+# else
+# define SCNdFAST8 "d"
+# endif
+#endif
+#if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define SCNiFAST8 SCNi64
+# elif INT_FAST8_MAX == 0x7fff
+# define SCNiFAST8 "hi"
+# elif INT_FAST8_MAX == 0x7f
+# define SCNiFAST8 "hhi"
+# else
+# define SCNiFAST8 "i"
+# endif
+#endif
+#if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define SCNoFAST8 SCNo64
+# elif UINT_FAST8_MAX == 0xffff
+# define SCNoFAST8 "ho"
+# elif UINT_FAST8_MAX == 0xff
+# define SCNoFAST8 "hho"
+# else
+# define SCNoFAST8 "o"
+# endif
+#endif
+#if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define SCNuFAST8 SCNu64
+# elif UINT_FAST8_MAX == 0xffff
+# define SCNuFAST8 "hu"
+# elif UINT_FAST8_MAX == 0xff
+# define SCNuFAST8 "hhu"
+# else
+# define SCNuFAST8 "u"
+# endif
+#endif
+#if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define SCNxFAST8 SCNx64
+# elif UINT_FAST8_MAX == 0xffff
+# define SCNxFAST8 "hx"
+# elif UINT_FAST8_MAX == 0xff
+# define SCNxFAST8 "hhx"
+# else
+# define SCNxFAST8 "x"
+# endif
+#endif
+#if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define SCNdFAST16 SCNd64
+# elif INT_FAST16_MAX == 0x7fff
+# define SCNdFAST16 "hd"
+# else
+# define SCNdFAST16 "d"
+# endif
+#endif
+#if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define SCNiFAST16 SCNi64
+# elif INT_FAST16_MAX == 0x7fff
+# define SCNiFAST16 "hi"
+# else
+# define SCNiFAST16 "i"
+# endif
+#endif
+#if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define SCNoFAST16 SCNo64
+# elif UINT_FAST16_MAX == 0xffff
+# define SCNoFAST16 "ho"
+# else
+# define SCNoFAST16 "o"
+# endif
+#endif
+#if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define SCNuFAST16 SCNu64
+# elif UINT_FAST16_MAX == 0xffff
+# define SCNuFAST16 "hu"
+# else
+# define SCNuFAST16 "u"
+# endif
+#endif
+#if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define SCNxFAST16 SCNx64
+# elif UINT_FAST16_MAX == 0xffff
+# define SCNxFAST16 "hx"
+# else
+# define SCNxFAST16 "x"
+# endif
+#endif
+#if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define SCNdFAST32 SCNd64
+# else
+# define SCNdFAST32 "d"
+# endif
+#endif
+#if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define SCNiFAST32 SCNi64
+# else
+# define SCNiFAST32 "i"
+# endif
+#endif
+#if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define SCNoFAST32 SCNo64
+# else
+# define SCNoFAST32 "o"
+# endif
+#endif
+#if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define SCNuFAST32 SCNu64
+# else
+# define SCNuFAST32 "u"
+# endif
+#endif
+#if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define SCNxFAST32 SCNx64
+# else
+# define SCNxFAST32 "x"
+# endif
+#endif
+#ifdef INT64_MAX
+# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST64
+# define SCNdFAST64 SCNd64
+# endif
+# if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST64
+# define SCNiFAST64 SCNi64
+# endif
+#endif
+#ifdef UINT64_MAX
+# if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST64
+# define SCNoFAST64 SCNo64
+# endif
+# if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST64
+# define SCNuFAST64 SCNu64
+# endif
+# if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST64
+# define SCNxFAST64 SCNx64
+# endif
+#endif
+
+#if !defined SCNdMAX || @PRI_MACROS_BROKEN@
+# undef SCNdMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define SCNdMAX SCNd64
+# else
+# define SCNdMAX "ld"
+# endif
+#endif
+#if !defined SCNiMAX || @PRI_MACROS_BROKEN@
+# undef SCNiMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define SCNiMAX SCNi64
+# else
+# define SCNiMAX "li"
+# endif
+#endif
+#if !defined SCNoMAX || @PRI_MACROS_BROKEN@
+# undef SCNoMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define SCNoMAX SCNo64
+# else
+# define SCNoMAX "lo"
+# endif
+#endif
+#if !defined SCNuMAX || @PRI_MACROS_BROKEN@
+# undef SCNuMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define SCNuMAX SCNu64
+# else
+# define SCNuMAX "lu"
+# endif
+#endif
+#if !defined SCNxMAX || @PRI_MACROS_BROKEN@
+# undef SCNxMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define SCNxMAX SCNx64
+# else
+# define SCNxMAX "lx"
+# endif
+#endif
+
+#if !defined SCNdPTR || @PRI_MACROS_BROKEN@
+# undef SCNdPTR
+# ifdef INTPTR_MAX
+# define SCNdPTR @PRIPTR_PREFIX@ "d"
+# endif
+#endif
+#if !defined SCNiPTR || @PRI_MACROS_BROKEN@
+# undef SCNiPTR
+# ifdef INTPTR_MAX
+# define SCNiPTR @PRIPTR_PREFIX@ "i"
+# endif
+#endif
+#if !defined SCNoPTR || @PRI_MACROS_BROKEN@
+# undef SCNoPTR
+# ifdef UINTPTR_MAX
+# define SCNoPTR @PRIPTR_PREFIX@ "o"
+# endif
+#endif
+#if !defined SCNuPTR || @PRI_MACROS_BROKEN@
+# undef SCNuPTR
+# ifdef UINTPTR_MAX
+# define SCNuPTR @PRIPTR_PREFIX@ "u"
+# endif
+#endif
+#if !defined SCNxPTR || @PRI_MACROS_BROKEN@
+# undef SCNxPTR
+# ifdef UINTPTR_MAX
+# define SCNxPTR @PRIPTR_PREFIX@ "x"
+# endif
+#endif
+
+/* 7.8.2 Functions for greatest-width integer types */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if @GNULIB_IMAXABS@
+# if !@HAVE_DECL_IMAXABS@
+extern intmax_t imaxabs (intmax_t);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef imaxabs
+# if HAVE_RAW_DECL_IMAXABS
+_GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - "
+ "use gnulib module imaxabs for portability");
+# endif
+#endif
+
+#if @GNULIB_IMAXDIV@
+# if !@HAVE_DECL_IMAXDIV@
+# if !GNULIB_defined_imaxdiv_t
+typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
+# define GNULIB_defined_imaxdiv_t 1
+# endif
+extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef imaxdiv
+# if HAVE_RAW_DECL_IMAXDIV
+_GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - "
+ "use gnulib module imaxdiv for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOIMAX@
+# if @REPLACE_STRTOIMAX@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strtoimax
+# define strtoimax rpl_strtoimax
+# endif
+_GL_FUNCDECL_RPL (strtoimax, intmax_t,
+ (const char *, char **, int) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int));
+# else
+# if !@HAVE_DECL_STRTOIMAX@
+# undef strtoimax
+_GL_FUNCDECL_SYS (strtoimax, intmax_t,
+ (const char *, char **, int) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int));
+# endif
+_GL_CXXALIASWARN (strtoimax);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoimax
+# if HAVE_RAW_DECL_STRTOIMAX
+_GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - "
+ "use gnulib module strtoimax for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOUMAX@
+# if !@HAVE_DECL_STRTOUMAX@
+# undef strtoumax
+_GL_FUNCDECL_SYS (strtoumax, uintmax_t,
+ (const char *, char **, int) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int));
+_GL_CXXALIASWARN (strtoumax);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoumax
+# if HAVE_RAW_DECL_STRTOUMAX
+_GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - "
+ "use gnulib module strtoumax for portability");
+# endif
+#endif
+
+/* Don't bother defining or declaring wcstoimax and wcstoumax, since
+ wide-character functions like this are hardly ever useful. */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */
diff --git a/tests/link.c b/tests/link.c
index 60cf708..ce3cc44 100644
--- a/tests/link.c
+++ b/tests/link.c
@@ -1,6 +1,6 @@
/* Emulate link on platforms that lack it, namely native Windows platforms.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -13,8 +13,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
@@ -155,9 +154,20 @@ link (const char *file1, const char *file2)
int
rpl_link (char const *file1, char const *file2)
{
+ size_t len1;
+ size_t len2;
+ struct stat st;
+
+ /* Don't allow IRIX to dereference dangling file2 symlink. */
+ if (!lstat (file2, &st))
+ {
+ errno = EEXIST;
+ return -1;
+ }
+
/* Reject trailing slashes on non-directories. */
- size_t len1 = strlen (file1);
- size_t len2 = strlen (file2);
+ len1 = strlen (file1);
+ len2 = strlen (file2);
if ((len1 && file1[len1 - 1] == '/')
|| (len2 && file2[len2 - 1] == '/'))
{
@@ -165,7 +175,6 @@ rpl_link (char const *file1, char const *file2)
If stat() fails, then link() should fail for the same reason
(although on Solaris 9, link("file/","oops") mistakenly
succeeds); if stat() succeeds, require a directory. */
- struct stat st;
if (stat (file1, &st))
return -1;
if (!S_ISDIR (st.st_mode))
@@ -178,7 +187,6 @@ rpl_link (char const *file1, char const *file2)
{
/* Fix Cygwin 1.5.x bug where link("a","b/.") creates file "b". */
char *dir = strdup (file2);
- struct stat st;
char *p;
if (!dir)
return -1;
diff --git a/tests/locale.in.h b/tests/locale.in.h
deleted file mode 100644
index 1f9bafd..0000000
--- a/tests/locale.in.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/* A POSIX <locale.h>.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef _GL_LOCALE_H
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-/* The include_next requires a split double-inclusion guard. */
-#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
-
-#ifndef _GL_LOCALE_H
-#define _GL_LOCALE_H
-
-/* NetBSD 5.0 mis-defines NULL. */
-#include <stddef.h>
-
-/* MacOS X 10.5 defines the locale_t type in <xlocale.h>. */
-#if @HAVE_XLOCALE_H@
-# include <xlocale.h>
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
-
-/* The definition of _GL_ARG_NONNULL is copied here. */
-
-/* The definition of _GL_WARN_ON_USE is copied here. */
-
-/* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C.
- On systems that don't define it, use the same value as GNU libintl. */
-#if !defined LC_MESSAGES
-# define LC_MESSAGES 1729
-#endif
-
-#if @GNULIB_SETLOCALE@
-# if @REPLACE_SETLOCALE@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef setlocale
-# define setlocale rpl_setlocale
-# define GNULIB_defined_setlocale 1
-# endif
-_GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale));
-_GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale));
-# else
-_GL_CXXALIAS_SYS (setlocale, char *, (int category, const char *locale));
-# endif
-_GL_CXXALIASWARN (setlocale);
-#elif defined GNULIB_POSIXCHECK
-# undef setlocale
-# if HAVE_RAW_DECL_SETLOCALE
-_GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
- "use gnulib module setlocale for portability");
-# endif
-#endif
-
-#if @GNULIB_DUPLOCALE@
-# if @REPLACE_DUPLOCALE@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef duplocale
-# define duplocale rpl_duplocale
-# endif
-_GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
-# else
-# if @HAVE_DUPLOCALE@
-_GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale));
-# endif
-# endif
-# if @HAVE_DUPLOCALE@
-_GL_CXXALIASWARN (duplocale);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef duplocale
-# if HAVE_RAW_DECL_DUPLOCALE
-_GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
- "use gnulib module duplocale for portability");
-# endif
-#endif
-
-#endif /* _GL_LOCALE_H */
-#endif /* _GL_LOCALE_H */
diff --git a/tests/localename.c b/tests/localename.c
index a5bfea7..47cb7ca 100644
--- a/tests/localename.c
+++ b/tests/localename.c
@@ -1,24 +1,22 @@
/* Determine name of the currently selected locale.
- Copyright (C) 1995-2011 Free Software Foundation, Inc.
+ Copyright (C) 1995-2013 Free Software Foundation, Inc.
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your option)
- any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public
- License along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- USA. */
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* Written by Ulrich Drepper <drepper@gnu.org>, 1995. */
-/* Win32 code written by Tor Lillqvist <tml@iki.fi>. */
-/* MacOS X code written by Bruno Haible <bruno@clisp.org>. */
+/* Native Windows code written by Tor Lillqvist <tml@iki.fi>. */
+/* Mac OS X code written by Bruno Haible <bruno@clisp.org>. */
#include <config.h>
@@ -36,7 +34,7 @@
#include <string.h>
#if HAVE_USELOCALE
-/* MacOS X 10.5 defines the locale_t type in <xlocale.h>. */
+/* Mac OS X 10.5 defines the locale_t type in <xlocale.h>. */
# if defined __APPLE__ && defined __MACH__
# include <xlocale.h>
# endif
@@ -56,10 +54,10 @@
#endif
#if defined _WIN32 || defined __WIN32__
-# define WIN32_NATIVE
+# define WINDOWS_NATIVE
#endif
-#if defined WIN32_NATIVE || defined __CYGWIN__ /* WIN32 or Cygwin */
+#if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
/* List of language codes, sorted by value:
@@ -1130,11 +1128,11 @@
#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
-/* MacOS X 10.2 or newer */
+/* Mac OS X 10.2 or newer */
-/* Canonicalize a MacOS X locale name to a Unix locale name.
+/* Canonicalize a Mac OS X locale name to a Unix locale name.
NAME is a sufficiently large buffer.
- On input, it contains the MacOS X locale name.
+ On input, it contains the Mac OS X locale name.
On output, it contains the Unix locale name. */
# if !defined IN_LIBINTL
static
@@ -1147,9 +1145,9 @@ gl_locale_name_canonicalize (char *name)
http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */
/* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and
- ISO 3166) names. Prior to MacOS X 10.3, there is no API for doing this.
+ ISO 3166) names. Prior to Mac OS X 10.3, there is no API for doing this.
Therefore we do it ourselves, using a table based on the results of the
- MacOS X 10.3.8 function
+ Mac OS X 10.3.8 function
CFLocaleCreateCanonicalLocaleIdentifierFromString(). */
typedef struct { const char legacy[21+1]; const char unixy[5+1]; }
legacy_entry;
@@ -1292,26 +1290,26 @@ gl_locale_name_canonicalize (char *name)
typedef struct { const char langtag[7+1]; const char unixy[12+1]; }
langtag_entry;
static const langtag_entry langtag_table[] = {
- /* MacOS X has "az-Arab", "az-Cyrl", "az-Latn".
+ /* Mac OS X has "az-Arab", "az-Cyrl", "az-Latn".
The default script for az on Unix is Latin. */
{ "az-Latn", "az" },
- /* MacOS X has "ga-dots". Does not yet exist on Unix. */
+ /* Mac OS X has "ga-dots". Does not yet exist on Unix. */
{ "ga-dots", "ga" },
- /* MacOS X has "kk-Cyrl". Does not yet exist on Unix. */
- /* MacOS X has "mn-Cyrl", "mn-Mong".
+ /* Mac OS X has "kk-Cyrl". Does not yet exist on Unix. */
+ /* Mac OS X has "mn-Cyrl", "mn-Mong".
The default script for mn on Unix is Cyrillic. */
{ "mn-Cyrl", "mn" },
- /* MacOS X has "ms-Arab", "ms-Latn".
+ /* Mac OS X has "ms-Arab", "ms-Latn".
The default script for ms on Unix is Latin. */
{ "ms-Latn", "ms" },
- /* MacOS X has "tg-Cyrl".
+ /* Mac OS X has "tg-Cyrl".
The default script for tg on Unix is Cyrillic. */
{ "tg-Cyrl", "tg" },
- /* MacOS X has "tk-Cyrl". Does not yet exist on Unix. */
- /* MacOS X has "tt-Cyrl".
+ /* Mac OS X has "tk-Cyrl". Does not yet exist on Unix. */
+ /* Mac OS X has "tt-Cyrl".
The default script for tt on Unix is Cyrillic. */
{ "tt-Cyrl", "tt" },
- /* MacOS X has "zh-Hans", "zh-Hant".
+ /* Mac OS X has "zh-Hans", "zh-Hant".
Country codes are used to distinguish these on Unix. */
{ "zh-Hans", "zh_CN" },
{ "zh-Hant", "zh_TW" }
@@ -1407,11 +1405,11 @@ gl_locale_name_canonicalize (char *name)
#endif
-#if defined WIN32_NATIVE || defined __CYGWIN__ /* WIN32 or Cygwin */
+#if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
-/* Canonicalize a Win32 native locale name to a Unix locale name.
+/* Canonicalize a Windows native locale name to a Unix locale name.
NAME is a sufficiently large buffer.
- On input, it contains the Win32 locale name.
+ On input, it contains the Windows locale name.
On output, it contains the Unix locale name. */
# if !defined IN_LIBINTL
static
@@ -1467,9 +1465,9 @@ gl_locale_name_from_win32_LANGID (LANGID langid)
}
/* Internet Explorer has an LCID to RFC3066 name mapping stored in
HKEY_CLASSES_ROOT\Mime\Database\Rfc1766. But we better don't use that
- since IE's i18n subsystem is known to be inconsistent with the Win32 base
- (e.g. they have different character conversion facilities that produce
- different results). */
+ since IE's i18n subsystem is known to be inconsistent with the native
+ Windows base (e.g. they have different character conversion facilities
+ that produce different results). */
/* Use our own table. */
{
int primary, sub;
@@ -2507,7 +2505,7 @@ gl_locale_name_from_win32_LCID (LCID lcid)
#endif
-#if HAVE_USELOCALE /* glibc or MacOS X */
+#if HAVE_USELOCALE /* glibc or Mac OS X */
/* Simple hash set of strings. We don't want to drag in lots of hash table
code here. */
@@ -2618,133 +2616,34 @@ gl_locale_name_thread_unsafe (int category, const char *categoryname)
nl_langinfo (_NL_LOCALE_NAME (category)). */
name = thread_locale->__names[category];
return name;
-# endif
-# if defined __APPLE__ && defined __MACH__ /* MacOS X */
- /* The locale name is found deep in an undocumented data structure.
- Since it's stored in a buffer of size 32 and newlocale() rejects
- locale names of length > 31, we can assume that it is NUL terminated
- in this buffer. But we need to make a copy of the locale name, of
- indefinite extent. */
- struct _xlocale_part1_v0 /* used in MacOS X 10.5 */
- {
- int32_t __refcount;
- void (*__free_extra)(void *);
- __darwin_mbstate_t __mbs[10];
- int64_t __magic;
- };
- struct _xlocale_part1_v1 /* used in MacOS X >= 10.6.0 */
- {
- int32_t __refcount;
- void (*__free_extra)(void *);
- __darwin_mbstate_t __mbs[10];
- /*pthread_lock_t*/ int __lock;
- int64_t __magic;
- };
- struct _xlocale_part2
- {
- int64_t __magic;
- unsigned char __collate_load_error;
- unsigned char __collate_substitute_nontrivial;
- unsigned char _messages_using_locale;
- unsigned char _monetary_using_locale;
- unsigned char _numeric_using_locale;
- unsigned char _time_using_locale;
- unsigned char __mlocale_changed;
- unsigned char __nlocale_changed;
- unsigned char __numeric_fp_cvt;
- struct __xlocale_st_collate *__lc_collate;
- struct __xlocale_st_runelocale *__lc_ctype;
- struct __xlocale_st_messages *__lc_messages;
- struct __xlocale_st_monetary *__lc_monetary;
- struct __xlocale_st_numeric *__lc_numeric;
- struct _xlocale *__lc_numeric_loc;
- struct __xlocale_st_time *__lc_time;
- /* more */
- };
- struct __xlocale_st_collate
- {
- int32_t __refcount;
- void (*__free_extra)(void *);
- char __encoding[32];
- /* more */
- };
- struct __xlocale_st_runelocale
- {
- int32_t __refcount;
- void (*__free_extra)(void *);
- char __ctype_encoding[32];
- /* more */
- };
- struct __xlocale_st_messages
- {
- int32_t __refcount;
- void (*__free_extra)(void *);
- char *_messages_locale_buf;
- /* more */
- };
- struct __xlocale_st_monetary
- {
- int32_t __refcount;
- void (*__free_extra)(void *);
- char *_monetary_locale_buf;
- /* more */
- };
- struct __xlocale_st_numeric {
- int32_t __refcount;
- void (*__free_extra)(void *);
- char *_numeric_locale_buf;
- /* more */
- };
- struct __xlocale_st_time {
- int32_t __refcount;
- void (*__free_extra)(void *);
- char *_time_locale_buf;
- /* more */
- };
- struct _xlocale_part2 *tlp;
- if (((struct _xlocale_part1_v0 *) thread_locale)->__magic
- == 0x786C6F63616C6530LL)
- /* MacOS X 10.5 */
- tlp =
- (struct _xlocale_part2 *)
- &((struct _xlocale_part1_v0 *) thread_locale)->__magic;
- else if (((struct _xlocale_part1_v1 *) thread_locale)->__magic
- == 0x786C6F63616C6530LL)
- /* MacOS X >= 10.6.0 */
- tlp =
- (struct _xlocale_part2 *)
- &((struct _xlocale_part1_v1 *) thread_locale)->__magic;
- else
- /* Unsupported version of MacOS X: The internals of 'struct _xlocale'
- have changed again. */
- return "";
+# elif defined __FreeBSD__ || (defined __APPLE__ && defined __MACH__)
+ /* FreeBSD, Mac OS X */
+ int mask;
+
switch (category)
{
case LC_CTYPE:
- return tlp->__lc_ctype->__ctype_encoding;
+ mask = LC_CTYPE_MASK;
+ break;
case LC_NUMERIC:
- return tlp->_numeric_using_locale
- ? tlp->__lc_numeric->_numeric_locale_buf
- : "C";
+ mask = LC_NUMERIC_MASK;
+ break;
case LC_TIME:
- return tlp->_time_using_locale
- ? tlp->__lc_time->_time_locale_buf
- : "C";
+ mask = LC_TIME_MASK;
+ break;
case LC_COLLATE:
- return !tlp->__collate_load_error
- ? tlp->__lc_collate->__encoding
- : "C";
+ mask = LC_COLLATE_MASK;
+ break;
case LC_MONETARY:
- return tlp->_monetary_using_locale
- ? tlp->__lc_monetary->_monetary_locale_buf
- : "C";
+ mask = LC_MONETARY_MASK;
+ break;
case LC_MESSAGES:
- return tlp->_messages_using_locale
- ? tlp->__lc_messages->_messages_locale_buf
- : "C";
+ mask = LC_MESSAGES_MASK;
+ break;
default: /* We shouldn't get here. */
return "";
}
+ return querylocale (mask, thread_locale);
# endif
}
}
@@ -2786,8 +2685,8 @@ gl_locale_name_posix (int category, const char *categoryname)
/* On other systems we ignore what setlocale reports and instead look at the
environment variables directly. This is necessary
1. on systems which have a facility for customizing the default locale
- (MacOS X, native Windows, Cygwin) and where the system's setlocale()
- function ignores this default locale (MacOS X, Cygwin), in two cases:
+ (Mac OS X, native Windows, Cygwin) and where the system's setlocale()
+ function ignores this default locale (Mac OS X, Cygwin), in two cases:
a. when the user missed to use the setlocale() override from libintl
(for example by not including <libintl.h>),
b. when setlocale supports only the "C" locale, such as on Cygwin
@@ -2822,7 +2721,7 @@ gl_locale_name_environ (int category, const char *categoryname)
if (retval != NULL && retval[0] != '\0')
{
#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
- /* MacOS X 10.2 or newer.
+ /* Mac OS X 10.2 or newer.
Ignore invalid LANG value set by the Terminal application. */
if (strcmp (retval, "UTF-8") != 0)
#endif
@@ -2849,10 +2748,10 @@ gl_locale_name_default (void)
locale, customizing it for each location. POSIX:2001 does not require
such a facility.
- The systems with such a facility are MacOS X and Windows: They provide a
+ The systems with such a facility are Mac OS X and Windows: They provide a
GUI that allows the user to choose a locale.
- - On MacOS X, by default, none of LC_* or LANG are set. Starting with
- MacOS X 10.4 or 10.5, LANG is set for processes launched by the
+ - On Mac OS X, by default, none of LC_* or LANG are set. Starting with
+ Mac OS X 10.4 or 10.5, LANG is set for processes launched by the
'Terminal' application (but sometimes to an incorrect value "UTF-8").
When no environment variable is set, setlocale (LC_ALL, "") uses the
"C" locale.
@@ -2868,7 +2767,7 @@ gl_locale_name_default (void)
"C.UTF-8" locale, which operates in the same way as the "C" locale.
*/
-#if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined WIN32_NATIVE || defined __CYGWIN__)
+#if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined WINDOWS_NATIVE || defined __CYGWIN__)
/* The system does not have a way of setting the locale, other than the
POSIX specified environment variables. We use C as default locale. */
@@ -2882,7 +2781,7 @@ gl_locale_name_default (void)
codeset. */
# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
- /* MacOS X 10.2 or newer */
+ /* Mac OS X 10.2 or newer */
{
/* Cache the locale name, since CoreFoundation calls are expensive. */
static const char *cached_localename;
@@ -2890,7 +2789,7 @@ gl_locale_name_default (void)
if (cached_localename == NULL)
{
char namebuf[256];
-# if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */
+# if HAVE_CFLOCALECOPYCURRENT /* Mac OS X 10.3 or newer */
CFLocaleRef locale = CFLocaleCopyCurrent ();
CFStringRef name = CFLocaleGetIdentifier (locale);
@@ -2901,7 +2800,7 @@ gl_locale_name_default (void)
cached_localename = strdup (namebuf);
}
CFRelease (locale);
-# elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */
+# elif HAVE_CFPREFERENCESCOPYAPPVALUE /* Mac OS X 10.2 or newer */
CFTypeRef value =
CFPreferencesCopyAppValue (CFSTR ("AppleLocale"),
kCFPreferencesCurrentApplication);
@@ -2923,11 +2822,11 @@ gl_locale_name_default (void)
# endif
-# if defined WIN32_NATIVE || defined __CYGWIN__ /* WIN32 or Cygwin */
+# if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
{
LCID lcid;
- /* Use native Win32 API locale ID. */
+ /* Use native Windows API locale ID. */
lcid = GetThreadLocale ();
return gl_locale_name_from_win32_LCID (lcid);
diff --git a/tests/localename.h b/tests/localename.h
index e754853..e70eee6 100644
--- a/tests/localename.h
+++ b/tests/localename.h
@@ -1,20 +1,18 @@
/* Determine name of the currently selected locale.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your option)
- any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public
- License along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
- USA. */
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef _GL_LOCALENAME_H
#define _GL_LOCALENAME_H
diff --git a/tests/macros.h b/tests/macros.h
index 8922675..60ba894 100644
--- a/tests/macros.h
+++ b/tests/macros.h
@@ -1,5 +1,5 @@
/* Common macros used by gnulib tests.
- Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -62,3 +62,12 @@
*not* work for function parameters of array type, because they are actually
parameters of pointer type. */
#define SIZEOF(array) (sizeof (array) / sizeof (array[0]))
+
+/* STREQ (str1, str2)
+ Return true if two strings compare equal. */
+#define STREQ(a, b) (strcmp (a, b) == 0)
+
+/* Some numbers in the interval [0,1). */
+extern const float randomf[1000];
+extern const double randomd[1000];
+extern const long double randoml[1000];
diff --git a/tests/minus-zero.h b/tests/minus-zero.h
index 9429781..5882cbf 100644
--- a/tests/minus-zero.h
+++ b/tests/minus-zero.h
@@ -1,5 +1,5 @@
/* Macros for floating-point negative zero.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,7 +24,7 @@
/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0f.
ICC 10.0 has a bug when optimizing the expression -zero.
The expression -FLT_MIN * FLT_MIN does not work when cross-compiling
- to PowerPC on MacOS X 10.5. */
+ to PowerPC on Mac OS X 10.5. */
#if defined __hpux || defined __sgi || defined __ICC
static float
compute_minus_zerof (void)
@@ -42,7 +42,7 @@ float minus_zerof = -0.0f;
/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0.
ICC 10.0 has a bug when optimizing the expression -zero.
The expression -DBL_MIN * DBL_MIN does not work when cross-compiling
- to PowerPC on MacOS X 10.5. */
+ to PowerPC on Mac OS X 10.5. */
#if defined __hpux || defined __sgi || defined __ICC
static double
compute_minus_zerod (void)
@@ -61,7 +61,7 @@ double minus_zerod = -0.0;
IRIX cc can't put -0.0L into .data, but can compute at runtime.
ICC 10.0 has a bug when optimizing the expression -zero.
The expression -LDBL_MIN * LDBL_MIN does not work when cross-compiling
- to PowerPC on MacOS X 10.5. */
+ to PowerPC on Mac OS X 10.5. */
#if defined __hpux || defined __sgi || defined __ICC
static long double
compute_minus_zerol (void)
diff --git a/tests/nan.h b/tests/nan.h
index 5e1c0c3..e95ceb9 100644
--- a/tests/nan.h
+++ b/tests/nan.h
@@ -1,5 +1,5 @@
/* Macros for not-a-number.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,8 +17,9 @@
/* NaNf () returns a 'float' not-a-number. */
-/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */
-#ifdef __DECC
+/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
+ on the expression 0.0 / 0.0. */
+#if defined __DECC || defined _MSC_VER
static float
NaNf ()
{
@@ -32,8 +33,9 @@ NaNf ()
/* NaNd () returns a 'double' not-a-number. */
-/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */
-#ifdef __DECC
+/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
+ on the expression 0.0 / 0.0. */
+#if defined __DECC || defined _MSC_VER
static double
NaNd ()
{
@@ -48,13 +50,21 @@ NaNd ()
/* NaNl () returns a 'long double' not-a-number. */
/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
- runtime type conversion. */
+ runtime type conversion.
+ The Microsoft MSVC 9 compiler chokes on the expression 0.0L / 0.0L. */
#ifdef __sgi
static long double NaNl ()
{
double zero = 0.0;
return zero / zero;
}
+#elif defined _MSC_VER
+static long double
+NaNl ()
+{
+ static long double zero = 0.0L;
+ return zero / zero;
+}
#else
# define NaNl() (0.0L / 0.0L)
#endif
diff --git a/tests/opendir.c b/tests/opendir.c
new file mode 100644
index 0000000..de0ea5a
--- /dev/null
+++ b/tests/opendir.c
@@ -0,0 +1,148 @@
+/* Start reading the entries of a directory.
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <dirent.h>
+
+#include <errno.h>
+#include <stddef.h>
+
+#if HAVE_OPENDIR
+
+/* Override opendir(), to keep track of the open file descriptors.
+ Needed because there is a function dirfd(). */
+
+#else
+
+# include <stdlib.h>
+
+# include "dirent-private.h"
+# include "filename.h"
+
+#endif
+
+#if REPLACE_FCHDIR
+# include <unistd.h>
+#endif
+
+DIR *
+opendir (const char *dir_name)
+{
+#if HAVE_OPENDIR
+# undef opendir
+ DIR *dirp;
+
+ dirp = opendir (dir_name);
+ if (dirp == NULL)
+ return NULL;
+
+#else
+
+ char dir_name_mask[MAX_PATH + 1 + 1 + 1];
+ int status;
+ HANDLE current;
+ WIN32_FIND_DATA entry;
+ struct gl_directory *dirp;
+
+ if (dir_name[0] == '\0')
+ {
+ errno = ENOENT;
+ return NULL;
+ }
+
+ /* Make the dir_name absolute, so that we continue reading the same
+ directory if the current directory changed between this opendir()
+ call and a subsequent rewinddir() call. */
+ if (!GetFullPathName (dir_name, MAX_PATH, dir_name_mask, NULL))
+ {
+ errno = EINVAL;
+ return NULL;
+ }
+
+ /* Append the mask.
+ "*" and "*.*" appear to be equivalent. */
+ {
+ char *p;
+
+ p = dir_name_mask + strlen (dir_name_mask);
+ if (p > dir_name_mask && !ISSLASH (p[-1]))
+ *p++ = '\\';
+ *p++ = '*';
+ *p = '\0';
+ }
+
+ /* Start searching the directory. */
+ status = -1;
+ current = FindFirstFile (dir_name_mask, &entry);
+ if (current == INVALID_HANDLE_VALUE)
+ {
+ switch (GetLastError ())
+ {
+ case ERROR_FILE_NOT_FOUND:
+ status = -2;
+ break;
+ case ERROR_PATH_NOT_FOUND:
+ errno = ENOENT;
+ return NULL;
+ case ERROR_DIRECTORY:
+ errno = ENOTDIR;
+ return NULL;
+ case ERROR_ACCESS_DENIED:
+ errno = EACCES;
+ return NULL;
+ default:
+ errno = EIO;
+ return NULL;
+ }
+ }
+
+ /* Allocate the result. */
+ dirp =
+ (struct gl_directory *)
+ malloc (offsetof (struct gl_directory, dir_name_mask[0])
+ + strlen (dir_name_mask) + 1);
+ if (dirp == NULL)
+ {
+ if (current != INVALID_HANDLE_VALUE)
+ FindClose (current);
+ errno = ENOMEM;
+ return NULL;
+ }
+ dirp->status = status;
+ dirp->current = current;
+ if (status == -1)
+ memcpy (&dirp->entry, &entry, sizeof (WIN32_FIND_DATA));
+ strcpy (dirp->dir_name_mask, dir_name_mask);
+
+#endif
+
+#if REPLACE_FCHDIR
+ {
+ int fd = dirfd (dirp);
+ if (0 <= fd && _gl_register_fd (fd, dir_name) != fd)
+ {
+ int saved_errno = errno;
+ closedir (dirp);
+ errno = saved_errno;
+ return NULL;
+ }
+ }
+#endif
+
+ return dirp;
+}
diff --git a/tests/putenv.c b/tests/putenv.c
index 68e5fec..5461273 100644
--- a/tests/putenv.c
+++ b/tests/putenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2011 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2013 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
@@ -34,14 +34,21 @@
#include <string.h>
#include <unistd.h>
-#if HAVE_GNU_LD
-# define environ __environ
-#else
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+#endif
+
+#if _LIBC
+# if HAVE_GNU_LD
+# define environ __environ
+# else
extern char **environ;
+# endif
#endif
#if _LIBC
-/* This lock protects against simultaneous modifications of `environ'. */
+/* This lock protects against simultaneous modifications of 'environ'. */
# include <bits/libc-lock.h>
__libc_lock_define_initialized (static, envlock)
# define LOCK __libc_lock_lock (envlock)
@@ -55,7 +62,9 @@ static int
_unsetenv (const char *name)
{
size_t len;
+#if !HAVE_DECL__PUTENV
char **ep;
+#endif
if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
{
@@ -65,6 +74,21 @@ _unsetenv (const char *name)
len = strlen (name);
+#if HAVE_DECL__PUTENV
+ {
+ int putenv_result, putenv_errno;
+ char *name_ = malloc (len + 2);
+ memcpy (name_, name, len);
+ name_[len] = '=';
+ name_[len + 1] = 0;
+ putenv_result = _putenv (name_);
+ putenv_errno = errno;
+ free (name_);
+ __set_errno (putenv_errno);
+ return putenv_result;
+ }
+#else
+
LOCK;
ep = environ;
@@ -85,17 +109,17 @@ _unsetenv (const char *name)
UNLOCK;
return 0;
+#endif
}
/* Put STRING, which is of the form "NAME=VALUE", in the environment.
- If STRING contains no `=', then remove STRING from the environment. */
+ If STRING contains no '=', then remove STRING from the environment. */
int
putenv (char *string)
{
- const char *const name_end = strchr (string, '=');
- register size_t size;
- register char **ep;
+ const char *name_end = strchr (string, '=');
+ char **ep;
if (name_end == NULL)
{
@@ -103,30 +127,68 @@ putenv (char *string)
return _unsetenv (string);
}
- size = 0;
- for (ep = environ; *ep != NULL; ++ep)
- if (!strncmp (*ep, string, name_end - string) &&
- (*ep)[name_end - string] == '=')
+#if HAVE_DECL__PUTENV
+ /* Rely on _putenv to allocate the new environment. If other
+ parts of the application use _putenv, the !HAVE_DECL__PUTENV code
+ would fight over who owns the environ vector, causing a crash. */
+ if (name_end[1])
+ return _putenv (string);
+ else
+ {
+ /* _putenv ("NAME=") unsets NAME, so invoke _putenv ("NAME= ")
+ to allocate the environ vector and then replace the new
+ entry with "NAME=". */
+ int putenv_result, putenv_errno;
+ char *name_x = malloc (name_end - string + sizeof "= ");
+ if (!name_x)
+ return -1;
+ memcpy (name_x, string, name_end - string + 1);
+ name_x[name_end - string + 1] = ' ';
+ name_x[name_end - string + 2] = 0;
+ putenv_result = _putenv (name_x);
+ putenv_errno = errno;
+ for (ep = environ; *ep; ep++)
+ if (strcmp (*ep, name_x) == 0)
+ {
+ *ep = string;
+ break;
+ }
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ if (putenv_result == 0)
+ {
+ /* _putenv propagated "NAME= " into the subprocess environment;
+ fix that by calling SetEnvironmentVariable directly. */
+ name_x[name_end - string] = 0;
+ putenv_result = SetEnvironmentVariable (name_x, "") ? 0 : -1;
+ putenv_errno = ENOMEM; /* ENOMEM is the only way to fail. */
+ }
+# endif
+ free (name_x);
+ __set_errno (putenv_errno);
+ return putenv_result;
+ }
+#else
+ for (ep = environ; *ep; ep++)
+ if (strncmp (*ep, string, name_end - string) == 0
+ && (*ep)[name_end - string] == '=')
break;
- else
- ++size;
- if (*ep == NULL)
+ if (*ep)
+ *ep = string;
+ else
{
static char **last_environ = NULL;
- char **new_environ = (char **) malloc ((size + 2) * sizeof (char *));
- if (new_environ == NULL)
+ size_t size = ep - environ;
+ char **new_environ = malloc ((size + 2) * sizeof *new_environ);
+ if (! new_environ)
return -1;
- (void) memcpy ((void *) new_environ, (void *) environ,
- size * sizeof (char *));
- new_environ[size] = (char *) string;
- new_environ[size + 1] = NULL;
+ new_environ[0] = string;
+ memcpy (new_environ + 1, environ, (size + 1) * sizeof *new_environ);
free (last_environ);
last_environ = new_environ;
environ = new_environ;
}
- else
- *ep = string;
return 0;
+#endif
}
diff --git a/tests/randomd.c b/tests/randomd.c
new file mode 100644
index 0000000..a3097ef
--- /dev/null
+++ b/tests/randomd.c
@@ -0,0 +1,1028 @@
+/* Some random 'double' numbers used by gnulib tests.
+ Copyright (C) 2012-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "macros.h"
+
+/* Some numbers in the interval [0,1). */
+
+const double randomd[1000] =
+{
+ /* Some not so random numbers at the beginning. */
+ 0.0,
+ /* Then some numbers generated by GNU clisp. */
+ 0.89255299921822260894833866359,
+ 0.56160033401164667976788987953,
+ 0.51743003502243816003616725706,
+ 0.78419011286685927826225711525,
+ 0.64400370685467819470063888148,
+ 0.38151255107934048933308886009,
+ 0.279822118770531878839000163945,
+ 0.51983544681375980919751125922,
+ 0.314601557551148376372971500376,
+ 0.44551938964685651088492647794,
+ 0.44235192503793823441729544512,
+ 0.0040120762636767874958681841509,
+ 0.57608572759464216512285032474,
+ 0.69151953350396585566714564265,
+ 0.65634190642598148152780718322,
+ 0.68520459394253807590733184567,
+ 0.60728078832107635628786818115,
+ 0.376679934380311318950949959986,
+ 0.48893422455419005003224231708,
+ 0.59664228319132670346209747371,
+ 0.70162191594290728927555900075,
+ 0.70981089000005327192380201706,
+ 0.480574069305863387682360414433,
+ 0.369264627455974856929910550376,
+ 0.42224495444170593700839286742,
+ 0.96974027194201320964041066537,
+ 0.69950081092902694549973698004,
+ 0.366921803754944985368022837045,
+ 0.19460757354611588216534077527,
+ 0.046437559879825520495822908204,
+ 0.57694149138457596563075731094,
+ 0.49632733844850578203860859535,
+ 0.80735347459453553970910033766,
+ 0.210271595033975357161360058967,
+ 0.176539870249396534142059724214,
+ 0.75320267419158828905982021879,
+ 0.09535042912249636739069790414,
+ 0.41433965906065337672703334968,
+ 0.62189345390648146852641556292,
+ 0.322595610794052908153116342595,
+ 0.173860860827838938281708881865,
+ 0.55258425878412963601205794028,
+ 0.066559056629606284504735241978,
+ 0.0193835990781649263368095562556,
+ 0.127101629778251450428653553143,
+ 0.9603475517586241593077319367,
+ 0.68429794014738591042302507235,
+ 0.0139808909843634026741151214975,
+ 0.0036035679428138856395527711611,
+ 0.072656401341518399752950821809,
+ 0.229562863635014486626281702425,
+ 0.88337277579960676546469424767,
+ 0.88850212167800818244030104263,
+ 0.208063225990716089095767541316,
+ 0.268304917462565269805874454916,
+ 0.3195427196271617997151392088,
+ 0.59101407246003811289573881403,
+ 0.972093867752368095080492689,
+ 0.409246208960242309650511849637,
+ 0.84250639316418167849010246997,
+ 0.063842712141624332977179722113,
+ 0.96470327141354888687046060373,
+ 0.43109879978424216966175314888,
+ 0.14551248610248934836482236208,
+ 0.84819094513299136408788493212,
+ 0.41166757935215520377191731704,
+ 0.96020915727830366672170130175,
+ 0.55313106883839046701902022583,
+ 0.9796595451013758579218900134,
+ 0.74222694300533435700276764516,
+ 0.117294243075539310976051880564,
+ 0.32216824750097146958151447387,
+ 0.59090211400137031908131441,
+ 0.116841680533127258304897076543,
+ 0.83595865401141052310417569507,
+ 0.249488155772987988074361149176,
+ 0.67896015287499211280971531326,
+ 0.72256498621401843299673078876,
+ 0.327315362968271601258667297595,
+ 0.37438214921868498405279953481,
+ 0.76929694812658272272027330778,
+ 0.44282297788821568912463681727,
+ 0.59517407740270913902014268964,
+ 0.346217547960702024419571713567,
+ 0.68339868731911838904373225224,
+ 0.057507087039986776837238366719,
+ 0.1189343986186977384509521024,
+ 0.65646666532916174831489781194,
+ 0.80925124288745606089697795707,
+ 0.61302937875769552609444313984,
+ 0.64367434863387777107222872563,
+ 0.059228300879437554416166010005,
+ 0.76899237494115809397158171526,
+ 0.335797991302131791511629123206,
+ 0.72923178692628392090326699514,
+ 0.79300056654108221012876564405,
+ 0.58866760551158502690719665335,
+ 0.65249222174748700395779659047,
+ 0.79573528799715877963614353006,
+ 0.101363067664632247385474166088,
+ 0.392494669960902131436398643207,
+ 0.37323453200630776302168616197,
+ 0.29857554596542776498065634631,
+ 0.9796202149626312305197715787,
+ 0.58770219934833805722677794788,
+ 0.126574575737099431915356308504,
+ 0.51086682994362911961448609847,
+ 0.26221303911946316754295166201,
+ 0.87331402410090670707406246035,
+ 0.08604799064198292716037672196,
+ 0.77880380648915901962140523059,
+ 0.34131646312914811415381942246,
+ 0.422787222735822749759714960156,
+ 0.16550478231620269333824890372,
+ 0.84087065799129220871741135711,
+ 0.96561976597443996963329538915,
+ 0.059890627133354026356081805998,
+ 0.09359839900604706997291172522,
+ 0.61463026659668017286248279853,
+ 0.220582135665522265733252389516,
+ 0.30146695094150797543070759948,
+ 0.406591688270652513808216198946,
+ 0.206959751707199812083987569348,
+ 0.71382992952779021033600406503,
+ 0.98971690700151825984363090029,
+ 0.86339958328134745391858859595,
+ 0.70037828363249257457230217791,
+ 0.97380974339470107231135690474,
+ 0.9184635965630883290893011311,
+ 0.418605216026507942885819265225,
+ 0.61793227858714759711625818653,
+ 0.67394880797682685081908511723,
+ 0.98871101941805039780826467279,
+ 0.65973593853137069988371349845,
+ 0.93348525072186907424189028727,
+ 0.59164378220465485142298641014,
+ 0.95303768733773138214124075961,
+ 0.88667310242538944858141870801,
+ 0.83785319781204861623008709825,
+ 0.54026788227426708201242457367,
+ 0.74842599257855801522259951132,
+ 0.286624102305531463268442510375,
+ 0.41180484980938874161376712508,
+ 0.22754664620316922947541651384,
+ 0.62360609793949755240041318939,
+ 0.3311618194042077047850111557,
+ 0.315407885695867020730009836503,
+ 0.215221706711430951961780213436,
+ 0.168600630933631406101821024413,
+ 0.62661489373200405241464923618,
+ 0.95357070304277219756741072036,
+ 0.5186418766697788447635039428,
+ 0.70772930521061953327927296944,
+ 0.410376884797056150221504703145,
+ 0.39705302343406249619577860633,
+ 0.79215885822696034431481699125,
+ 0.157831717946112504384603002152,
+ 0.26892306298536012837855426922,
+ 0.15697088614321016223211167568,
+ 0.41395315712905823355235182393,
+ 0.043977876945327860015049914653,
+ 0.91453495544799358550673657283,
+ 0.46230093259088633973148827911,
+ 0.79479146768024434444120965094,
+ 0.1466704986407674407377422815,
+ 0.093614591443204076599999803382,
+ 0.66061870961706149406527099303,
+ 0.087462146328394574476138187113,
+ 0.79683664444310818297700615557,
+ 0.39732728185755441060070738751,
+ 0.141934473990413594291362391075,
+ 0.63111751995951919258061547632,
+ 0.78521985432793823024330967029,
+ 0.53307346282606806792796696141,
+ 0.61679109370763781010143645189,
+ 0.40696293619387120891515025426,
+ 0.68670343879278712242412028794,
+ 0.0115112936831136012901340526452,
+ 0.70866056737692430987650236649,
+ 0.75378980574358943122474800795,
+ 0.17133202766710894969283150847,
+ 0.36771201738922655520549864974,
+ 0.64614182581953931840374311331,
+ 0.354495602088990708111406368474,
+ 0.96418771817934443444348833491,
+ 0.51633426669933834634574104246,
+ 0.064671329812306055349433587193,
+ 0.084335079914541732137341401384,
+ 0.98578018340150609333535890283,
+ 0.32988119060114570391488875477,
+ 0.70568290443337103364762141207,
+ 0.7501960060851696034137148851,
+ 0.141312840936106004164373056114,
+ 0.60721022154106372815080238296,
+ 0.49179275887283771965744826261,
+ 0.85530668893284708999269819019,
+ 0.09730053915339358769067661488,
+ 0.48817911888023094845428570434,
+ 0.37116312252354470380676793579,
+ 0.61870369881699387959990992873,
+ 0.381874188039839457469043174076,
+ 0.68193837613090719561872304949,
+ 0.4773618313988618747215621251,
+ 0.152383599292709764750406667286,
+ 0.54317522808228983459963725598,
+ 0.363848788591302782268887022354,
+ 0.0105589810271147011378412305973,
+ 0.55582445068669939957392951111,
+ 0.99910376130213936748996659383,
+ 0.90286867348280161480903197439,
+ 0.48268382934936288156485037692,
+ 0.0976084557356802030533675394,
+ 0.29004949962481398455881920169,
+ 0.99169758897256717005011514856,
+ 0.20722895154834288274430061308,
+ 0.50294863638464584121275744208,
+ 0.71094033855350495714847377558,
+ 0.94078709219520224551350834268,
+ 0.48088262771516317628650315489,
+ 0.80538698628980761175811796611,
+ 0.83495029615293903361580945571,
+ 0.67996381940825251937974905761,
+ 0.57936805772275234468590364926,
+ 0.41778137764942046281708286844,
+ 0.161602687591454506771276482303,
+ 0.093910625156097743113739432334,
+ 0.45716763620641108625606409874,
+ 0.96455075374827233820027584808,
+ 0.5179966880512917274934448216,
+ 0.046797382046060065926143985952,
+ 0.83673567319931334127111064225,
+ 0.44224504444533247245974476514,
+ 0.73281179385894336737033582786,
+ 0.5642490153724193432309549673,
+ 0.83700200507325250303481208805,
+ 0.152714941779871552944298597052,
+ 0.38606607994977770238226473985,
+ 0.0155140917516105439042442246577,
+ 0.51621537013393688713546096688,
+ 0.311969390991657895966526156064,
+ 0.83890647777450698803932943984,
+ 0.54370750820133482930695388638,
+ 0.98636765788772465929756760473,
+ 0.77334255661128878905675504339,
+ 0.57070354296508751519811368688,
+ 0.8365252076669013372866223481,
+ 0.344601601940890721182485798794,
+ 0.92658930620470543221158939208,
+ 0.72724523363899270076210273102,
+ 0.413672082025645586061788451734,
+ 0.5132836422023222169840403333,
+ 0.82135610583961360173883281975,
+ 0.423835065039748889417547786563,
+ 0.87083598844595488941471761572,
+ 0.59009392451459866513886634656,
+ 0.206124826643305920436961792363,
+ 0.288685540685143988030522421633,
+ 0.7944357933456167153993184889,
+ 0.090945230657758780394996530608,
+ 0.52981750421369669363095418817,
+ 0.091368944984485824360107751981,
+ 0.81824925769562351657564377069,
+ 0.083315412912658535228751011063,
+ 0.59602276778799576464600065047,
+ 0.52258035262146456789454411102,
+ 0.394692074165738897132014378974,
+ 0.92031214264405188928824363967,
+ 0.32812665356161216265971156268,
+ 0.79754299890007289545033977389,
+ 0.3029021512227565310021437326,
+ 0.81425785760698537744367921928,
+ 0.85199399843570233736733560413,
+ 0.096629890212080240754541391968,
+ 0.60643798959967098211181910285,
+ 0.75368518979236587723780129098,
+ 0.451368813651510369666120626045,
+ 0.86189868235067352904955566961,
+ 0.239506411296874624231401913963,
+ 0.143392266376287906568670938457,
+ 0.035585084401323981008798496622,
+ 0.89407531932950775763701297226,
+ 0.56699767164913732414312190205,
+ 0.6107715946195223295493238966,
+ 0.980870588312723808697191463,
+ 0.37603666613089681502774907483,
+ 0.19565477083291620146833762404,
+ 0.70326913680165706368122461762,
+ 0.98247770640436619202690080984,
+ 0.54911931698472764719220618506,
+ 0.96749331150477343995263612791,
+ 0.9349501605275792139661332597,
+ 0.067704019779021886031495084945,
+ 0.52883185005352261786874768842,
+ 0.03879817199556086106868125058,
+ 0.011268895714104342862021635882,
+ 0.86781395233112768504418642287,
+ 0.73610697666830606371057497872,
+ 0.22595829849389174304359852447,
+ 0.95990840938724981323147621815,
+ 0.5938079875208820675776232526,
+ 0.78655922365792476391655372464,
+ 0.51099073264725007373467108776,
+ 0.66474884887866769539664215292,
+ 0.88640025828226102852258218854,
+ 0.39889893489572927635368967129,
+ 0.76340426725003756852384366924,
+ 0.485534753598641026618647825146,
+ 0.55957578573824837450384728978,
+ 0.50840543283094885180866842941,
+ 0.0102415845792896532313226969615,
+ 0.74666891036262398733922051708,
+ 0.49044748088989431070743849791,
+ 0.184017043174756439606592004597,
+ 0.0225210121470402648790231578307,
+ 0.096909683465740960387467976065,
+ 0.0521874432095560437920256545446,
+ 0.108114343037383115951564617563,
+ 0.77430486784405922952977031491,
+ 0.73286432949907824441702845144,
+ 0.083559249182272369453587951223,
+ 0.074541345541671560054508020717,
+ 0.55130541064331728019681677403,
+ 0.101450912226971008587146654246,
+ 0.74564503962660370005995595861,
+ 0.55903832180264925580029280922,
+ 0.86098138284846671753408133719,
+ 0.76146956314354797691373262733,
+ 0.5569854467166466965564479865,
+ 0.61138555623626762560168304163,
+ 0.93778268377974305185411499629,
+ 0.106728342608615813606903105742,
+ 0.51139895550624845300079248199,
+ 0.8826404150665399364200384063,
+ 0.79849755952621824621632991954,
+ 0.60058338183244813128378689372,
+ 0.57271235605091257806409062354,
+ 0.134476676178095582804914204515,
+ 0.62710051406343298533266304307,
+ 0.21517566131268423511744492316,
+ 0.87763268502269127056352092234,
+ 0.259516013975152388767641295316,
+ 0.54026961752737864438921779715,
+ 0.0321012344232942464157113655476,
+ 0.047765687217921465801489989111,
+ 0.17851281529041807770891682623,
+ 0.67864372391481596436180177405,
+ 0.27188630999531652193578141334,
+ 0.76570352378902765382129471855,
+ 0.55727605717645959087760838806,
+ 0.40035295538031700787360193533,
+ 0.65772683660586524086245866733,
+ 0.87515739410383285146563935658,
+ 0.51637173718066431535845791928,
+ 0.32843440805452173782945632394,
+ 0.46789250836790673252530282969,
+ 0.153916136058705475580104911632,
+ 0.38115724589238346986896925035,
+ 0.96911901452270741576104655076,
+ 0.327510878721849788805057952285,
+ 0.52921188196053063832762822112,
+ 0.357891066893689952162669812174,
+ 0.8109495999496825638917226258,
+ 0.87378695338223548954000159812,
+ 0.071735687760291841872657613394,
+ 0.22099818521305441851106524174,
+ 0.61319403424123059973018445501,
+ 0.49185069904977836269777464774,
+ 0.8465618819298531473261910176,
+ 0.88263955123256235889766657732,
+ 0.264605739218701311737446373095,
+ 0.157257748694727606809000832224,
+ 0.61172692557424578980817509135,
+ 0.89224381101792427145783648267,
+ 0.049436313890546252030141534714,
+ 0.78472068655126867546237630366,
+ 0.94890896727672958163705440614,
+ 0.61244719025309458330037069759,
+ 0.69652639673616920270100103049,
+ 0.82306805868313923466426022855,
+ 0.4619352653236511042512479492,
+ 0.248913888569715263431474781448,
+ 0.64972077945521993267494748532,
+ 0.058989138867897862567374093665,
+ 0.97969837050674699927934092348,
+ 0.112860503606029382332397067852,
+ 0.9148268966080465389473749031,
+ 0.80522292073416096202056634334,
+ 0.80810563925192214527344776336,
+ 0.082994810842601316055993203972,
+ 0.58154183958194788097113770541,
+ 0.91401321304178026032151961143,
+ 0.064162440925738934087179609749,
+ 0.15233762499249088696399602351,
+ 0.05051666992337641462246832006,
+ 0.138526581114846840617440323377,
+ 0.3330645447918149831766264793,
+ 0.217487368997014213919568641696,
+ 0.61893770768550649722673903221,
+ 0.48128956859001312165262121487,
+ 0.67074178502738313699688470847,
+ 0.74389636308055141796746779725,
+ 0.78623735396470085242463142878,
+ 0.74044466560335570728816983391,
+ 0.44977042205766449238521848558,
+ 0.04936658918716696558210777333,
+ 0.46898154881467544198433735515,
+ 0.86577421926732888331279455256,
+ 0.351697801257336354285066689416,
+ 0.44607679846684358775746123434,
+ 0.68542184287580537292736482205,
+ 0.044146424753083577398366558491,
+ 0.84496717026871403905274974765,
+ 0.20398318496314438897842101827,
+ 0.75107700174605698650069666924,
+ 0.178571061661964354577482608798,
+ 0.67178502534981979941629966218,
+ 0.90847842600882488644789391115,
+ 0.073076683947302775918335357377,
+ 0.33981323802799502107773228774,
+ 0.88205531070102240708858032672,
+ 0.52395959911163033140017417074,
+ 0.339537812421755656306362620887,
+ 0.54102447887624739438002987695,
+ 0.99615637434542139613844677579,
+ 0.91178029521112995461052949527,
+ 0.75825739605806537625994927603,
+ 0.20376049709427102495755901889,
+ 0.414724980644126108685694310425,
+ 0.33340705339227162790042902392,
+ 0.63442350111338002489027718102,
+ 0.79083735924049231993808201264,
+ 0.7022290803727963570326957922,
+ 0.073051026670174816217706335151,
+ 0.50842348505687696224462184336,
+ 0.32363091931107924009593033016,
+ 0.097074638787613630803324174721,
+ 0.79231345620836950165162896374,
+ 0.46134517653790366185204412042,
+ 0.87767180094474465071641454817,
+ 0.30504377737897498569142680272,
+ 0.96430402804903305707372788262,
+ 0.58722709934909516402891605024,
+ 0.36287829330987989626587492725,
+ 0.341369045118572012709880807167,
+ 0.18622546427505557603629823709,
+ 0.71794779555885705340742601105,
+ 0.098775720656078510422828040021,
+ 0.94170390436210924588938028149,
+ 0.6256516749208606216856038288,
+ 0.84990648194056707180867958453,
+ 0.24897158268824763099382644974,
+ 0.67126976686560821454618204853,
+ 0.18287142221906188751198231263,
+ 0.58301735289988287890086250316,
+ 0.39451451502323596545833498888,
+ 0.64778726863510310777659172018,
+ 0.344060647976610102257104623935,
+ 0.8543225374577925606075052273,
+ 0.41721025737118350088955048104,
+ 0.346301150923723212219486824146,
+ 0.430145349151890094004681136873,
+ 0.083653676599147505357408467754,
+ 0.89927285917733406113015320169,
+ 0.87717630249665962395834008139,
+ 0.114609060439245285884826496387,
+ 0.19079403943711412757743782207,
+ 0.095752662525740063245815699042,
+ 0.79249438764728213221559489213,
+ 0.36889557473162465630046043798,
+ 0.076691690566591062968137595944,
+ 0.82502767429905549906741868154,
+ 0.7665582347663079379259164121,
+ 0.40329445688627141530172819257,
+ 0.76025417855373928649612014969,
+ 0.67742016809536470259225177395,
+ 0.56458198627250149175789836481,
+ 0.78923506303765674533158921804,
+ 0.242546191857944356752822856477,
+ 0.5429792204847717222270173404,
+ 0.7269010821579782458839227112,
+ 0.68884017933657182784660476876,
+ 0.037868346502260087811459749823,
+ 0.5900507745679403546108564628,
+ 0.2867946536016681954708929644,
+ 0.47061390957475445523849010039,
+ 0.51289737877965767076806069599,
+ 0.422963220866519099525024712084,
+ 0.056516063514784913538055836342,
+ 0.77559606292381102490968685122,
+ 0.44812023547000818124896526252,
+ 0.8496368064876247362896528731,
+ 0.272242276648834925536741986616,
+ 0.21366791927514210787832263868,
+ 0.458126557153035507756298880855,
+ 0.59095285049337797286946531198,
+ 0.41387171106200290943847880691,
+ 0.040527832792286543640976926214,
+ 0.84749051864346812142321430329,
+ 0.6591922374100337646083630177,
+ 0.30504037894556796180304594549,
+ 0.69588062596190762407598122745,
+ 0.54615362946297678668402889519,
+ 0.27179536774730804380125320985,
+ 0.16312965572910266758089041195,
+ 0.60443803311418335000528681396,
+ 0.76221957063947757300487766314,
+ 0.0012561481228798307955579245318,
+ 0.38477311712200424042679172286,
+ 0.86336953839931184684851388121,
+ 0.85132017314817690655384788334,
+ 0.79741410166633177181313320738,
+ 0.81142674213295830272567127246,
+ 0.90095974521916505411272740187,
+ 0.461262866736651478343958282766,
+ 0.163149749038393754125992055513,
+ 0.079563568933303239293664877234,
+ 0.0076308467066608702534098522771,
+ 0.74020408989686798939059759005,
+ 0.68004244363120265645245845544,
+ 0.99423282025586676895879517721,
+ 0.256512790150101579655974619204,
+ 0.15841489307390214447222985222,
+ 0.53156533193583516285295078457,
+ 0.51195175518666885397864463638,
+ 0.2688502522458221215136352473,
+ 0.290743998007688539265414246556,
+ 0.375642431327791011131765421904,
+ 0.73366824563603699669790620984,
+ 0.89031055476039433366324605036,
+ 0.63269458446317741594059410575,
+ 0.79677646360837164675956632,
+ 0.91096051787867659208019728176,
+ 0.056411022047894420770349313174,
+ 0.7117937367428418076554349793,
+ 0.494496454398059649677550547185,
+ 0.9944698091905991687808626336,
+ 0.195654008095567563746040882677,
+ 0.33245249703376584453346565181,
+ 0.91671965905832444523554539619,
+ 0.104159073216349402499760928077,
+ 0.78250381705179599027513221262,
+ 0.82221952254403323129879405024,
+ 0.25404653774104883427079980313,
+ 0.89334850648967094099280368977,
+ 0.2721479244387740074938025269,
+ 0.58627710421889854554604323774,
+ 0.80740872172002770008164688167,
+ 0.295213737773499230779293451686,
+ 0.366266263469556210902410635735,
+ 0.72189449997560167388059780325,
+ 0.91339160960295327548014703572,
+ 0.27978723834100283634925494393,
+ 0.44312275285067091147157546317,
+ 0.88264479919648468925459438057,
+ 0.74860386620420068665117140949,
+ 0.97534502025842784289380076051,
+ 0.183653687608870314454061893335,
+ 0.14143760686328530307343938507,
+ 0.7794390875763962068165432699,
+ 0.79988123088296718350409621263,
+ 0.91344402454829897860268279997,
+ 0.3003753710559256572305330721,
+ 0.92236868180619898327118824659,
+ 0.85128995509445007265453349716,
+ 0.51226586850988855988005111668,
+ 0.59328586801467434659081264762,
+ 0.131543061349700789237108200816,
+ 0.97962864281984756641024957818,
+ 0.80003961712390827564285728721,
+ 0.07332191035039234849987853587,
+ 0.33710892945255754021249327366,
+ 0.237798240512212115424045579506,
+ 0.050628096786899757905464602857,
+ 0.36368141580193860149061967396,
+ 0.074547282281222729072803274018,
+ 0.32013351651022219595136046535,
+ 0.50087363542319392259892635316,
+ 0.95534128322832584718763016378,
+ 0.63089810554419660091974256912,
+ 0.45937043591639452731937380837,
+ 0.77794827072126710252068287081,
+ 0.5833967217973934570703322242,
+ 0.89948711130168823436943591707,
+ 0.88448792344727137087709578749,
+ 0.75774410588649351850782212564,
+ 0.51545850808454807305763364038,
+ 0.89535564141616759448334976604,
+ 0.433876155086630438489414332084,
+ 0.263145194001722566517185175524,
+ 0.094513715303174637696079970882,
+ 0.0067905149976316075236601623182,
+ 0.3746548325271489972742277758,
+ 0.81418012245523025207375976459,
+ 0.7382555515800124086679648947,
+ 0.71505454385778976492869269043,
+ 0.7698698840252614242858413632,
+ 0.53096667868591647121855295207,
+ 0.5913146508318579789498085478,
+ 0.82865413011200335887487636747,
+ 0.246477924915753655378269255135,
+ 0.7718625116939460952174295485,
+ 0.33088224685104582360581424038,
+ 0.077396220323469426942810035952,
+ 0.399851739373243384531661374094,
+ 0.74828949567652386217126904324,
+ 0.55533476993642340021791702209,
+ 0.475356366587838670689554086714,
+ 0.99199926249299355831492581518,
+ 0.60739053074816626181185925167,
+ 0.94570422855790142383862352906,
+ 0.67410117583869264525962136333,
+ 0.99340016295179621471645098914,
+ 0.30521664837678549625426072163,
+ 0.82786899862234431119578444516,
+ 0.0246054418785779831964997687095,
+ 0.33057040500642957115284791089,
+ 0.325865542252271051046671982904,
+ 0.116469964535698881624567000313,
+ 0.38792519202192930208550481713,
+ 0.147033252049062199325747990948,
+ 0.333360890210745561370686771174,
+ 0.267717098935309378552279527125,
+ 0.473606191830554736751491306975,
+ 0.69379726024488030302072707274,
+ 0.39866105325920152799379542147,
+ 0.075996151521605600512218326895,
+ 0.43692155239290098173990417979,
+ 0.63183509185797834489905365016,
+ 0.327726835190132824885685947736,
+ 0.82769389015654780671213364517,
+ 0.38036542617183448008870457384,
+ 0.06416363778906221378580326597,
+ 0.95989693996326393340364540321,
+ 0.77473792948077472252492320019,
+ 0.73353080354752465520384745159,
+ 0.79531316211939777703706647305,
+ 0.31887745411495362933791547194,
+ 0.5504233366621661345254817397,
+ 0.133841546560512334978343647306,
+ 0.93323316393590598213508657757,
+ 0.219534116905903225236593922786,
+ 0.352227557302752346568799070044,
+ 0.50699048681296139093781410327,
+ 0.56063256677949754339755086295,
+ 0.97859418495668224120337606178,
+ 0.43217748779939454097021337034,
+ 0.6118800794139137562939270606,
+ 0.8826339041571606455078384688,
+ 0.190654349423411314990846249777,
+ 0.0272323818569649486990095499454,
+ 0.13501820915175992368033644254,
+ 0.34430252524220055863712676536,
+ 0.135013324503164182485257894453,
+ 0.83301344777287732687815180326,
+ 0.71146270180847724757833953093,
+ 0.059584725284656364940760846576,
+ 0.124388342467555907606115942139,
+ 0.86760011350010388002288781466,
+ 0.43443235444248399222879725088,
+ 0.62257025564267773540408523682,
+ 0.42224480338939459869117553607,
+ 0.122203729563367693705179104655,
+ 0.86763329805228175173701751082,
+ 0.61852711996472568821866689006,
+ 0.9981036801779161471700405786,
+ 0.177126618334123901292041594724,
+ 0.37033568941002233661950847289,
+ 0.81720705981865203019383851894,
+ 0.194752883553301253160228353622,
+ 0.5399475493930702257701115294,
+ 0.21555050095259535717046390477,
+ 0.031480898918419061738395489394,
+ 0.0108626235742996694506893658131,
+ 0.29439861659506237876675916168,
+ 0.25969803792963051605662393213,
+ 0.64305111681301349941082616522,
+ 0.398301763391130971280749586885,
+ 0.82959279528518208376169366062,
+ 0.494452121232255582677051524076,
+ 0.032046850110252624668328949032,
+ 0.304808216164121089322038632124,
+ 0.43743086801077933536332835933,
+ 0.067635143022119684849606244687,
+ 0.062601171413915686472972559687,
+ 0.80704249768256597155262089974,
+ 0.049090587901867220876053770281,
+ 0.14290280489067737067786839775,
+ 0.85153414385190808252068833198,
+ 0.052035578866778404379096518691,
+ 0.84803461110488710482683367176,
+ 0.323391780352303842858779454674,
+ 0.52713499343541339922976296515,
+ 0.91034109375479019837692785976,
+ 0.106146556890642346491650008212,
+ 0.291532189474064930184344798145,
+ 0.330494959183718721493342551525,
+ 0.6236537208920888603043773443,
+ 0.89122121355780761549659392994,
+ 0.51799810738861013193016943087,
+ 0.249256177739037963581221438965,
+ 0.76322106809612787470242640888,
+ 0.97852511972383831461233976406,
+ 0.52255677693690499607690355455,
+ 0.4450034860583097087122794844,
+ 0.79114162250324775713725095404,
+ 0.94756217345536380876998110362,
+ 0.58677918818329126036021764787,
+ 0.84845252924877884299669190981,
+ 0.30081720041370757827674016113,
+ 0.27920525653128846538023076229,
+ 0.33471466998109052439193176801,
+ 0.77432114969973711331784009482,
+ 0.79975078898170550460312445454,
+ 0.90029380309155505829673878957,
+ 0.22735855793472972935624370264,
+ 0.83917898101167717908999667914,
+ 0.96001063929762371813642857618,
+ 0.80557845129235602137075744771,
+ 0.227828260252387705994553631692,
+ 0.45514459312672738783331856798,
+ 0.6996049090759249573037751274,
+ 0.76407211467383802388153449844,
+ 0.35750763601712374361686514082,
+ 0.090157662209549066428683554241,
+ 0.95043897530001474792481472865,
+ 0.97262166470012788338731033975,
+ 0.203045895422423613196589718133,
+ 0.217437635156560627036179586425,
+ 0.5222956932204809424910993278,
+ 0.52865060708104384493756729767,
+ 0.97715373213739469800445297208,
+ 0.5740174414400501666597490431,
+ 0.172348314420047937640907870932,
+ 0.57197038071649167881433868039,
+ 0.26289948915209002196358225729,
+ 0.177903112174726341611524884074,
+ 0.74917239660013094610681443816,
+ 0.59837085384984040836442442706,
+ 0.065070324689375259831989322427,
+ 0.44807493892928848916566949155,
+ 0.59027783360778386064107723777,
+ 0.122058971772529617939528531479,
+ 0.18965096763129552013799044806,
+ 0.179455202785822708296801760066,
+ 0.032170979041981235014758366854,
+ 0.297222966386620738492021519056,
+ 0.91323423393143490893801153646,
+ 0.75998869946268189685327906564,
+ 0.83934073246383862944110864099,
+ 0.17898779712956184324621175982,
+ 0.480986398855505957279379560397,
+ 0.60860751560721289727164165043,
+ 0.298927282590269088379100218673,
+ 0.77935020447343759584143119835,
+ 0.480545242963934573648858250607,
+ 0.85619790637736236353631524289,
+ 0.96488893882602300700764346564,
+ 0.36351865634843046736230405883,
+ 0.82895257550724293657223335349,
+ 0.79749691055514662573933190753,
+ 0.20106705267868388883102752272,
+ 0.33623918491977977623116871123,
+ 0.93256466340279772952587363977,
+ 0.88648669501682764515636262464,
+ 0.47662235152771500250187825963,
+ 0.52659238455883068245922982067,
+ 0.94111676559395948458425469814,
+ 0.323317713690175795284098362026,
+ 0.34796405933091263994264450729,
+ 0.52445433363119391822452105405,
+ 0.525140277317638922334264421,
+ 0.64469482443585357444532895759,
+ 0.33472685924872903603447879104,
+ 0.42400458791646499703641118014,
+ 0.8222662798441265944554029489,
+ 0.75524567154228028735673060411,
+ 0.90790601849806560799894333131,
+ 0.75164241313793249434488428193,
+ 0.38724602290468111557712203885,
+ 0.36352513950081020449187506395,
+ 0.078398790907179055722325452963,
+ 0.5003676822199407758422514133,
+ 0.86055044548361328714384972985,
+ 0.66748567445598821900669819042,
+ 0.95450644393912187127659765969,
+ 0.9536501355878008523425355652,
+ 0.56207573012593503802043957099,
+ 0.99057795680550440527031916411,
+ 0.056136908924222021770088579728,
+ 0.89322960593560085272815946927,
+ 0.19380351076299398770342941398,
+ 0.036881975481577328074706357897,
+ 0.38834900979665334617449710449,
+ 0.77196507761008668275581490587,
+ 0.87539115393397618421355963533,
+ 0.9131721846286054396553858461,
+ 0.62245648254908013430163665866,
+ 0.56021174819199355559539089633,
+ 0.86987294559046384230921358438,
+ 0.474584307464076041054198211805,
+ 0.37224942408757353492416873571,
+ 0.198307276357215222087716993615,
+ 0.81633548414328354008913860616,
+ 0.071192681637945014051745371309,
+ 0.227203421058334439883665388655,
+ 0.50527083273847576806586104904,
+ 0.25911353175247232791676189983,
+ 0.103567996992606824957067451526,
+ 0.98316826751311017109085781757,
+ 0.99206610065531611133123425907,
+ 0.63838444880264351660305680771,
+ 0.90013304139719692321619239255,
+ 0.541419881593941428911392944,
+ 0.434681681520065487913409442927,
+ 0.0277935905905462584654818408167,
+ 0.28736085880215502013374946299,
+ 0.204706679291990486471085620508,
+ 0.29639415300325412139805373353,
+ 0.316818074164048785111401123944,
+ 0.58068268044073033182148412246,
+ 0.137736206950094621238996907006,
+ 0.80907996549523150166492783923,
+ 0.73799561611209772635015717353,
+ 0.84013433924397440368969968592,
+ 0.46126521311414726401422152854,
+ 0.78013716447507497359555980298,
+ 0.83405708922951231042933175851,
+ 0.6366367969739079258896472192,
+ 0.77353748358406402598000037557,
+ 0.17489624725635947111471117775,
+ 0.80267952648428412026314875447,
+ 0.80437106861315296029137160672,
+ 0.62834462177566783487584779777,
+ 0.31539602345858033626133832055,
+ 0.50541890853061839219557074283,
+ 0.0195874476781850222509795360627,
+ 0.011676447193909007242643314705,
+ 0.85675479754070644130150816794,
+ 0.09391269154749661204040398199,
+ 0.369625667102334643216258483376,
+ 0.84311577046357953313746551837,
+ 0.66438426715728382263582851036,
+ 0.70530906415261448155650458603,
+ 0.446783684004800041373395690117,
+ 0.75627790284213576819810990131,
+ 0.57190285913753158265774292274,
+ 0.97785681370875218892539297465,
+ 0.0244503386494348881614690746194,
+ 0.48528430854909558202793141933,
+ 0.89436155397807056672243211894,
+ 0.40757489194485346255194449191,
+ 0.91772837786834838909335779229,
+ 0.28020326531649972709359017096,
+ 0.28847822326776188982020803144,
+ 0.93193769743225684077624356649,
+ 0.58336147304815741644785105161,
+ 0.4004241800179331174134885947,
+ 0.265790823692672203607418801725,
+ 0.4137092141145146388568879939,
+ 0.0255090449126572366852573357318,
+ 0.47601725598948555645487446626,
+ 0.69141516452580797436419291497,
+ 0.187709862166242786826507443003,
+ 0.31177816288567708916778389045,
+ 0.79635247302484103596788484137,
+ 0.14648403361265752358955335086,
+ 0.0088027047060531475573345163528,
+ 0.90053967411241805345616039474,
+ 0.373822238382428585287035417224,
+ 0.94303097002109978273901800507,
+ 0.037263906643698883423150604649,
+ 0.98416823398276433881119247311,
+ 0.257766562836474661728601317803,
+ 0.09336855716941364387765222813,
+ 0.057604551843195630210060755775,
+ 0.37732024813036636644231432449,
+ 0.437099108019093398068604946814,
+ 0.0298274889889844501626534131975,
+ 0.54161045457572229928359302347,
+ 0.354192069739745951755754451894,
+ 0.9952629304832433588789284291,
+ 0.61362350596285189174752077338,
+ 0.23176197923774029736185020682,
+ 0.259000332877923815426717028414,
+ 0.77171708810079063604185854121,
+ 0.87278431247491539306511051532,
+ 0.386310463821549823085972724515,
+ 0.19043920209178263945663905422,
+ 0.77200547833114724875436606573,
+ 0.2683024354984293205497398925,
+ 0.144270112550972640008446091075,
+ 0.36996280314557984925474224612,
+ 0.163548224543250866742712583905,
+ 0.54541238293503241055380526708,
+ 0.54270760938500008382580072956,
+ 0.7374073253240524865446763851,
+ 0.93470960326436177572863031654,
+ 0.71417607213823278615975270201,
+ 0.65837463356664939532769528292,
+ 0.433323451649582925271830911365,
+ 0.79664580661766246494864588315,
+ 0.392079017934601610514677836005,
+ 0.212454387416532999103471570235,
+ 0.198678082418012501322802116335,
+ 0.61525672800559338657275986197,
+ 0.99339589895181138684928419014,
+ 0.53563057949945927383392076793,
+ 0.68817192513245948798192690082,
+ 0.59671938169380086666866042956,
+ 0.5686075254645125832635026196,
+ 0.25860953535454698758704936914,
+ 0.60779864941995215785819783969,
+ 0.46515241662568547274625942204,
+ 0.8756966078479474164213834749,
+ 0.89153160343113076353740745469,
+ 0.57055911159151577684982200009,
+ 0.39366246576557783924065683256,
+ 0.53789676931469921495851209609,
+ 0.95842028586447684249630374944,
+ 0.25218284880717367924827402845,
+ 0.23718965807272971860203662735,
+ 0.334222632819004380754702693406,
+ 0.6370849366068287810411454729,
+ 0.722665796162802454203702773,
+ 0.50216248905279887048328225791,
+ 0.34529823309520970630714708672,
+ 0.45098892404492692601908443802,
+ 0.64640019115293913591196874603,
+ 0.137077316379736192931987264458,
+ 0.29368115076039970149731521521,
+ 0.20091822953913855557804069085,
+ 0.066267083813833718511605782276,
+ 0.88094596104423280074202839474,
+ 0.071730322265966936504743175424,
+ 0.69735904142296779896396736035,
+ 0.91352594564083795862432502567,
+ 0.13244220377041278512040316988,
+ 0.6283911312781029516331064494,
+ 0.34896540167805105781090114462,
+ 0.6795367801751911186206756471,
+ 0.74898526486791573083377925403,
+ 0.71700182398199203349731046015,
+ 0.121142833366516620257163901501,
+ 0.32678002036857151533698078636,
+ 0.327511655875027224450064555456,
+ 0.0079152053645354575349489795814,
+ 0.84748954479623021059675156738,
+ 0.75041561033954009809301550159,
+ 0.41101693712463238996746228193,
+ 0.90155864029338267639417046915,
+ 0.35464670537047753945618208157,
+ 0.68848712573944472430623590326,
+ 0.08893193373618063124738179594,
+ 0.58932830480784385636485098641,
+ 0.0501618828375381577588978271165,
+ 0.9451968329901169788400753848,
+ 0.074994725566097580721185016702,
+ 0.191860088196691871607965261685,
+ 0.67853841063536805868885844477,
+ 0.179445375284033906887325905976,
+ 0.84157620913886056000430779083,
+ 0.7377942162322144186341324232,
+ 0.231126715579023126062082806996,
+ 0.127662509645324778320005407937,
+ 0.63062414859560283674777403205,
+ 0.55283326072907470543330204975,
+ 0.81243486031688046850257374808,
+ 0.299095175225750536694802628506,
+ 0.34284433830834748530634854762,
+ 0.92098838107935607957057329632,
+ 0.6334432153537539286206936299,
+ 0.49203336326915182548719200464,
+ 0.70089872986754081776092540042,
+ 0.410346112246289262244008861334,
+ 0.689375704219352519232614571,
+ 0.53543492718830214408075484368,
+ 0.78985504761729292283075540625,
+ 0.66802245726332267870092702429,
+ 0.75600588548341120124374250114,
+ 0.83217485519464083512235296359,
+ 0.77758150309412736979136465746,
+ 0.067382141804836913185384124002,
+ 0.7289836962356747770023887674,
+ 0.453434776313686590560640460504,
+ 0.3160796148757468204057886796,
+ 0.0098933475787107681104048511314,
+ 0.3620064234142809735084479026,
+ 0.85993179373877360456391909506,
+ 0.90684883450763884954227285187,
+ 0.75959171037325548903969803948,
+ 0.91219881792279148536349496306,
+ 0.97175430264940118917041244436,
+ 0.292364544897748356834218017667,
+ 0.126096590956329503351026499397,
+ 0.058210669685805595156500555938,
+ 0.207143479048534791976348255132,
+ 0.202837039257860939456824357966,
+ 0.459137240079351948795601640776,
+ 0.65480905235794807223708347609
+};
diff --git a/tests/randoml.c b/tests/randoml.c
new file mode 100644
index 0000000..4e854dd
--- /dev/null
+++ b/tests/randoml.c
@@ -0,0 +1,1028 @@
+/* Some random 'long double' numbers used by gnulib tests.
+ Copyright (C) 2012-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "macros.h"
+
+/* Some numbers in the interval [0,1). */
+
+const long double randoml[1000] =
+{
+ /* Some not so random numbers at the beginning. */
+ 0.0L,
+ /* Then some numbers generated by GNU clisp. */
+ 0.709874756135422554674614242046304686448L,
+ 0.486497838502717923110029188864352615388L,
+ 0.474019570990182753146861083750226106848L,
+ 0.998821069612940336401792152067298257397L,
+ 0.68230324395444341476284133813649237509L,
+ 0.0812383212795450007980350531141537177532L,
+ 0.43131112016001535977175708439191217567L,
+ 0.1596337172541222285215378906083607753005L,
+ 0.0447361192177328171952931546845870270203L,
+ 0.669148550486018286115665314826153614017L,
+ 0.398752708644620313955955676251505325896L,
+ 0.600019492390024166744893736290881101244L,
+ 0.78337397012688890834008412364808365851L,
+ 0.747414410152603863408503379239564644402L,
+ 0.550615721371501982864462175362996180322L,
+ 0.0073983673767251687422683917248311760491L,
+ 0.693846360902780799478892082407382699085L,
+ 0.751592057901191172906159475240427353057L,
+ 0.74000578784995401707243054106755282117L,
+ 0.847264623235961908747497547605068838836L,
+ 0.917431426585209425652777605148791919017L,
+ 0.267532476015101748449269162884835638528L,
+ 0.486834088208986505203048715784492259319L,
+ 0.4580154564181484580770749178538567666L,
+ 0.391521076582874764982597286237947922907L,
+ 0.69173131929214083677828129436922728366L,
+ 0.995268639187054867212755710743514657877L,
+ 0.553189251912843822062196619876802699895L,
+ 0.632300552505301947698796653386744186037L,
+ 0.445572801006840927064646197943103543344L,
+ 0.993634311396905276414701816228609517838L,
+ 0.611582274481091436495638926486363711255L,
+ 0.017611091105275929341544154464243038417L,
+ 0.598936378040443270534796418637146416803L,
+ 0.939730325871014729497001074244817030738L,
+ 0.385712528561693907444911228190200940125L,
+ 0.48796444333495738271693214259711532603L,
+ 0.508634972895891442259656591497940133962L,
+ 0.88453398179301716552318999435310293852L,
+ 0.509099535482633468613040057130206639612L,
+ 0.333677997666677081186230843198919594355L,
+ 0.82715349353996770180499230535973424237L,
+ 0.0372593663309767971914036990047894757662L,
+ 0.932828780275931267421133064996449298348L,
+ 0.486099261359133830842098860485004683725L,
+ 0.987156392631551825781809767746170502002L,
+ 0.824739790678073493124786291053674093535L,
+ 0.671869573118280976952523743592826377585L,
+ 0.48088844444394888967684860088619551899L,
+ 0.017233021606613044454327510797750273989L,
+ 0.988102711714879869326666071903065279145L,
+ 0.091615081537455465573860363408517029583L,
+ 0.0113278995312253231106729997476313183323L,
+ 0.294349528513080028346115860151112891433L,
+ 0.0097058790914280197566968241982258935964L,
+ 0.715113281550035710673074854712220192465L,
+ 0.739627170474553083453358265804562580162L,
+ 0.588476045636558489860462119645353521893L,
+ 0.91330346819098343970944232526748274664L,
+ 0.281457572112513183673653575304242456425L,
+ 0.784192391468991402261628322552430383283L,
+ 0.504857923842698553133786835061714061812L,
+ 0.230410937725986177704701374433825197397L,
+ 0.535805811877939822805608704986961969659L,
+ 0.0508287955596506952822240797812703550548L,
+ 0.179399756999629053194209501169297540332L,
+ 0.675837373242984020977236431747771655704L,
+ 0.981496523455084073391380532008173135055L,
+ 0.325845075647804753424852268729037997407L,
+ 0.832630951427200447589084239299500129776L,
+ 0.825354056334755646582091209610369762364L,
+ 0.574731012869980895104127749738122205757L,
+ 0.799028354294603017571131513193291020045L,
+ 0.537721586879667191016369071169775496218L,
+ 0.83846801885738807298552515294277869191L,
+ 0.0922901597877978587435698953162723703674L,
+ 0.434458505758559675954739433438496373717L,
+ 0.308017320632506922735963882703835222897L,
+ 0.0192693232310748837390370764187488626234L,
+ 0.65275462537999797862908920689650691667L,
+ 0.357130585286320841741290333260811815153L,
+ 0.359562085720204868627653630044659240449L,
+ 0.758320826841831017712067337815543048118L,
+ 0.62169722559489484088614873429559348682L,
+ 0.17335411409874538731529771306978631118L,
+ 0.154077331752487118534287271363344964006L,
+ 0.148559174998934930922746358844164455867L,
+ 0.881316225913391098839630896554038163768L,
+ 0.89289796752480477623907740261818685845L,
+ 0.57786655574695620371527391411424563834L,
+ 0.318175774295281868509200498351278930862L,
+ 0.194978302204782205514236430086515458283L,
+ 0.87084962252516402992532937666368998137L,
+ 0.362113882465068209502300826516448793743L,
+ 0.273446496762640462316848141032810658473L,
+ 0.1471399192242189033406154289397228481905L,
+ 0.937157507052090331728212622934524925056L,
+ 0.600045430164287985733450402316667890373L,
+ 0.794478865621258499047814379367829521507L,
+ 0.889115878933706260333129391997704491913L,
+ 0.631825206206982866021784416451887594472L,
+ 0.966422225095067311240936396545408962515L,
+ 0.676845470105427028205320649846678927664L,
+ 0.671163783319728784750606328490914935783L,
+ 0.213726274743505026386536996423761328083L,
+ 0.99483340496284948345969144891145513965L,
+ 0.362072360280863974302182899205431874295L,
+ 0.89135316959373017710710890812308229361L,
+ 0.861008403776277958081202417380537907424L,
+ 0.518258469677886348298849030872657409393L,
+ 0.74995117457421590827489329835282465567L,
+ 0.141688060236646135992059548400562463963L,
+ 0.231055693687838328234866575264314255906L,
+ 0.128367320195147852998795956530756587271L,
+ 0.735643745226188370911313880883935933086L,
+ 0.481951681233521227023903083881246017963L,
+ 0.29797778097740396719094352844253033076L,
+ 0.259026843185033526978277511857498182853L,
+ 0.76454793636766387350530239448634042225L,
+ 0.921742101320371872828332060575170679558L,
+ 0.135594574885855893452962438848740230435L,
+ 0.249482789438500604376469100084029356821L,
+ 0.447893460512394580798054060401740249162L,
+ 0.841167533365717681130523968098862274883L,
+ 0.063885342343669943206116658917625959392L,
+ 0.49268569222220133343083683720155184169L,
+ 0.0320364278163828327673837310979596079469L,
+ 0.83067006037141488187036282222404336846L,
+ 0.32687090604018629599351990634445890267L,
+ 0.524229581985562678867475657633756672726L,
+ 0.26442137331545990230136529620604338964L,
+ 0.1804465247704923307363156457827584866855L,
+ 0.219897692414720290686302976466475627349L,
+ 0.657372240957848561373923532613997515665L,
+ 0.94917951707325275578037456019158874452L,
+ 0.999935336870950506894538846120127792282L,
+ 0.334292387732229479489367107895450895382L,
+ 0.519605753222230586160238890634421180626L,
+ 0.2353320030331258205431171147281090084686L,
+ 0.697837952881171466097464830413620278996L,
+ 0.337355949172173312279209733133367570558L,
+ 0.59624609578396787690174902306338541087L,
+ 0.430566868363073838098964774826687118822L,
+ 0.303143768470597821848720008902412356097L,
+ 0.45566572082779255052299434804712613961L,
+ 0.63651052470632278377988990008643926753L,
+ 0.88355849548999550762491205909993278845L,
+ 0.857627182143034336666679544569747793963L,
+ 0.579654405386150422035981447661995358225L,
+ 0.527551502180559045145630115424486189773L,
+ 0.227798290812497436015108334865799792168L,
+ 0.860285575656798735433746383563482660567L,
+ 0.657434642899561800145850990323893418457L,
+ 0.991915916857419346367596676050775541352L,
+ 0.0299053482258395117883768309912517801074L,
+ 0.494186962160200346319995839440170254278L,
+ 0.795837941248740362154274095100822390282L,
+ 0.213898349709271555518444444268604992712L,
+ 0.635385838537788174234352352696939407706L,
+ 0.1161960540496013767418067989853615145483L,
+ 0.236636716576793997613161803474856412323L,
+ 0.250257128320679509772248555959408855321L,
+ 0.754809883956726591031066199439807350575L,
+ 0.240047496212680591313028855365466345707L,
+ 0.125918185384015376472834932789271923263L,
+ 0.830761928512260978768305988740912711273L,
+ 0.0833746595456954680423678981938324373477L,
+ 0.993235018876045312632920249583820095078L,
+ 0.74457886551486005017424251252790500917L,
+ 0.904041666312003998553971236017433817041L,
+ 0.99682247674917724207607173416904094376L,
+ 0.778185258630194559195184600522592063632L,
+ 0.617908428541966249479693433082678846704L,
+ 0.034201434638706652764862810175677292771L,
+ 0.1166825963578175046863759835887066398776L,
+ 0.618184997077951045734597662867931774914L,
+ 0.67223166229200793562043589747700629457L,
+ 0.50367723015643325152991864733820551338L,
+ 0.287805524504497224349445840278160308547L,
+ 0.418530565562949537953621246456529701546L,
+ 0.356577284504836083965140033686046682705L,
+ 0.727797226876543100474285620953868682292L,
+ 0.261158535215243995918166290296126543963L,
+ 0.1233681715943113445590872776925938156L,
+ 0.397342365090131218507373938120760734013L,
+ 0.33651833905580176460704582099080050591L,
+ 0.124851176251609572087737060478799388707L,
+ 0.49869389018540295598691678028277690211L,
+ 0.603921102513219725593707198424421456834L,
+ 0.0288068305492076274901316515486696644854L,
+ 0.27635950491121559708402485015430409745L,
+ 0.0219820746750707161670181537628175322048L,
+ 0.893266704905772978187424688068554761406L,
+ 0.055131714446612192984065196401480701447L,
+ 0.478917803887421452005543212818108274705L,
+ 0.1089109338581245135310441557812062287244L,
+ 0.451355129465699006367714322379179082201L,
+ 0.933539696310061306235683130737189659555L,
+ 0.295046527696521751967458467625754033345L,
+ 0.657654030109877699469191835246373699585L,
+ 0.699519422709288537538980841108763784234L,
+ 0.754780411476609088293217972311402262028L,
+ 0.940185229424181440596885768821586612845L,
+ 0.641206442188302531301220212171259413504L,
+ 0.483623421775598486212538785028426545698L,
+ 0.1819507033406890598006456890391145571876L,
+ 0.3493992184159313422014002142021878866L,
+ 0.2282143482135155999703670773974654680736L,
+ 0.65404355620292102948676570623901452325L,
+ 0.000126697620991797753719907018394969483701L,
+ 0.000128697615694221449450257101713351917085L,
+ 0.66277677565136622936757573048183355679L,
+ 0.954427508631091518542647272554320259L,
+ 0.821452416615550557725422642536361482673L,
+ 0.783949133156224682132225528942727293192L,
+ 0.883688268329322182794294084718215227776L,
+ 0.887198477924019626901140168907684736036L,
+ 0.301153686936585019868640358522761168745L,
+ 0.97031160152938862140377079439908121466L,
+ 0.613591225576913510391808189718881180802L,
+ 0.973773801885628446394837963774216539007L,
+ 0.969946092528631153860793542995840284225L,
+ 0.0552318705490405481104532089875456066346L,
+ 0.398506652226642658353465649824893657953L,
+ 0.577466681084525459648007205600389579233L,
+ 0.538305717497527581210294472297571817608L,
+ 0.0378969572225333661087665511893845011475L,
+ 0.82821208446292402852221418490682507414L,
+ 0.207039760611344134455359310666092356869L,
+ 0.278071434395492049592363658721835175976L,
+ 0.418157919791356829061560807874478279737L,
+ 0.917935426878916775097393966246600470752L,
+ 0.968879316988430839484738642933327229065L,
+ 0.836847484003257581736597938908686488306L,
+ 0.95787762740618523171012745852536482523L,
+ 0.381833463284092269744674988738521423563L,
+ 0.585758801118634412354899474049588357203L,
+ 0.590675098878457580254555486356030743515L,
+ 0.999102261786447498899644398829003134788L,
+ 0.278723779765613710807952395929736248799L,
+ 0.150160483677965826860533794972733497469L,
+ 0.39044191915595120943090707935299688844L,
+ 0.882025297705744570797306391637391855587L,
+ 0.26053886056730883704893455389142056588L,
+ 0.530123960707389279621444598593626923328L,
+ 0.307497951588709795568291546230129131789L,
+ 0.755712717002473210112772528495042985208L,
+ 0.403971099596680128749039001982260210321L,
+ 0.0955902605698226580325595772471302440213L,
+ 0.733946822526846681865131682504158670327L,
+ 0.824558199580936798107294631591949429405L,
+ 0.355777480091076251706346214380424670616L,
+ 0.183210308747040172107746729630689571628L,
+ 0.943081072447366944673610412439697363267L,
+ 0.823437046917209496498923793615721213912L,
+ 0.272212671889142468847791216625072718846L,
+ 0.467586497114075237282436742306271250655L,
+ 0.965430243779957305809196327799423550657L,
+ 0.264527585376739963287684763043832918263L,
+ 0.78305929918791974277407705060017330726L,
+ 0.1569161089271269079867408493909342109635L,
+ 0.385890512318945048667111881493883277209L,
+ 0.748768801714747310036929893375463390286L,
+ 0.9607241213632062657075501565333113635L,
+ 0.681005349771442926258254424282975745535L,
+ 0.417404611754855157969846623218352380733L,
+ 0.384922954690351156114438668003273806442L,
+ 0.0248688875333777009659560293287195312336L,
+ 0.289622732329138351547499030028075517487L,
+ 0.356660798938142089830284922931103513564L,
+ 0.1092119220339924538904809107210351902013L,
+ 0.263044604533896828574983495057823392153L,
+ 0.72916056882229781356884933113775509031L,
+ 0.277279616044198734111166028359400949283L,
+ 0.448496025651349045553194567962243478962L,
+ 0.397797975606664545700620422788810306397L,
+ 0.915573317477921170464219734057440942223L,
+ 0.565957191780698852582910000301549192135L,
+ 0.0199640867363067059474765492007910956547L,
+ 0.380718754942963039702539139065633248878L,
+ 0.271561535356661429325107452975658450244L,
+ 0.65703383768996023094650337496290243735L,
+ 0.810303462640169412310932301780031244584L,
+ 0.34389677270659068303923976829417662132L,
+ 0.1459701849396526086771469906702178205394L,
+ 0.0709566883230581731990192048699199874356L,
+ 0.0273188133279639766234319338307950998466L,
+ 0.189257375093862859152281617127963424911L,
+ 0.483370049027267515091110020077746913052L,
+ 0.6121051307445822901845022667347352688L,
+ 0.0669683489197768142011855877890933175548L,
+ 0.0462440353376468071116256899031962430102L,
+ 0.66179099750239749196171922709429044667L,
+ 0.331447780875915347204488922360787127231L,
+ 0.88878630766137716878808504113561041651L,
+ 0.57831688009568937419273238575083437733L,
+ 0.1665758643537997337473156606765968668944L,
+ 0.609499751553850514507525575752744468325L,
+ 0.842660412678850878529299409778020570114L,
+ 0.868735885617006579468607975714721515953L,
+ 0.518323673739076029376626898444587264186L,
+ 0.465048961779768578307935679739067346325L,
+ 0.739933063031511059934522150792493137138L,
+ 0.366097491036976922528977805725731033037L,
+ 0.622890978255856721366594654155975719428L,
+ 0.945120241233001881267096151974150875442L,
+ 0.711795000549305806399598132955701848342L,
+ 0.120093380051693652573317820347038096902L,
+ 0.461420048084338423641881546847056927696L,
+ 0.201645977777376722385295339631509175754L,
+ 0.1479402104137110360277226090924965371445L,
+ 0.287960179369955828242600303166176042591L,
+ 0.788362667534075941033937374958276358103L,
+ 0.610312055398887641020833805884097007991L,
+ 0.758450801974187424825814780682156814865L,
+ 0.64208882693968320907867911523798381855L,
+ 0.255468285690834138126389042932304445888L,
+ 0.0370478385689831649949675007793815537737L,
+ 0.551880617631056560992613768623601574096L,
+ 0.559262357532227558112085482526038868046L,
+ 0.129705275018847798920129782613409588523L,
+ 0.1076289463968801831500602693982998566697L,
+ 0.272506325706516323678193293634687081578L,
+ 0.721990855538151706841764025895777805643L,
+ 0.523084042169573467351077180119310086396L,
+ 0.0858615712848179826840482241961243288956L,
+ 0.589714739430299853251893655400362103563L,
+ 0.512412326166823937685402214713910254025L,
+ 0.802350747297003067442509635888112412853L,
+ 0.715817091619681167941132068164905209087L,
+ 0.0824951218034037355816988555328185436778L,
+ 0.829228234554153070848595829448989414728L,
+ 0.59652037694553054648270061009002150308L,
+ 0.133585725647906582691822880117773950377L,
+ 0.812005216254498654412124509257882599085L,
+ 0.808142463854396488512203093936737654517L,
+ 0.570217922503074432494487309472855783614L,
+ 0.704017977813333280013384719294741845102L,
+ 0.0251797587779118690185681150429720019843L,
+ 0.676272439608475367571481578590700290242L,
+ 0.880796414989798318500723261307937258554L,
+ 0.387922631107753361553377889431536170676L,
+ 0.282350224157064849683455744598629321323L,
+ 0.721001172978128539392551761867898599807L,
+ 0.98720056526474911920598612334425157851L,
+ 0.9951900286811655251775209231187451065L,
+ 0.051844546479017627818996668613208776283L,
+ 0.103738972117399718145836730690615155693L,
+ 0.228544758674525285763674099492074936604L,
+ 0.429309402103194762341587536897342160049L,
+ 0.564535575507982971760351294178163523416L,
+ 0.999063571593237112671743187500362701266L,
+ 0.340374156369508513494787137157934959152L,
+ 0.778748988242111504661479799747122556733L,
+ 0.471307010869691772647781526213794708743L,
+ 0.289707428078962269353959639691462373973L,
+ 0.826577651264033230456965284610788939828L,
+ 0.860667694131974131835140122175480202008L,
+ 0.596405567348984902495263677852931818947L,
+ 0.79786093770390728560184577433203234578L,
+ 0.85492142888696693237980696048371212203L,
+ 0.57242705004809831263405538576519171441L,
+ 0.829648119655355629047392239460860046016L,
+ 0.783260316181642610272420809845230036294L,
+ 0.0941718863377651336163202407301145871807L,
+ 0.156372209579300482444127671309443664823L,
+ 0.95045258077372510217507306087908380692L,
+ 0.1885289021059534081345247308001373861575L,
+ 0.660776653890123229320677431688026234587L,
+ 0.2333507388961794003755022400755269739225L,
+ 0.926661255852332295794894190183342387092L,
+ 0.862240624886232672002503279536846219655L,
+ 0.093072473040365648693897225471155002338L,
+ 0.210437952956145192084247103889970459783L,
+ 0.98112543168220233380555460117617724093L,
+ 0.740174391774267645790688716222038485627L,
+ 0.0209886798500615011013258311339617682421L,
+ 0.41833754096087514377582590206105535614L,
+ 0.469019942905167330505858885046130048223L,
+ 0.715228143253914303084091910768414947468L,
+ 0.949215045400946624794326433082702896278L,
+ 0.0839262379919984011512905346130401074556L,
+ 0.358856470231875479544116669678510859691L,
+ 0.676461324144301815445903930221360844898L,
+ 0.321802718137104975636543941512529575137L,
+ 0.993411285955596090334951526803325817472L,
+ 0.860164319140927797258503749506400508873L,
+ 0.94773452678939638468420772776729628408L,
+ 0.786167026315331965750413583155691260173L,
+ 0.45156944204188755542678210840170293585L,
+ 0.490807428869058127589400400723875752095L,
+ 0.1064150484458768919266881304357565451445L,
+ 0.324460881496927069927267886879512784128L,
+ 0.892536276084459403262968666925514247957L,
+ 0.626906362142556286375622503025155623158L,
+ 0.912617117728752553677432546319200457076L,
+ 0.670287539555608481364011494943625670644L,
+ 0.247614513279178220157281399165275150246L,
+ 0.328334024179281412037962820247065990969L,
+ 0.829445540957824174480776183273738605512L,
+ 0.1787214688659462728637669907628671276175L,
+ 0.925570168885833135397413435137754040344L,
+ 0.98275386432184844551191217367555375122L,
+ 0.364711512670624901280733420446798813805L,
+ 0.0676060703890593392691073615176801081634L,
+ 0.01088522590112897075539168583333589679446L,
+ 0.0611693052224598303672047526429160913973L,
+ 0.214589347780615411637055343786045569195L,
+ 0.698097005257153990899739747284349971478L,
+ 0.0354356066334430559162358810601367856981L,
+ 0.0279531560831790454930326667914520406377L,
+ 0.939682879995515407044885888120427639943L,
+ 0.312419879113847025637130107480365284706L,
+ 0.429063186024752762548549652686423948472L,
+ 0.198325752893057589388425455067795077316L,
+ 0.653970278037364931023007417819508007502L,
+ 0.396811027519564931158159336303275106925L,
+ 0.50451059823222344440248588902992099958L,
+ 0.0862505815838354201964323759027263746603L,
+ 0.957096030216378795442646824371057760147L,
+ 0.587610162738417619467784731999441435863L,
+ 0.582187586992416238476426545279573456436L,
+ 0.535716130421670802716666237861890374707L,
+ 0.090478847153957807764386571203708454605L,
+ 0.788473620511487574655894325144660477707L,
+ 0.610237648835883657058234607228408957708L,
+ 0.678372723016422015853594971922211368707L,
+ 0.0477042323920128297852928999674240977938L,
+ 0.916676966783686851658830754268116450562L,
+ 0.385373716764729378193009393283577714611L,
+ 0.51049308234047313597601380814795899816L,
+ 0.1196704708003806819299545192341910042065L,
+ 0.446475706132336496196697021305914636716L,
+ 0.22995164195921866005337396330755244987L,
+ 0.632225374693904589951305492826903497058L,
+ 0.1049567841702419598059377515889392050297L,
+ 0.66749284825574584532432314559877621928L,
+ 0.730750212627697291852996268443402535667L,
+ 0.44210748459007730373853303409845654876L,
+ 0.165882407048533464405922485111215401752L,
+ 0.326102079042974476137893383568312181916L,
+ 0.894926469777796621626659556932174565354L,
+ 0.829811268916354531033773068150153342864L,
+ 0.0607253283595596933368529290946492114805L,
+ 0.0677752868787034912813695724240479638585L,
+ 0.82861506635734784945473366382511846348L,
+ 0.160085543323090657960949278634908144601L,
+ 0.232569451519550129004668131405568301759L,
+ 0.848363194546104528297512566450812116666L,
+ 0.793640414525406609723674517332020118566L,
+ 0.0908665486135344605492576594616215607582L,
+ 0.98524892289773367881284955458176900047L,
+ 0.232277847265217861619371474795084074907L,
+ 0.2478103820537262599906715455471023544214L,
+ 0.518524645780409202282547691600231775584L,
+ 0.726858378884955244314303315523158335615L,
+ 0.245545705017836867827662773158398435754L,
+ 0.2242602776132220616213985660229694803996L,
+ 0.69321599409749039262414070240230983052L,
+ 0.0112978587458533729787299027903363211672L,
+ 0.201700091442640051051557572594860881596L,
+ 0.1553158804742445432796353137546288871905L,
+ 0.297307958467221836656545818754009116053L,
+ 0.858321137590160233755873079497950982112L,
+ 0.66848174756798322137180974713907803341L,
+ 0.996344263106353369755981871581860505522L,
+ 0.0298469963581545313060582891253178820216L,
+ 0.5825562269883888340326171333296281312L,
+ 0.493316240919863194534203651249074989694L,
+ 0.25506115557073666386519530923416434445L,
+ 0.990037777634583670683401168871182857585L,
+ 0.111966792328779238876716387539738843995L,
+ 0.555536981182848652400091282463345207445L,
+ 0.281763605895317871765768390877174374161L,
+ 0.902702281907817546029803311979267829958L,
+ 0.526223239446627547666226037912343453756L,
+ 0.663322588876953268851644820272004691035L,
+ 0.925956679854174995001911256195736125327L,
+ 0.978687628923344717267490649565202182013L,
+ 0.295452218109470204949110043833472171496L,
+ 0.763317372768444290934585368155544717374L,
+ 0.41484295515622153189510360412010755096L,
+ 0.95319138766107113957717501566306191772L,
+ 0.449833295238493367386837134824022661087L,
+ 0.380903660964162496124546078818966824203L,
+ 0.0591435603332779390763767398658188273838L,
+ 0.594973116752510574186847848340951992488L,
+ 0.66051154347057943107777082783767373976L,
+ 0.9590947364014878778361002605613544034L,
+ 0.141719503437180601174660143271258240733L,
+ 0.72942088503531365739564056985302156428L,
+ 0.96229479992042091317494337141213026865L,
+ 0.51401712994901482942061876482808737646L,
+ 0.09446204537625467018781365109090483186L,
+ 0.568441523568450417056301286402539600564L,
+ 0.598604342726174263070596195546293250945L,
+ 0.774951017988365558347613104226790833317L,
+ 0.81892086730816467017537310019875247387L,
+ 0.890143355483709851496792149649550808793L,
+ 0.2191477338352410954693547610221317715285L,
+ 0.726897475480314385643181203422499653L,
+ 0.756138778886812022822443490226271392144L,
+ 0.36128016023552084266898937740898271179L,
+ 0.410782581318000192446155911986931996913L,
+ 0.223641334296034708685419059866928946095L,
+ 0.0611617201563377229556630546893173872466L,
+ 0.0454251140845604672274274573289906520655L,
+ 0.292039969549662442463090760177927466818L,
+ 0.0892783972345646734854765244000589132126L,
+ 0.98769280749877429524697464655962686569L,
+ 0.889843464657722517503667653048728011052L,
+ 0.651776307404858375062718114948328477704L,
+ 0.87617575855504123004785690824244025026L,
+ 0.338359170956885135997817905734588127076L,
+ 0.734032684330295341291816774804886223887L,
+ 0.862422342223053851459695185679195132964L,
+ 0.197333977370262353727756586852240555633L,
+ 0.586060335783457129849055206578505427124L,
+ 0.132898852938756538479400358451026471607L,
+ 0.548298096092246267871555639877296879195L,
+ 0.301119859270324657077136364646995297056L,
+ 0.02186689635349189676964089313754648484195L,
+ 0.037538023766844046167768352700498359816L,
+ 0.739462465806194132819844936199304370748L,
+ 0.306338591475158278790432712666553704959L,
+ 0.0349382326130091592369352494672121905505L,
+ 0.12659131714329909411210854142389581492L,
+ 0.991566243159047696662802015340988687108L,
+ 0.265613985138476447081523915107505113653L,
+ 0.379928020809782559672193104868857287448L,
+ 0.3311424971073397473661763760151895103L,
+ 0.702177302636984264408758773725210449873L,
+ 0.975045571615360787500646118846671455125L,
+ 0.0373462862349996603561237755410350012631L,
+ 0.846126776062337124521510357150131165153L,
+ 0.604046707233534456382774833817964498043L,
+ 0.1981113045697699450375369418161865703455L,
+ 0.0223467484405979164693956414316536174577L,
+ 0.67121960182601511325776586363807504696L,
+ 0.165784481427263519151726479123968726022L,
+ 0.721784618575898210943875783221281669927L,
+ 0.247408211201465904622132596487935205602L,
+ 0.474174174442367430962454680799704832459L,
+ 0.38041380356189313505762491005159753494L,
+ 0.412834591083812886132307610186713638625L,
+ 0.294378742681402760124595985235966036022L,
+ 0.319576442623415298744966071520183847465L,
+ 0.17227236515412864866186439447886640924L,
+ 0.19227796294349462194111033545303573433L,
+ 0.701351402612222654905938605774127547107L,
+ 0.55598633289035034815584162421930015865L,
+ 0.402729648554369906881359212431684355721L,
+ 0.595951760748834493622338584190905994085L,
+ 0.119840257870361007206544525046135477756L,
+ 0.90443395581066590152525534589406902782L,
+ 0.205188871300477881549673944463237196075L,
+ 0.339175278174772519132232276502457660768L,
+ 0.447725444308107151040888910769680233742L,
+ 0.541239546708188153505885726785683096117L,
+ 0.12984235126732767588700711245028426254L,
+ 0.0534701599183773436559514525508752846737L,
+ 0.793436019832695131646422778046763975325L,
+ 0.718125883729211211336344362949260539072L,
+ 0.328649037343445105052694618356980072933L,
+ 0.113307342739499399477248133420602576291L,
+ 0.87683936228301044929749768481864525904L,
+ 0.212591937265603187751611886807532831791L,
+ 0.761002958456888912899646497131654914807L,
+ 0.220849601519164170820922984026707209176L,
+ 0.222305857213559738578093188054272365062L,
+ 0.651516500020930005107266726995614198887L,
+ 0.1505613416188572288472651067305496894266L,
+ 0.166658450989632252583252879193540688162L,
+ 0.249417632511505538283736333645627460544L,
+ 0.50096054904291170172998992288713266662L,
+ 0.173701146801321486346972068110605414347L,
+ 0.93433415280052265881674202089278791561L,
+ 0.1167900820460300938880016624066890278452L,
+ 0.265137084235229705213901240937609442947L,
+ 0.110072770364904306470596762714108445086L,
+ 0.0670575770615268870829070207384379655213L,
+ 0.92447493539224566948960065689964970346L,
+ 0.187517201307673207566548753071237315229L,
+ 0.935719666366703749433556454391358561756L,
+ 0.964002672100646458888742916175546552353L,
+ 0.6304136194377902875122727617639812134L,
+ 0.497041144725381002743104205240568050483L,
+ 0.589232636183711897405482721407549359295L,
+ 0.524588285641300028631908965527617181296L,
+ 0.786409662511483672510756944887012261427L,
+ 0.9924030873238807048291154748671174581L,
+ 0.891407534733792276848059682970952672076L,
+ 0.308538095910260975496982224956384014562L,
+ 0.949088891149549225900320967233005245566L,
+ 0.507378396004105004571665876613293881214L,
+ 0.348875146873077771786031143309488031474L,
+ 0.129717394366372388305812826098578876617L,
+ 0.371316171885006633822161450072014737125L,
+ 0.550162123072752251266003313454007126843L,
+ 0.822171979807031777641565545578299345138L,
+ 0.75171547658293988559512988487590040284L,
+ 0.329537443635543385256682239450819107475L,
+ 0.159687481361602477899361671181005148163L,
+ 0.788720723813465707294018605642035752394L,
+ 0.1031423865826241581828274573741444954832L,
+ 0.1925157943560383416361499973635531049876L,
+ 0.771893047929845637497166550933789470487L,
+ 0.681189132819106369246924892765206195007L,
+ 0.180608768713011918428603967211913698036L,
+ 0.0869303304414286810402604783458783443746L,
+ 0.63890744831302111307395023326393791462L,
+ 0.531696069328179766265158866360885671855L,
+ 0.557357572478102464274432325432400878297L,
+ 0.765306589402879669413870462450921612475L,
+ 0.0941202729911292570046371838018359372082L,
+ 0.902333472113108821746674873990738636997L,
+ 0.165516366160118370026922089795742876131L,
+ 0.0317472434880413278821576585103363607157L,
+ 0.706107972335163251316361316043030620453L,
+ 0.832472986392763388669796997227437520663L,
+ 0.769939001736494466971306881365718899207L,
+ 0.83093185023987157595917781461722256739L,
+ 0.1143834825195292986705373579359335590854L,
+ 0.283326017120251162360393258571085609729L,
+ 0.301605389836836671045912951769199753359L,
+ 0.855854391727628505548518803309296566532L,
+ 0.089938332734139699450960989316391404434L,
+ 0.310225946153425747793112265736973169299L,
+ 0.96854812596413627994714291059983626441L,
+ 0.279767360423571836833858253122290577619L,
+ 0.113545981876279916290815278422648489865L,
+ 0.943101270554056170747004305255027939268L,
+ 0.812274724978801470221644756549524210083L,
+ 0.9678011347395447510273023981530290554L,
+ 0.514795136336602722878788704708053145966L,
+ 0.50560840616487841567055789750974674943L,
+ 0.127654209842819812026603428361923670116L,
+ 0.273727399985085036497076514726791191553L,
+ 0.964821797874257789566527793136425594082L,
+ 0.853392912197074096341317268954834390727L,
+ 0.914236806849585335611299422695886165192L,
+ 0.277335361137281076359079507288838688219L,
+ 0.865708792613433194377422367016717680172L,
+ 0.761947879929658945814013586634774725302L,
+ 0.276975494384441865188273120642155257808L,
+ 0.0678895000408079241574268817560335475378L,
+ 0.929521528875748672899760603996998763144L,
+ 0.44453824299955605846877126958322272066L,
+ 0.444318159420536625223816052640621069982L,
+ 0.42913762214779045597457741573009821738L,
+ 0.98994873802399078252493194985812582986L,
+ 0.93065975343157446755652147574743540714L,
+ 0.821639107980128580428385838275355600123L,
+ 0.031337950421787684669360817154012683829L,
+ 0.839516942888416107002513723437531514126L,
+ 0.785501376812531727571251496474527490183L,
+ 0.247978681554054401906203846371863203863L,
+ 0.985774009303654108868853196421131421187L,
+ 0.635347409930173147315815281304257764708L,
+ 0.40087985483327734740658289294086718422L,
+ 0.374059729085540852289174052767716446502L,
+ 0.367226053686019780853702834825808619761L,
+ 0.166424328898161772576167906091392715805L,
+ 0.838115185925303343477055122060982270143L,
+ 0.829549684532006011608856001441012324216L,
+ 0.059867788238866724897690318151639504149L,
+ 0.0253429734563284738087263277549928280781L,
+ 0.953315773263436653713242828719775352192L,
+ 0.597536998796130884349662459732857817956L,
+ 0.0320571321493587106457025626624408278814L,
+ 0.477506594803204144826488443400695434979L,
+ 0.285541992141868221897101891229394096707L,
+ 0.764190678950226854486968785768647879005L,
+ 0.895489776830293129781335242249167913705L,
+ 0.570740793029533496018083006013191540077L,
+ 0.938316924714444954315906773563465846538L,
+ 0.56157168133328941481074926451373503549L,
+ 0.354184283860505415751320741296599995231L,
+ 0.778294119283540721552919906619543293274L,
+ 0.434953011661757598127924745629053141294L,
+ 0.37156491156117895854194599593687697796L,
+ 0.898767478977082606651667259049374990828L,
+ 0.21819365919403129548458400006737057993L,
+ 0.278163373548978939704874687746089548269L,
+ 0.1089005781457343817756962209721573336768L,
+ 0.85152888717082537570752846642305937149L,
+ 0.2419243481761527583754399630924438738944L,
+ 0.69442654829377168239365980152821108287L,
+ 0.1512336533453368944625038813397779875445L,
+ 0.617712962492924013140729661730350287525L,
+ 0.935400762900002313827620435729493050175L,
+ 0.79357339902161958573967958515254111256L,
+ 0.734250188990467683521536859220675412636L,
+ 0.748517858206364295837674601491185485078L,
+ 0.82520014781239194590337105462135253912L,
+ 0.1240649365160101108753438662971422995014L,
+ 0.479769236133748631678854875312914195598L,
+ 0.171269492636258554036912204801376697988L,
+ 0.833025419245729049117746814929956940986L,
+ 0.354429813451205200141830318428840891828L,
+ 0.474809123369344367691189422128776480146L,
+ 0.692239655770541262287308180705629028608L,
+ 0.271366901464125731413801963807240905363L,
+ 0.561330233800121182669429172066686942393L,
+ 0.0695868383638479426233449148171168522655L,
+ 0.627576910684655924911125045007979454546L,
+ 0.423331542652214907262628326674848471962L,
+ 0.354725031694671387579309719042578580595L,
+ 0.312419264533145363169359084710774849388L,
+ 0.167819037053563697473931127337972350099L,
+ 0.99960836112225007722014049168024866743L,
+ 0.820598666739967434549389339457492152643L,
+ 0.689495024741546551592649728378054973272L,
+ 0.831455766750164249604246627812180304754L,
+ 0.515538871956858025876039391193370146897L,
+ 0.011724889011994886395520178564059346913L,
+ 0.587485679650311054946861235938601293477L,
+ 0.113010564497810081892271654273794311467L,
+ 0.381261245177928587613552004600730320213L,
+ 0.466933821322235841488251157296771536952L,
+ 0.646965031311287534221872388017990968767L,
+ 0.1811101995014685369939482409137380098995L,
+ 0.247896943912780884738461558340983142645L,
+ 0.989351208835640462928338658234638846217L,
+ 0.924605283008839688813842975338096967047L,
+ 0.232010860908797395869871518793187418799L,
+ 0.90274859050487649728273938229764570199L,
+ 0.664078588165617572819884867627266650356L,
+ 0.532118803501055886836301096658125012493L,
+ 0.854049566634563277356849166147057535436L,
+ 0.756477818237029394317820041473365538516L,
+ 0.84578312219074068824832318394711642503L,
+ 0.169914247711153055959592721695068126213L,
+ 0.50848961455796310913779527189620088788L,
+ 0.715231849280217810525151667911662744854L,
+ 0.59666585539439202929452535210623694053L,
+ 0.72343578283497935670188130618697814035L,
+ 0.982228826906846431195861293729527133844L,
+ 0.98068755339273420823366752414155272462L,
+ 0.805277135157133623039231303778838094716L,
+ 0.840154168539481858495551656699708834713L,
+ 0.41783933695481411993780663692806809771L,
+ 0.070981740672048589027432942629842679319L,
+ 0.96664795205679820656636930925268162457L,
+ 0.155178444292580006807274171645675417735L,
+ 0.276407670358590477524508525465318694191L,
+ 0.1054964292635286397825421772930229411286L,
+ 0.354205947516472098240472076653525679013L,
+ 0.583456972150065135260312420865576513532L,
+ 0.338643867118430587299252775116788065723L,
+ 0.146467849593879827355466951871059968293L,
+ 0.0639448405747942007938896940026153617467L,
+ 0.846536583732599902600485371566229612512L,
+ 0.599728399399342923058515558777947417833L,
+ 0.140387922890235239162309673093379598453L,
+ 0.1613160217694973394489944660056369626715L,
+ 0.151848582163159668039725770584081620756L,
+ 0.663365628518336712743995463098831995163L,
+ 0.752166976367665534193146852225632451022L,
+ 0.911311062532571765386023433215793121138L,
+ 0.692490353635171096989434518397248623866L,
+ 0.990512559245857089458980255962574316578L,
+ 0.135026433195284768293027372762691869458L,
+ 0.82220389984592453325084678614092535756L,
+ 0.385471328555065081327630832374267955206L,
+ 0.108251633446048989722318564345306848022L,
+ 0.429090236713339412878596384043906547999L,
+ 0.983421429305507423332481562450757515935L,
+ 0.0163920521681887489391607174895946079877L,
+ 0.634276319224952361916496263299135133978L,
+ 0.53164375434562160610011793242431018808L,
+ 0.92801127390978303506935520414803575609L,
+ 0.708525110316144414918831897015500504675L,
+ 0.722458240987313977092360928226487539067L,
+ 0.432028911017122242491499522489684865593L,
+ 0.0001754664935299182587224394863719217640876L,
+ 0.384266658709383389800969077999970411222L,
+ 0.284964603427904715461598563563830112021L,
+ 0.1541443027599544245798778784933517572175L,
+ 0.958338802063400795313378181913830622686L,
+ 0.636927309395779701122460610729048286624L,
+ 0.0963946603295477475541191401069719222887L,
+ 0.0995190436935072136624400787867889652226L,
+ 0.294220607618706451139091631947946466958L,
+ 0.180831121994104393794487526888221966969L,
+ 0.635403971764105414766318934434540385347L,
+ 0.333929089029202997624323059191296321991L,
+ 0.498378678845335358166419186432789231466L,
+ 0.79769145046274241777533636404451138797L,
+ 0.269285209299779365433012558225847643041L,
+ 0.110524792990169183853219228066613162975L,
+ 0.252694136970632381193559370648931722998L,
+ 0.447232396115786457656991370803052298542L,
+ 0.136974250599080636030665381278567779455L,
+ 0.67243844394695156696032636816317618716L,
+ 0.280265952023932940327982570523639258968L,
+ 0.960024614746466668963206103951264089396L,
+ 0.83595031847062668345135859090890188348L,
+ 0.127840531352213174558502027846545305518L,
+ 0.333183884044346150282363573006579940787L,
+ 0.480504229384957927069515726093850498988L,
+ 0.768498913093287331615443023486434378468L,
+ 0.940413493411219283289136687423264928073L,
+ 0.548648592555019577089750862504091661273L,
+ 0.57814360039222917342516307696519676185L,
+ 0.752806287004316513987155718410926624384L,
+ 0.328211694133870995310455637563825433641L,
+ 0.153907665030571878436793446358668488233L,
+ 0.694742699178286984320321272531890059073L,
+ 0.25435421168640709608520313542078743933L,
+ 0.61387638208113240104328972389071498415L,
+ 0.250476311300881635346483832554226742174L,
+ 0.345809836897231980069633800588202859833L,
+ 0.343083789419841923142937785323119943136L,
+ 0.319174378869537109008405333721782689566L,
+ 0.158111477528301687597604325494967120237L,
+ 0.244000500810322900960285910812181460829L,
+ 0.23179705702278726416861948783067588642L,
+ 0.54682924846605062799436489677774333716L,
+ 0.549008127982055819651521103931442895238L,
+ 0.262583044663608129412956518168777449925L,
+ 0.00126513153702681878410946802239924274583L,
+ 0.942613696151881635585127791325641506562L,
+ 0.352686443706689559388572818776843215083L,
+ 0.90689998425792029984240460273113807702L,
+ 0.867511650419363872431681377574762734184L,
+ 0.280671949468087158951852027769013272607L,
+ 0.162038690615698843560500386213858514888L,
+ 0.71179364933082197276587611716632482938L,
+ 0.0967402545497599384082792036477527703823L,
+ 0.465040868275334873151726613879001199556L,
+ 0.621004503662486553272117361134036130264L,
+ 0.732964940483576253705474121238830973672L,
+ 0.423374863473223783721502627532544136435L,
+ 0.490338535425760290944218064913112069833L,
+ 0.0243433415988311460557576165617657963508L,
+ 0.0502339423891456566961808478207103394328L,
+ 0.57668149339841029115236469576085057193L,
+ 0.654589079253818313716855283653923913987L,
+ 0.1099728579252794893221972017964445810946L,
+ 0.95067113980240197864048876003001477344L,
+ 0.271440369581834169312179003284604198334L,
+ 0.067152474145377434478612939162576726923L,
+ 0.77434193893477314687843638736266814713L,
+ 0.2095679937785625400917773512669417520444L,
+ 0.7681370807102749183539277908648691358L,
+ 0.24472807400083103884984122018932641814L,
+ 0.191307162486577428460074174309309551616L,
+ 0.637215617752531571162184184570005111405L,
+ 0.858141525396878877938747690015117846998L,
+ 0.338400625200720062249435065450813258281L,
+ 0.564981422008979753676981861330327611986L,
+ 0.809460314261206431741632790718777271837L,
+ 0.879343403409393604462128113991125533726L,
+ 0.284697509116613252542034824007026845569L,
+ 0.497023470648395180497606069099534119801L,
+ 0.650004713241995983979792197286941523L,
+ 0.1177129995341492896184329340448111002318L,
+ 0.923625966014428778639333261268345799732L,
+ 0.698837131343914189577155394009532120604L,
+ 0.28242326745092132457477019796509942259L,
+ 0.70025600885251684699238650783454037429L,
+ 0.876659050276528114198964471020380705343L,
+ 0.52914892693002332233566353042454639365L,
+ 0.319860854431864688430502078275989809115L,
+ 0.83483115610648557287441551698147898778L,
+ 0.727639064249568383685922880431792837046L,
+ 0.58743287662861037184349933549802687836L,
+ 0.510383231616356949495559076196319035197L,
+ 0.00229935944348919214521608305418404052343L,
+ 0.799567224020488433652933994297769381902L,
+ 0.343651210821093611687224166251624444254L,
+ 0.405948097827175151257603419529941300798L,
+ 0.456473183882957921169800992232941517586L,
+ 0.570248304776860782392105323292264026118L,
+ 0.534779754769153667870756893044557559557L,
+ 0.472965511839676757434979299779809656808L,
+ 0.137335340499076127280155831169214403285L,
+ 0.51975901660926295231312276736119435645L,
+ 0.8085867293332018994761547260739912451L,
+ 0.812416413241484848007226874256949892893L,
+ 0.852994977709961112714176162016389410712L,
+ 0.95270886248643660114015239563660004248L,
+ 0.845133719240648570417568652136630304138L,
+ 0.4074980021816323645978397907609428101L,
+ 0.335850514497730546494305840184055599972L,
+ 0.0882622233237065445998153436898044995127L,
+ 0.936467561027640943446178111237050277205L,
+ 0.56676472173638044722431698799123577376L,
+ 0.528427769051008704179988533062745663408L,
+ 0.460890427579778855697205646060084318038L,
+ 0.754971897131798313468797543428083655928L,
+ 0.980733597969419782109470537306886067907L,
+ 0.204362127415649555111877580124343815074L,
+ 0.424822548090499017266619697426652494042L,
+ 0.790847149074521364262028407892114384257L,
+ 0.559922683392730473870877613727301497865L,
+ 0.779993507158626042106006393237738208875L,
+ 0.30516368089713691312418593599115685319L,
+ 0.68918765842229398168455844072311006826L,
+ 0.972291357858071465096079542885284602882L,
+ 0.92204286423973856982373873105566928589L,
+ 0.488649453783638471576482476648021023315L,
+ 0.467124744623849284659862825278549932824L,
+ 0.548051233865943557014854568009331816852L,
+ 0.306838990296265483205551142903402056051L,
+ 0.497005516835688988273805238236922199451L,
+ 0.341504433884138135798086132528045458722L,
+ 0.969816416247460790089503289400709886528L,
+ 0.63656435610220447227337751650167349487L,
+ 0.83588076122262875881859751942918794857L,
+ 0.647568600604975972308348018018445212894L,
+ 0.916061870307308870029862807808332479077L,
+ 0.767988745496844638880672392122527991445L,
+ 0.1623230195628039449666927123215281227666L,
+ 0.0791082835859634251558587844284289799848L,
+ 0.575858643610197202634665099752882990844L,
+ 0.559159434263749620344702466000799724913L,
+ 0.063765998380760211208741798736948488376L,
+ 0.230557913975359017084357477142151415967L,
+ 0.702854691657277602758421942319022953845L,
+ 0.789516660466782621905392733079230211954L,
+ 0.491496186820051632244513986127898500904L,
+ 0.171499215418269578563458417238340672634L,
+ 0.626470061831746666081979158043673024967L,
+ 0.258903137813870706268979320963343541457L,
+ 0.64156850108405218894694811301875120511L,
+ 0.534043520260340661507140771088018906496L,
+ 0.388275182018399247097875416106759899469L,
+ 0.920936363560998030495046998224168162945L,
+ 0.826139404694006088220407338888245165242L,
+ 0.343561253523163451528918423980552161597L,
+ 0.921521003270491194867019217479780072647L,
+ 0.656212467754097185125864111703195343744L,
+ 0.628186262290474398328350301885606581942L,
+ 0.573227336542237665153422986363073650388L,
+ 0.94178975003001342039795597242477049832L,
+ 0.0408103561362355768975182155847755354614L,
+ 0.382581672073273072487550945526454964287L,
+ 0.152851256046525520308098129538613498254L,
+ 0.966735024597183045592313880114075824298L,
+ 0.215564894798334550271993595018433286244L,
+ 0.776491530531523589201618375156272004616L,
+ 0.912460554179311241821569665648929177608L,
+ 0.632880016212040018958086886452474382272L,
+ 0.711577891112709305169603082360885583086L,
+ 0.1120655756066491784920471129299439607153L,
+ 0.691106483958832651050573402690448368687L,
+ 0.227442567846797646970770128970529357636L,
+ 0.837435613090485891584882062239924101455L,
+ 0.524389161590691896070067767400758142565L,
+ 0.591360583466508186135247682666313136762L,
+ 0.103155847462960450706124014839446958843L,
+ 0.98360160577671960281465138408293984545L,
+ 0.197665014114674630647437622579741018817L,
+ 0.1099709194312379594014239398842185159354L,
+ 0.394053373921474751303577685990936074485L,
+ 0.94945354787200894450508557094182436657L,
+ 0.372593716084661547440393809983835348274L,
+ 0.62514674616343692328572382301636412566L,
+ 0.2001871481416310130073795585638383984926L,
+ 0.148432902421401306477690922498335475507L,
+ 0.687921673269487018193347305425182239764L,
+ 0.470940334348984370262797433659013738143L,
+ 0.1592476430730276812200821020958787823795L,
+ 0.296776110696565927524970058176467314578L,
+ 0.1491253105142218631726813695413369166796L,
+ 0.579194717868638955003571989739802264354L,
+ 0.0730543936466744761440131951539370917776L,
+ 0.941296077873340797733875467209629660594L,
+ 0.76720024949523806992504865943580486187L,
+ 0.419526107681583337049761526455092560735L,
+ 0.00688594806937144144337797612615981618743L,
+ 0.931682704636487927763651991274577493318L,
+ 0.660524215847727125058815911433184924133L,
+ 0.71780972384903067744609138100002205676L,
+ 0.02961791918271995070621856302848439458175L,
+ 0.692791206212428997136050006631240567502L,
+ 0.162762426697948445642880183096693062538L,
+ 0.183637795551464341949019870428026949035L,
+ 0.51263789620316407488619761125039609046L,
+ 0.90238698122728366178818828411640824056L,
+ 0.229784208410123517024401367798925386038L,
+ 0.227218480059027721044118324890061381517L,
+ 0.6555059570778176955459672492237825867L,
+ 0.929815767583615624563413584598741896834L,
+ 0.188559597559312695774663933876436875041L,
+ 0.396184448063913762028147791554346199354L,
+ 0.656329540957568516760105602115555736073L,
+ 0.1410678455413176345310401990667063246115L,
+ 0.621004667838855651847651367745487628637L,
+ 0.01277988784767030635209958407461792778387L,
+ 0.69482142276844418673788732511112265014L,
+ 0.925705031133221932065307191539105635005L,
+ 0.925744341385232535963050430363763081603L,
+ 0.24189467813699258571134382505828701386L,
+ 0.646009544609703485845605410919901799L,
+ 0.051119212999532673562206731603906295406L,
+ 0.85076142804383409765024452942896578158L
+};
diff --git a/tests/readdir.c b/tests/readdir.c
new file mode 100644
index 0000000..3db0080
--- /dev/null
+++ b/tests/readdir.c
@@ -0,0 +1,98 @@
+/* Read the next entry of a directory.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <dirent.h>
+
+#include <errno.h>
+#include <stddef.h>
+
+#include "dirent-private.h"
+
+struct dirent *
+readdir (DIR *dirp)
+{
+ char type;
+ struct dirent *result;
+
+ /* There is no need to add code to produce entries for "." and "..".
+ According to the POSIX:2008 section "4.12 Pathname Resolution"
+ <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html>
+ "." and ".." are syntactic entities.
+ POSIX also says:
+ "If entries for dot or dot-dot exist, one entry shall be returned
+ for dot and one entry shall be returned for dot-dot; otherwise,
+ they shall not be returned." */
+
+ switch (dirp->status)
+ {
+ case -2:
+ /* End of directory already reached. */
+ return NULL;
+ case -1:
+ break;
+ case 0:
+ if (!FindNextFile (dirp->current, &dirp->entry))
+ {
+ switch (GetLastError ())
+ {
+ case ERROR_NO_MORE_FILES:
+ dirp->status = -2;
+ return NULL;
+ default:
+ errno = EIO;
+ return NULL;
+ }
+ }
+ break;
+ default:
+ errno = dirp->status;
+ return NULL;
+ }
+
+ dirp->status = 0;
+
+ if (dirp->entry.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ type = DT_DIR;
+ else if (dirp->entry.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)
+ type = DT_LNK;
+ else if ((dirp->entry.dwFileAttributes
+ & ~(FILE_ATTRIBUTE_READONLY
+ | FILE_ATTRIBUTE_HIDDEN
+ | FILE_ATTRIBUTE_SYSTEM
+ | FILE_ATTRIBUTE_ARCHIVE
+ | FILE_ATTRIBUTE_NORMAL
+ | FILE_ATTRIBUTE_TEMPORARY
+ | FILE_ATTRIBUTE_SPARSE_FILE
+ | FILE_ATTRIBUTE_COMPRESSED
+ | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
+ | FILE_ATTRIBUTE_ENCRYPTED)) == 0)
+ /* Devices like COM1, LPT1, NUL would also have the attributes 0x20 but
+ they cannot occur here. */
+ type = DT_REG;
+ else
+ type = DT_UNKNOWN;
+
+ /* Reuse the memory of dirp->entry for the result. */
+ result =
+ (struct dirent *)
+ ((char *) dirp->entry.cFileName - offsetof (struct dirent, d_name[0]));
+ result->d_type = type;
+
+ return result;
+}
diff --git a/tests/setenv.c b/tests/setenv.c
index 7c06192..995a0f2 100644
--- a/tests/setenv.c
+++ b/tests/setenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2013 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
@@ -15,12 +15,13 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#if !_LIBC
-# include <config.h>
-#endif
-
/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
optimizes away the name == NULL test below. */
-#define _GL_ARG_NONNULL(params)
+# define _GL_ARG_NONNULL(params)
+
+# define _GL_USE_STDLIB_ALLOC 1
+# include <config.h>
+#endif
#include <alloca.h>
@@ -48,7 +49,7 @@
#endif
#if _LIBC
-/* This lock protects against simultaneous modifications of `environ'. */
+/* This lock protects against simultaneous modifications of 'environ'. */
# include <bits/libc-lock.h>
__libc_lock_define_initialized (static, envlock)
# define LOCK __libc_lock_lock (envlock)
@@ -64,10 +65,6 @@ __libc_lock_define_initialized (static, envlock)
# define clearenv __clearenv
# define tfind __tfind
# define tsearch __tsearch
-#else
-/* Use the system functions, not the gnulib overrides in this file. */
-# undef malloc
-# undef realloc
#endif
/* In the GNU C library implementation we try to be more clever and
@@ -106,11 +103,11 @@ static void *known_values;
static char **last_environ;
-/* This function is used by `setenv' and `putenv'. The difference between
+/* This function is used by 'setenv' and 'putenv'. The difference between
the two functions is that for the former must create a new string which
- is then placed in the environment, while the argument of `putenv'
+ is then placed in the environment, while the argument of 'putenv'
must be used directly. This is all complicated by the fact that we try
- to reuse values once generated for a `setenv' call since we can never
+ to reuse values once generated for a 'setenv' call since we can never
free the strings. */
int
__add_to_environ (const char *name, const char *value, const char *combined,
@@ -302,7 +299,7 @@ setenv (const char *name, const char *value, int replace)
return __add_to_environ (name, value, NULL, replace);
}
-/* The `clearenv' was planned to be added to POSIX.1 but probably
+/* The 'clearenv' was planned to be added to POSIX.1 but probably
never made it. Nevertheless the POSIX.9 standard (POSIX bindings
for Fortran 77) requires this function. */
int
@@ -353,6 +350,9 @@ weak_alias (__clearenv, clearenv)
#if HAVE_SETENV
# undef setenv
+# if !HAVE_DECL_SETENV
+extern int setenv (const char *, const char *, int);
+# endif
# define STREQ(a, b) (strcmp (a, b) == 0)
int
diff --git a/tests/setlocale.c b/tests/setlocale.c
index 0cef00f..c729fa6 100644
--- a/tests/setlocale.c
+++ b/tests/setlocale.c
@@ -1,5 +1,5 @@
/* Set the current locale.
- Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2011-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -74,7 +74,7 @@ category_to_name (int category)
# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* The native Win32 setlocale() function expects locale names of the form
+/* The native Windows setlocale() function expects locale names of the form
"German" or "German_Germany" or "DEU", but not "de" or "de_DE". We need
to convert the names from the form with ISO 639 language code and ISO 3166
country code to the form with English names or with three-letter identifier.
diff --git a/tests/signature.h b/tests/signature.h
index 8256989..45a8e02 100644
--- a/tests/signature.h
+++ b/tests/signature.h
@@ -1,5 +1,5 @@
/* Macro for checking that a function declaration is compliant.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/sleep.c b/tests/sleep.c
new file mode 100644
index 0000000..4c97d7d
--- /dev/null
+++ b/tests/sleep.c
@@ -0,0 +1,76 @@
+/* Pausing execution of the current thread.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2007.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <unistd.h>
+
+#include <limits.h>
+
+#include "verify.h"
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+# define WIN32_LEAN_AND_MEAN /* avoid including junk */
+# include <windows.h>
+
+unsigned int
+sleep (unsigned int seconds)
+{
+ unsigned int remaining;
+
+ /* Sleep for 1 second many times, because
+ 1. Sleep is not interruptible by Ctrl-C,
+ 2. we want to avoid arithmetic overflow while multiplying with 1000. */
+ for (remaining = seconds; remaining > 0; remaining--)
+ Sleep (1000);
+
+ return remaining;
+}
+
+#elif HAVE_SLEEP
+
+# undef sleep
+
+/* Guarantee unlimited sleep and a reasonable return value. Cygwin
+ 1.5.x rejects attempts to sleep more than 49.7 days (2**32
+ milliseconds), but uses uninitialized memory which results in a
+ garbage answer. Similarly, Linux 2.6.9 with glibc 2.3.4 has a too
+ small return value when asked to sleep more than 24.85 days. */
+unsigned int
+rpl_sleep (unsigned int seconds)
+{
+ /* This requires int larger than 16 bits. */
+ verify (UINT_MAX / 24 / 24 / 60 / 60);
+ const unsigned int limit = 24 * 24 * 60 * 60;
+ while (limit < seconds)
+ {
+ unsigned int result;
+ seconds -= limit;
+ result = sleep (limit);
+ if (result)
+ return seconds + result;
+ }
+ return sleep (seconds);
+}
+
+#else /* !HAVE_SLEEP */
+
+ #error "Please port gnulib sleep.c to your platform, possibly using usleep() or select(), then report this to bug-gnulib."
+
+#endif
diff --git a/tests/strdup.c b/tests/strdup.c
index ba7e76b..5826ab0 100644
--- a/tests/strdup.c
+++ b/tests/strdup.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2011 Free Software
+/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2013 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
@@ -14,8 +14,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ with this program; if not, see <http://www.gnu.org/licenses/>. */
#ifndef _LIBC
# include <config.h>
diff --git a/tests/symlink.c b/tests/symlink.c
index 2896cc9..d3c9f21 100644
--- a/tests/symlink.c
+++ b/tests/symlink.c
@@ -1,5 +1,5 @@
/* Stub for symlink().
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-alloca-opt.c b/tests/test-alloca-opt.c
index 5aa1645..d94e1d1 100644
--- a/tests/test-alloca-opt.c
+++ b/tests/test-alloca-opt.c
@@ -1,5 +1,5 @@
/* Test of optional automatic memory allocation.
- Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@ main ()
{
/* Try various values.
n = 0 gave a crash on Alpha with gcc-2.5.8.
- Some versions of MacOS X have a stack size limit of 512 KB. */
+ Some versions of Mac OS X have a stack size limit of 512 KB. */
func (34);
func (134);
func (399);
diff --git a/tests/test-array_list.c b/tests/test-array_list.c
index 27f2ee0..99df06a 100644
--- a/tests/test-array_list.c
+++ b/tests/test-array_list.c
@@ -1,5 +1,5 @@
/* Test of sequential list data type implementation.
- Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-array_oset.c b/tests/test-array_oset.c
index 2d069d6..1892032 100644
--- a/tests/test-array_oset.c
+++ b/tests/test-array_oset.c
@@ -1,5 +1,5 @@
/* Test of ordered set data type implementation.
- Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2007.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-avltree_oset.c b/tests/test-avltree_oset.c
index 084b629..b591abc 100644
--- a/tests/test-avltree_oset.c
+++ b/tests/test-avltree_oset.c
@@ -1,5 +1,5 @@
/* Test of ordered set data type implementation.
- Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-binary-io.c b/tests/test-binary-io.c
index 8e5d193..b258d51 100644
--- a/tests/test-binary-io.c
+++ b/tests/test-binary-io.c
@@ -1,5 +1,5 @@
/* Test of binary mode I/O.
- Copyright (C) 2005, 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,35 +30,40 @@
#include "macros.h"
int
-main ()
+main (int argc, char *argv[])
{
/* Test the O_BINARY macro. */
{
int fd =
- open ("t-bin-out2.tmp", O_CREAT | O_TRUNC | O_RDWR | O_BINARY, 0600);
+ open ("t-bin-out0.tmp", O_CREAT | O_TRUNC | O_RDWR | O_BINARY, 0600);
if (write (fd, "Hello\n", 6) < 0)
exit (1);
close (fd);
}
{
struct stat statbuf;
- if (stat ("t-bin-out2.tmp", &statbuf) < 0)
+ if (stat ("t-bin-out0.tmp", &statbuf) < 0)
exit (1);
ASSERT (statbuf.st_size == 6);
}
- unlink ("t-bin-out2.tmp");
- /* Test the SET_BINARY macro. */
- SET_BINARY (1);
- fputs ("Hello\n", stdout);
- fclose (stdout);
- fclose (stderr);
- {
- struct stat statbuf;
- if (stat ("t-bin-out1.tmp", &statbuf) < 0)
- exit (1);
- ASSERT (statbuf.st_size == 6);
- }
+ switch (argv[1][0])
+ {
+ case '1':
+ /* Test the set_binary_mode() function. */
+ set_binary_mode (1, O_BINARY);
+ fputs ("Hello\n", stdout);
+ break;
+
+ case '2':
+ /* Test the SET_BINARY macro. */
+ SET_BINARY (1);
+ fputs ("Hello\n", stdout);
+ break;
+
+ default:
+ break;
+ }
return 0;
}
diff --git a/tests/test-binary-io.sh b/tests/test-binary-io.sh
index 33e128c..c4dd6e9 100755
--- a/tests/test-binary-io.sh
+++ b/tests/test-binary-io.sh
@@ -3,8 +3,11 @@
tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15
-tmpfiles="$tmpfiles t-bin-out1.tmp t-bin-out2.tmp"
-./test-binary-io${EXEEXT} > t-bin-out1.tmp || exit 1
+tmpfiles="$tmpfiles t-bin-out0.tmp t-bin-out1.tmp t-bin-out2.tmp"
+./test-binary-io${EXEEXT} 1 > t-bin-out1.tmp || exit 1
+cmp t-bin-out0.tmp t-bin-out1.tmp > /dev/null || exit 1
+./test-binary-io${EXEEXT} 2 > t-bin-out2.tmp || exit 1
+cmp t-bin-out0.tmp t-bin-out2.tmp > /dev/null || exit 1
rm -fr $tmpfiles
diff --git a/tests/test-btowc.c b/tests/test-btowc.c
index 7907cbe..7779469 100644
--- a/tests/test-btowc.c
+++ b/tests/test-btowc.c
@@ -1,5 +1,5 @@
/* Test of conversion of unibyte character to wide character.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-c-ctype.c b/tests/test-c-ctype.c
index 9d748ff..c0aa662 100644
--- a/tests/test-c-ctype.c
+++ b/tests/test-c-ctype.c
@@ -1,5 +1,5 @@
/* Test of character handling in C locale.
- Copyright (C) 2005, 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-c-stack.c b/tests/test-c-stack.c
index cc27b43..24fccf3 100644
--- a/tests/test-c-stack.c
+++ b/tests/test-c-stack.c
@@ -1,5 +1,5 @@
/* Test of c-stack module.
- Copyright (C) 2002, 2004, 2006, 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-c-stack2.sh b/tests/test-c-stack2.sh
index a80373d..0cd49c9 100755
--- a/tests/test-c-stack2.sh
+++ b/tests/test-c-stack2.sh
@@ -11,16 +11,16 @@ tmpfiles="t-c-stack2.tmp"
case $? in
77) if grep 'stack overflow' t-c-stack2.tmp >/dev/null ; then
- if test -z "$LIBSIGSEGV"; then
- echo 'cannot tell stack overflow from crash; consider installing libsigsegv' >&2
- exit 77
- else
- echo 'cannot tell stack overflow from crash, in spite of libsigsegv' >&2
- exit 1
- fi
+ if test -z "$LIBSIGSEGV"; then
+ echo 'cannot tell stack overflow from crash; consider installing libsigsegv' >&2
+ exit 77
+ else
+ echo 'cannot tell stack overflow from crash, in spite of libsigsegv' >&2
+ exit 1
+ fi
else
- cat t-c-stack2.tmp >&2
- exit 77
+ cat t-c-stack2.tmp >&2
+ exit 77
fi
;;
0) (exit 1); exit 1 ;;
diff --git a/tests/test-c-strcasecmp.c b/tests/test-c-strcasecmp.c
index faa3001..26d9ca4 100644
--- a/tests/test-c-strcasecmp.c
+++ b/tests/test-c-strcasecmp.c
@@ -1,5 +1,5 @@
/* Test of case-insensitive string comparison function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-c-strncasecmp.c b/tests/test-c-strncasecmp.c
index 6a225c7..075f15e 100644
--- a/tests/test-c-strncasecmp.c
+++ b/tests/test-c-strncasecmp.c
@@ -1,5 +1,5 @@
/* Test of case-insensitive string comparison function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-canonicalize-lgpl.c b/tests/test-canonicalize-lgpl.c
index 17cdff0..84b6d98 100644
--- a/tests/test-canonicalize-lgpl.c
+++ b/tests/test-canonicalize-lgpl.c
@@ -1,5 +1,5 @@
/* Test of execution of program termination handlers.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/ftell.c b/tests/test-chdir.c
index 79083fb..40fd31f 100644
--- a/tests/ftell.c
+++ b/tests/test-chdir.c
@@ -1,5 +1,5 @@
-/* An ftell() function that works around platform bugs.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+/* Test changing to a directory.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,22 +17,17 @@
#include <config.h>
/* Specification. */
-#include <stdio.h>
-
-#include <errno.h>
-/* Get off_t. */
#include <unistd.h>
-long
-ftell (FILE *fp)
+#include "signature.h"
+SIGNATURE_CHECK (chdir, int, (const char *));
+
+#include "macros.h"
+
+int
+main (void)
{
- /* Use the replacement ftello function with all its workarounds. */
- off_t offset = ftello (fp);
- if (offset == (long)offset)
- return (long)offset;
- else
- {
- errno = EOVERFLOW;
- return -1;
- }
+ ASSERT (chdir ("/") == 0);
+
+ return 0;
}
diff --git a/tests/test-cloexec.c b/tests/test-cloexec.c
index 374de30..fe2ca3a 100644
--- a/tests/test-cloexec.c
+++ b/tests/test-cloexec.c
@@ -1,5 +1,5 @@
/* Test duplicating non-inheritable file descriptors.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,9 +25,11 @@
#include <unistd.h>
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions. */
+/* Get declarations of the native Windows API functions. */
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
+/* Get _get_osfhandle. */
+# include "msvc-nothrow.h"
#endif
#include "binary-io.h"
@@ -38,7 +40,7 @@ static int
is_inheritable (int fd)
{
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* On Win32, the initial state of unassigned standard file
+ /* On native Windows, the initial state of unassigned standard file
descriptors is that they are open but point to an
INVALID_HANDLE_VALUE, and there is no fcntl. */
HANDLE h = (HANDLE) _get_osfhandle (fd);
@@ -76,6 +78,7 @@ main (void)
const char *file = "test-cloexec.tmp";
int fd = creat (file, 0600);
int fd2;
+ int bad_fd = getdtablesize ();
/* Assume std descriptors were provided by invoker. */
ASSERT (STDERR_FILENO < fd);
@@ -118,7 +121,7 @@ main (void)
ASSERT (set_cloexec_flag (-1, false) == -1);
ASSERT (errno == EBADF);
errno = 0;
- ASSERT (set_cloexec_flag (10000000, false) == -1);
+ ASSERT (set_cloexec_flag (bad_fd, false) == -1);
ASSERT (errno == EBADF);
errno = 0;
ASSERT (set_cloexec_flag (fd2, false) == -1);
@@ -127,7 +130,7 @@ main (void)
ASSERT (dup_cloexec (-1) == -1);
ASSERT (errno == EBADF);
errno = 0;
- ASSERT (dup_cloexec (10000000) == -1);
+ ASSERT (dup_cloexec (bad_fd) == -1);
ASSERT (errno == EBADF);
errno = 0;
ASSERT (dup_cloexec (fd2) == -1);
diff --git a/tests/test-close.c b/tests/test-close.c
new file mode 100644
index 0000000..974ed1b
--- /dev/null
+++ b/tests/test-close.c
@@ -0,0 +1,45 @@
+/* Test closing a file or socket.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (close, int, (int));
+
+#include <errno.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+ /* Test behaviour for invalid file descriptors. */
+ {
+ errno = 0;
+ ASSERT (close (-1) == -1);
+ ASSERT (errno == EBADF);
+ }
+ {
+ close (99);
+ errno = 0;
+ ASSERT (close (99) == -1);
+ ASSERT (errno == EBADF);
+ }
+
+ return 0;
+}
diff --git a/tests/test-closein.c b/tests/test-closein.c
index 0c29a6b..5f9d8ef 100644
--- a/tests/test-closein.c
+++ b/tests/test-closein.c
@@ -1,5 +1,5 @@
/* Test of closein module.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -12,8 +12,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
/* Written by Eric Blake. */
diff --git a/tests/test-closein.sh b/tests/test-closein.sh
index a75929a..9c5e851 100755
--- a/tests/test-closein.sh
+++ b/tests/test-closein.sh
@@ -1,38 +1,32 @@
#!/bin/sh
+: ${srcdir=.}
+. "$srcdir/init.sh"; path_prepend_ .
-tmpfiles=
-trap 'rm -fr $tmpfiles' 1 2 3 15
+echo Hello world > in.tmp
+echo world > xout.tmp
-p=t-closein-
-tmpfiles="${p}in.tmp ${p}xout.tmp ${p}out1.tmp ${p}out2.tmp"
+fail=0
+# Test with seekable stdin; follow-on process must see remaining data
+(test-closein; cat) < in.tmp > out1.tmp || fail=1
+cmp out1.tmp in.tmp || fail=1
-echo Hello world > ${p}in.tmp
-echo world > ${p}xout.tmp
-
-# Test with seekable stdin; followon process must see remaining data
-(./test-closein${EXEEXT}; cat) < ${p}in.tmp > ${p}out1.tmp || exit 1
-cmp ${p}out1.tmp ${p}in.tmp || exit 1
-
-(./test-closein${EXEEXT} consume; cat) < ${p}in.tmp > ${p}out2.tmp || exit 1
-cmp ${p}out2.tmp ${p}xout.tmp || exit 1
+(test-closein consume; cat) < in.tmp > out2.tmp || fail=1
+cmp out2.tmp xout.tmp || fail=1
# Test for lack of error on pipe. Ignore any EPIPE failures from cat.
-cat ${p}in.tmp 2>/dev/null | ./test-closein${EXEEXT} || exit 1
+cat in.tmp 2>/dev/null | test-closein || fail=1
-cat ${p}in.tmp 2>/dev/null | ./test-closein${EXEEXT} consume || exit 1
+cat in.tmp 2>/dev/null | test-closein consume || fail=1
# Test for lack of error when nothing is read
-./test-closein${EXEEXT} </dev/null || exit 1
+test-closein </dev/null || fail=1
-./test-closein${EXEEXT} <&- || exit 1
+test-closein <&- || fail=1
# Test for no error when EOF is read early
-./test-closein${EXEEXT} consume </dev/null || exit 1
+test-closein consume </dev/null || fail=1
# Test for error when read fails because no file available
-./test-closein${EXEEXT} consume close <&- 2>/dev/null && exit 1
-
-# Cleanup
-rm -fr $tmpfiles
+test-closein consume close <&- 2>/dev/null && fail=1
-exit 0
+Exit $fail
diff --git a/tests/test-dirent-c++.cc b/tests/test-dirent-c++.cc
new file mode 100644
index 0000000..e70c26d
--- /dev/null
+++ b/tests/test-dirent-c++.cc
@@ -0,0 +1,51 @@
+/* Test of <dirent.h> substitute in C++ mode.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010. */
+
+#define GNULIB_NAMESPACE gnulib
+#include <config.h>
+
+#include <dirent.h>
+
+#include "signature.h"
+
+
+SIGNATURE_CHECK (GNULIB_NAMESPACE::closedir, int, (DIR *));
+
+#if GNULIB_TEST_FDOPENDIR
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fdopendir, DIR *, (int));
+#endif
+
+SIGNATURE_CHECK (GNULIB_NAMESPACE::opendir, DIR *, (const char *));
+
+#if GNULIB_TEST_SCANDIR
+SIGNATURE_CHECK (GNULIB_NAMESPACE::scandir, int,
+ (const char *, struct dirent ***,
+ int (*) (const struct dirent *),
+ int (*) (const struct dirent **, const struct dirent **)));
+#endif
+
+#if GNULIB_TEST_ALPHASORT
+SIGNATURE_CHECK (GNULIB_NAMESPACE::alphasort, int,
+ (const struct dirent **, const struct dirent **));
+#endif
+
+
+int
+main ()
+{
+}
diff --git a/tests/test-dirent.c b/tests/test-dirent.c
new file mode 100644
index 0000000..34ef5d9
--- /dev/null
+++ b/tests/test-dirent.c
@@ -0,0 +1,32 @@
+/* Test of <dirent.h> substitute.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <dirent.h>
+
+/* Check for existence of required types. */
+static DIR *dir _GL_UNUSED;
+static struct dirent d;
+static ino_t i;
+
+int
+main (void)
+{
+ return d.d_name[0] + i;
+}
diff --git a/tests/test-dirname.c b/tests/test-dirname.c
index 1ddf229..a017bce 100644
--- a/tests/test-dirname.c
+++ b/tests/test-dirname.c
@@ -1,5 +1,5 @@
/* Test the gnulib dirname module.
- Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -149,14 +149,15 @@ main (void)
|| (dirlen + 1 == strlen (dir) && dir[dirlen] == '.'))))
{
ok = false;
- printf ("dir_name `%s': got `%s' len %d, expected `%s' len %ld\n",
+ printf ("dir_name '%s': got '%s' len %d,"
+ " expected '%s' len %ld\n",
t->name, dir, dirlen,
t->dir, (unsigned long) strlen (t->dir));
}
if (strcmp (last, t->last))
{
ok = false;
- printf ("last_component `%s': got `%s', expected `%s'\n",
+ printf ("last_component '%s': got '%s', expected '%s'\n",
t->name, last, t->last);
}
if (! (strcmp (base, t->base) == 0
@@ -165,21 +166,22 @@ main (void)
&& ISSLASH (base[baselen])))))
{
ok = false;
- printf ("base_name `%s': got `%s' len %d, expected `%s' len %ld\n",
+ printf ("base_name '%s': got '%s' len %d,"
+ " expected '%s' len %ld\n",
t->name, base, baselen,
t->base, (unsigned long) strlen (t->base));
}
if (strcmp (stripped, t->stripped) || modified != t->modified)
{
ok = false;
- printf ("strip_trailing_slashes `%s': got %s %s, expected %s %s\n",
+ printf ("strip_trailing_slashes '%s': got %s %s, expected %s %s\n",
t->name, stripped, modified ? "changed" : "unchanged",
t->stripped, t->modified ? "changed" : "unchanged");
}
if (t->absolute != absolute)
{
ok = false;
- printf ("`%s': got %s, expected %s\n", t->name,
+ printf ("'%s': got %s, expected %s\n", t->name,
absolute ? "absolute" : "relative",
t->absolute ? "absolute" : "relative");
}
diff --git a/tests/test-dup-safer.c b/tests/test-dup-safer.c
index 14cfaff..4dcd752 100644
--- a/tests/test-dup-safer.c
+++ b/tests/test-dup-safer.c
@@ -1,5 +1,5 @@
/* Test that dup_safer leaves standard fds alone.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,14 +24,17 @@
#include <errno.h>
#include <stdbool.h>
#include <stdio.h>
+#include <unistd.h>
#include "binary-io.h"
#include "cloexec.h"
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions. */
+/* Get declarations of the native Windows API functions. */
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
+/* Get _get_osfhandle. */
+# include "msvc-nothrow.h"
#endif
#if !O_BINARY
@@ -54,7 +57,7 @@ static bool
is_open (int fd)
{
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* On Win32, the initial state of unassigned standard file
+ /* On native Windows, the initial state of unassigned standard file
descriptors is that they are open but point to an
INVALID_HANDLE_VALUE, and there is no fcntl. */
return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
@@ -71,7 +74,7 @@ static bool
is_inheritable (int fd)
{
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* On Win32, the initial state of unassigned standard file
+ /* On native Windows, the initial state of unassigned standard file
descriptors is that they are open but point to an
INVALID_HANDLE_VALUE, and there is no fcntl. */
HANDLE h = (HANDLE) _get_osfhandle (fd);
@@ -105,6 +108,7 @@ main (void)
{
int i;
int fd;
+ int bad_fd = getdtablesize ();
/* We close fd 2 later, so save it in fd 10. */
if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO
@@ -127,7 +131,7 @@ main (void)
ASSERT (dup (-1) == -1);
ASSERT (errno == EBADF);
errno = 0;
- ASSERT (dup (10000000) == -1);
+ ASSERT (dup (bad_fd) == -1);
ASSERT (errno == EBADF);
close (fd + 1);
errno = 0;
diff --git a/tests/test-dup.c b/tests/test-dup.c
new file mode 100644
index 0000000..b2cf935
--- /dev/null
+++ b/tests/test-dup.c
@@ -0,0 +1,45 @@
+/* Test duplicating a file descriptor.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (dup, int, (int));
+
+#include <errno.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+ /* Test behaviour for invalid file descriptors. */
+ {
+ errno = 0;
+ ASSERT (dup (-1) == -1);
+ ASSERT (errno == EBADF);
+ }
+ {
+ close (99);
+ errno = 0;
+ ASSERT (dup (99) == -1);
+ ASSERT (errno == EBADF);
+ }
+
+ return 0;
+}
diff --git a/tests/test-dup2.c b/tests/test-dup2.c
index e2ad88b..ecb2692 100644
--- a/tests/test-dup2.c
+++ b/tests/test-dup2.c
@@ -1,5 +1,5 @@
/* Test duplicating file descriptors.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,6 +26,10 @@ SIGNATURE_CHECK (dup2, int, (int, int));
#include <errno.h>
#include <fcntl.h>
+#if HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
+
#include "binary-io.h"
#if GNULIB_TEST_CLOEXEC
@@ -33,9 +37,11 @@ SIGNATURE_CHECK (dup2, int, (int, int));
#endif
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions. */
+/* Get declarations of the native Windows API functions. */
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
+/* Get _get_osfhandle. */
+# include "msvc-nothrow.h"
#endif
#include "macros.h"
@@ -45,7 +51,7 @@ static int
is_open (int fd)
{
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* On Win32, the initial state of unassigned standard file
+ /* On native Windows, the initial state of unassigned standard file
descriptors is that they are open but point to an
INVALID_HANDLE_VALUE, and there is no fcntl. */
return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
@@ -63,7 +69,7 @@ static int
is_inheritable (int fd)
{
# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* On Win32, the initial state of unassigned standard file
+ /* On native Windows, the initial state of unassigned standard file
descriptors is that they are open but point to an
INVALID_HANDLE_VALUE, and there is no fcntl. */
HANDLE h = (HANDLE) _get_osfhandle (fd);
@@ -101,6 +107,7 @@ main (void)
{
const char *file = "test-dup2.tmp";
char buffer[1];
+ int bad_fd = getdtablesize ();
int fd = open (file, O_CREAT | O_TRUNC | O_RDWR, 0600);
/* Assume std descriptors were provided by invoker. */
@@ -120,6 +127,10 @@ main (void)
errno = 0;
ASSERT (dup2 (-1, fd) == -1);
ASSERT (errno == EBADF);
+ close (99);
+ errno = 0;
+ ASSERT (dup2 (99, fd) == -1);
+ ASSERT (errno == EBADF);
errno = 0;
ASSERT (dup2 (AT_FDCWD, fd) == -1);
ASSERT (errno == EBADF);
@@ -140,7 +151,7 @@ main (void)
ASSERT (dup2 (fd, -2) == -1);
ASSERT (errno == EBADF);
errno = 0;
- ASSERT (dup2 (fd, 10000000) == -1);
+ ASSERT (dup2 (fd, bad_fd) == -1);
ASSERT (errno == EBADF);
/* Using dup2 can skip fds. */
diff --git a/tests/test-environ.c b/tests/test-environ.c
index 11df789..cb3d9f6 100644
--- a/tests/test-environ.c
+++ b/tests/test-environ.c
@@ -1,5 +1,5 @@
/* Test of environ variable.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-errno.c b/tests/test-errno.c
index 7851c22..29eb510 100644
--- a/tests/test-errno.c
+++ b/tests/test-errno.c
@@ -1,5 +1,5 @@
/* Test of <errno.h> substitute.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -98,6 +98,8 @@ int e115 = EINPROGRESS;
int e116 = ESTALE;
int e122 = EDQUOT;
int e125 = ECANCELED;
+int e130 = EOWNERDEAD;
+int e131 = ENOTRECOVERABLE;
/* Don't verify that these errno values are all different, except for possibly
EWOULDBLOCK == EAGAIN. Even Linux/x86 does not pass this check: it has
diff --git a/tests/test-fclose.c b/tests/test-fclose.c
new file mode 100644
index 0000000..3fbecf1
--- /dev/null
+++ b/tests/test-fclose.c
@@ -0,0 +1,114 @@
+/* Test of fclose module.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fclose, int, (FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+#define BASE "test-fclose.t"
+
+int
+main (int argc, char **argv)
+{
+ const char buf[] = "hello world";
+ int fd;
+ int fd2;
+ FILE *f;
+
+ /* Prepare a seekable file. */
+ fd = open (BASE, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ ASSERT (0 <= fd);
+ ASSERT (write (fd, buf, sizeof buf) == sizeof buf);
+ ASSERT (lseek (fd, 1, SEEK_SET) == 1);
+
+ /* Create an output stream visiting the file; when it is closed, all
+ other file descriptors visiting the file must see the new file
+ position. */
+ fd2 = dup (fd);
+ ASSERT (0 <= fd2);
+ f = fdopen (fd2, "w");
+ ASSERT (f);
+ ASSERT (fputc (buf[1], f) == buf[1]);
+ ASSERT (fclose (f) == 0);
+ errno = 0;
+ ASSERT (lseek (fd2, 0, SEEK_CUR) == -1);
+ ASSERT (errno == EBADF);
+ ASSERT (lseek (fd, 0, SEEK_CUR) == 2);
+
+ /* Likewise for an input stream. */
+ fd2 = dup (fd);
+ ASSERT (0 <= fd2);
+ f = fdopen (fd2, "r");
+ ASSERT (f);
+ ASSERT (fgetc (f) == buf[2]);
+ ASSERT (fclose (f) == 0);
+ errno = 0;
+ ASSERT (lseek (fd2, 0, SEEK_CUR) == -1);
+ ASSERT (errno == EBADF);
+ ASSERT (lseek (fd, 0, SEEK_CUR) == 3);
+
+ /* Test that fclose() sets errno if someone else closes the stream
+ fd behind the back of stdio. */
+ {
+ FILE *fp = fdopen (fd, "w+");
+ ASSERT (fp != NULL);
+ ASSERT (close (fd) == 0);
+ errno = 0;
+ ASSERT (fclose (fp) == EOF);
+ ASSERT (errno == EBADF);
+ }
+
+ /* Test that fclose() sets errno if the stream was constructed with
+ an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "r");
+ if (fp != NULL)
+ {
+ errno = 0;
+ ASSERT (fclose (fp) == EOF);
+ ASSERT (errno == EBADF);
+ }
+ }
+ {
+ FILE *fp;
+ close (99);
+ fp = fdopen (99, "r");
+ if (fp != NULL)
+ {
+ errno = 0;
+ ASSERT (fclose (fp) == EOF);
+ ASSERT (errno == EBADF);
+ }
+ }
+
+ /* Clean up. */
+ ASSERT (remove (BASE) == 0);
+
+ return 0;
+}
diff --git a/tests/test-fcntl-h-c++.cc b/tests/test-fcntl-h-c++.cc
index 4de411c..8616d56 100644
--- a/tests/test-fcntl-h-c++.cc
+++ b/tests/test-fcntl-h-c++.cc
@@ -1,5 +1,5 @@
/* Test of <fcntl.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fcntl-h.c b/tests/test-fcntl-h.c
index dd20fbb..e30ff19 100644
--- a/tests/test-fcntl-h.c
+++ b/tests/test-fcntl-h.c
@@ -1,5 +1,5 @@
/* Test of <fcntl.h> substitute.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,18 +21,110 @@
#include <fcntl.h>
/* Check that the various O_* macros are defined. */
-int o = O_DIRECT | O_DIRECTORY | O_DSYNC | O_NDELAY | O_NOATIME | O_NONBLOCK
- | O_NOCTTY | O_NOFOLLOW | O_NOLINKS | O_RSYNC | O_SYNC | O_TTY_INIT
- | O_BINARY | O_TEXT;
+int o = (O_DIRECT | O_DIRECTORY | O_DSYNC | O_IGNORE_CTTY | O_NDELAY | O_NOATIME
+ | O_NONBLOCK | O_NOCTTY | O_NOFOLLOW | O_NOLINK | O_NOLINKS | O_NOTRANS
+ | O_RSYNC | O_SYNC | O_TTY_INIT | O_BINARY | O_TEXT);
/* Check that the various SEEK_* macros are defined. */
int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET };
/* Check that the FD_* macros are defined. */
-int fd = FD_CLOEXEC;
+int i = FD_CLOEXEC;
+
+/* Check that the types are all defined. */
+pid_t t1;
+off_t t2;
+mode_t t3;
int
main (void)
{
- return 0;
+ /* Ensure no overlap in SEEK_*. */
+ switch (0)
+ {
+ case SEEK_CUR:
+ case SEEK_END:
+ case SEEK_SET:
+ ;
+ }
+
+ /* Ensure no dangerous overlap in non-zero gnulib-defined replacements. */
+ switch (O_RDONLY)
+ {
+ /* Access modes */
+ case O_RDONLY:
+ case O_WRONLY:
+ case O_RDWR:
+#if O_EXEC && O_EXEC != O_RDONLY
+ case O_EXEC:
+#endif
+#if O_SEARCH && O_EXEC != O_SEARCH && O_SEARCH != O_RDONLY
+ case O_SEARCH:
+#endif
+ i = ! (~O_ACCMODE & (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH));
+ break;
+
+ /* Everyone should have these */
+ case O_CREAT:
+ case O_EXCL:
+ case O_TRUNC:
+ case O_APPEND:
+ break;
+
+ /* These might be 0 or O_RDONLY, only test non-zero versions. */
+#if O_CLOEXEC
+ case O_CLOEXEC:
+#endif
+#if O_DIRECT
+ case O_DIRECT:
+#endif
+#if O_DIRECTORY
+ case O_DIRECTORY:
+#endif
+#if O_DSYNC
+ case O_DSYNC:
+#endif
+#if O_IGNORE_CTTY
+ case O_IGNORE_CTTY:
+#endif
+#if O_NOATIME
+ case O_NOATIME:
+#endif
+#if O_NONBLOCK
+ case O_NONBLOCK:
+#endif
+#if O_NOCTTY
+ case O_NOCTTY:
+#endif
+#if O_NOFOLLOW
+ case O_NOFOLLOW:
+#endif
+#if O_NOLINK
+ case O_NOLINK:
+#endif
+#if O_NOLINKS
+ case O_NOLINKS:
+#endif
+#if O_NOTRANS
+ case O_NOTRANS:
+#endif
+#if O_RSYNC && O_RSYNC != O_DSYNC
+ case O_RSYNC:
+#endif
+#if O_SYNC && O_SYNC != O_RSYNC
+ case O_SYNC:
+#endif
+#if O_TTY_INIT
+ case O_TTY_INIT:
+#endif
+#if O_BINARY
+ case O_BINARY:
+#endif
+#if O_TEXT
+ case O_TEXT:
+#endif
+ ;
+ }
+
+ return !i;
}
diff --git a/tests/test-fcntl.c b/tests/test-fcntl.c
index 23a0dba..058f30e 100644
--- a/tests/test-fcntl.c
+++ b/tests/test-fcntl.c
@@ -1,5 +1,5 @@
/* Test of fcntl(2).
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -31,9 +31,11 @@ SIGNATURE_CHECK (fcntl, int, (int, int, ...));
#include <unistd.h>
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions. */
+/* Get declarations of the native Windows API functions. */
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
+/* Get _get_osfhandle. */
+# include "msvc-nothrow.h"
#endif
#include "binary-io.h"
@@ -49,7 +51,7 @@ static bool
is_open (int fd)
{
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* On Win32, the initial state of unassigned standard file
+ /* On native Windows, the initial state of unassigned standard file
descriptors is that they are open but point to an
INVALID_HANDLE_VALUE, and there is no fcntl. */
return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
@@ -66,7 +68,7 @@ static bool
is_inheritable (int fd)
{
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* On Win32, the initial state of unassigned standard file
+ /* On native Windows, the initial state of unassigned standard file
descriptors is that they are open but point to an
INVALID_HANDLE_VALUE, and there is no fcntl. */
HANDLE h = (HANDLE) _get_osfhandle (fd);
@@ -209,6 +211,7 @@ main (void)
{
const char *file = "test-fcntl.tmp";
int fd;
+ int bad_fd = getdtablesize ();
/* Sanity check that rpl_fcntl is likely to work. */
ASSERT (func2 (1, 2) == 2);
@@ -235,7 +238,7 @@ main (void)
ASSERT (fcntl (fd + 1, F_DUPFD, 0) == -1);
ASSERT (errno == EBADF);
errno = 0;
- ASSERT (fcntl (10000000, F_DUPFD, 0) == -1);
+ ASSERT (fcntl (bad_fd, F_DUPFD, 0) == -1);
ASSERT (errno == EBADF);
errno = 0;
ASSERT (fcntl (-1, F_DUPFD_CLOEXEC, 0) == -1);
@@ -244,23 +247,21 @@ main (void)
ASSERT (fcntl (fd + 1, F_DUPFD_CLOEXEC, 0) == -1);
ASSERT (errno == EBADF);
errno = 0;
- ASSERT (fcntl (10000000, F_DUPFD_CLOEXEC, 0) == -1);
+ ASSERT (fcntl (bad_fd, F_DUPFD_CLOEXEC, 0) == -1);
ASSERT (errno == EBADF);
/* For F_DUPFD*, the destination must be valid. */
- ASSERT (getdtablesize () < 10000000);
errno = 0;
ASSERT (fcntl (fd, F_DUPFD, -1) == -1);
ASSERT (errno == EINVAL);
errno = 0;
- ASSERT (fcntl (fd, F_DUPFD, 10000000) == -1);
+ ASSERT (fcntl (fd, F_DUPFD, bad_fd) == -1);
ASSERT (errno == EINVAL);
- ASSERT (getdtablesize () < 10000000);
errno = 0;
ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, -1) == -1);
ASSERT (errno == EINVAL);
errno = 0;
- ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, 10000000) == -1);
+ ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, bad_fd) == -1);
ASSERT (errno == EINVAL);
/* For F_DUPFD*, check for correct inheritance, as well as
@@ -312,7 +313,7 @@ main (void)
ASSERT (is_mode (fd + 2, O_TEXT));
ASSERT (close (fd + 2) == 0);
- /* Test F_GETFD. */
+ /* Test F_GETFD on invalid file descriptors. */
errno = 0;
ASSERT (fcntl (-1, F_GETFD) == -1);
ASSERT (errno == EBADF);
@@ -320,8 +321,10 @@ main (void)
ASSERT (fcntl (fd + 1, F_GETFD) == -1);
ASSERT (errno == EBADF);
errno = 0;
- ASSERT (fcntl (10000000, F_GETFD) == -1);
+ ASSERT (fcntl (bad_fd, F_GETFD) == -1);
ASSERT (errno == EBADF);
+
+ /* Test F_GETFD, the FD_CLOEXEC bit. */
{
int result = fcntl (fd, F_GETFD);
ASSERT (0 <= result);
@@ -333,6 +336,71 @@ main (void)
ASSERT (close (fd + 1) == 0);
}
+#ifdef F_SETFD
+ /* Test F_SETFD on invalid file descriptors. */
+ errno = 0;
+ ASSERT (fcntl (-1, F_SETFD, 0) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (fcntl (fd + 1, F_SETFD, 0) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (fcntl (bad_fd, F_SETFD, 0) == -1);
+ ASSERT (errno == EBADF);
+#endif
+
+#ifdef F_GETFL
+ /* Test F_GETFL on invalid file descriptors. */
+ errno = 0;
+ ASSERT (fcntl (-1, F_GETFL) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (fcntl (fd + 1, F_GETFL) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (fcntl (bad_fd, F_GETFL) == -1);
+ ASSERT (errno == EBADF);
+#endif
+
+#ifdef F_SETFL
+ /* Test F_SETFL on invalid file descriptors. */
+ errno = 0;
+ ASSERT (fcntl (-1, F_SETFL, 0) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (fcntl (fd + 1, F_SETFL, 0) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (fcntl (bad_fd, F_SETFL, 0) == -1);
+ ASSERT (errno == EBADF);
+#endif
+
+#ifdef F_GETOWN
+ /* Test F_GETOWN on invalid file descriptors. */
+ errno = 0;
+ ASSERT (fcntl (-1, F_GETOWN) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (fcntl (fd + 1, F_GETOWN) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (fcntl (bad_fd, F_GETOWN) == -1);
+ ASSERT (errno == EBADF);
+#endif
+
+#ifdef F_SETOWN
+ /* Test F_SETFL on invalid file descriptors. */
+ errno = 0;
+ ASSERT (fcntl (-1, F_SETOWN, 0) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (fcntl (fd + 1, F_SETOWN, 0) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (fcntl (bad_fd, F_SETOWN, 0) == -1);
+ ASSERT (errno == EBADF);
+#endif
+
/* Cleanup. */
ASSERT (close (fd) == 0);
ASSERT (unlink (file) == 0);
diff --git a/tests/test-fdopen.c b/tests/test-fdopen.c
new file mode 100644
index 0000000..671c5e3
--- /dev/null
+++ b/tests/test-fdopen.c
@@ -0,0 +1,56 @@
+/* Test opening a stream with a file descriptor.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fdopen, FILE *, (int, const char *));
+
+#include <errno.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+ /* Test behaviour for invalid file descriptors. */
+ {
+ FILE *fp;
+
+ errno = 0;
+ fp = fdopen (-1, "r");
+ if (fp == NULL)
+ ASSERT (errno == EBADF);
+ else
+ fclose (fp);
+ }
+ {
+ FILE *fp;
+
+ close (99);
+ errno = 0;
+ fp = fdopen (99, "r");
+ if (fp == NULL)
+ ASSERT (errno == EBADF);
+ else
+ fclose (fp);
+ }
+
+ return 0;
+}
diff --git a/tests/test-fflush.c b/tests/test-fflush.c
index 3c36ed9..1c61140 100644
--- a/tests/test-fflush.c
+++ b/tests/test-fflush.c
@@ -1,5 +1,5 @@
/* Test of POSIX compatible fflush() function.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,8 +26,11 @@
#include "signature.h"
SIGNATURE_CHECK (fflush, int, (FILE *));
+#include <errno.h>
#include <unistd.h>
+#include "macros.h"
+
int
main (void)
{
@@ -46,11 +49,13 @@ main (void)
/* Test fflush. */
f = fopen ("test-fflush.txt", "r");
+ ASSERT (f != NULL);
fd = fileno (f);
if (!f || 0 > fd || fread (buffer, 1, 5, f) != 5)
{
fputs ("Failed initial read of sample file.\n", stderr);
- fclose (f);
+ if (f)
+ fclose (f);
unlink ("test-fflush.txt");
return 1;
}
@@ -140,6 +145,47 @@ main (void)
return 1;
}
fclose (f);
+
+ /* Test that fflush() sets errno if someone else closes the stream
+ fd behind the back of stdio. */
+ {
+ FILE *fp = fopen ("test-fflush.txt", "w");
+ ASSERT (fp != NULL);
+ fputc ('x', fp);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (fflush (fp) == EOF);
+ ASSERT (errno == EBADF);
+ fclose (fp);
+ }
+
+ /* Test that fflush() sets errno if the stream was constructed with
+ an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "w");
+ if (fp != NULL)
+ {
+ fputc ('x', fp);
+ errno = 0;
+ ASSERT (fflush (fp) == EOF);
+ ASSERT (errno == EBADF);
+ }
+ }
+ {
+ FILE *fp;
+ close (99);
+ fp = fdopen (99, "w");
+ if (fp != NULL)
+ {
+ fputc ('x', fp);
+ errno = 0;
+ ASSERT (fflush (fp) == EOF);
+ ASSERT (errno == EBADF);
+ }
+ }
+
+ /* Clean up. */
unlink ("test-fflush.txt");
+
return 0;
}
diff --git a/tests/test-fflush2.c b/tests/test-fflush2.c
index ac2217d..90684b2 100644
--- a/tests/test-fflush2.c
+++ b/tests/test-fflush2.c
@@ -1,5 +1,5 @@
/* Test of POSIX compatible fflush() function.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fgetc.c b/tests/test-fgetc.c
new file mode 100644
index 0000000..b4a617a
--- /dev/null
+++ b/tests/test-fgetc.c
@@ -0,0 +1,97 @@
+/* Test of fgetc() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fgetc, int, (FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ const char *filename = "test-fgetc.txt";
+
+ /* We don't have an fgetc() function that installs an invalid parameter
+ handler so far. So install that handler here, explicitly. */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+ gl_msvc_inval_ensure_handler ();
+#endif
+
+ /* Prepare a file. */
+ {
+ const char text[] = "hello world";
+ int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ ASSERT (fd >= 0);
+ ASSERT (write (fd, text, sizeof (text)) == sizeof (text));
+ ASSERT (close (fd) == 0);
+ }
+
+ /* Test that fgetc() sets errno if someone else closes the stream
+ fd behind the back of stdio. */
+ {
+ FILE *fp = fopen (filename, "r");
+ ASSERT (fp != NULL);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (fgetc (fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+
+ /* Test that fgetc() sets errno if the stream was constructed with
+ an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "r");
+ if (fp != NULL)
+ {
+ errno = 0;
+ ASSERT (fgetc (fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+ {
+ FILE *fp;
+ close (99);
+ fp = fdopen (99, "r");
+ if (fp != NULL)
+ {
+ errno = 0;
+ ASSERT (fgetc (fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+
+ /* Clean up. */
+ unlink (filename);
+
+ return 0;
+}
diff --git a/tests/test-filenamecat.c b/tests/test-filenamecat.c
index 795b6df..2d29cd4 100644
--- a/tests/test-filenamecat.c
+++ b/tests/test-filenamecat.c
@@ -1,6 +1,6 @@
/* Test of concatenation of two arbitrary file names.
- Copyright (C) 1996-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-float.c b/tests/test-float.c
new file mode 100644
index 0000000..7d3142f
--- /dev/null
+++ b/tests/test-float.c
@@ -0,0 +1,384 @@
+/* Test of <float.h> substitute.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011. */
+
+#include <config.h>
+
+#include <float.h>
+
+#include "fpucw.h"
+#include "macros.h"
+
+/* Check that FLT_RADIX is a constant expression. */
+int a[] = { FLT_RADIX };
+
+#if FLT_RADIX == 2
+
+/* Return 2^n. */
+static float
+pow2f (int n)
+{
+ int k = n;
+ volatile float x = 1;
+ volatile float y = 2;
+ /* Invariant: 2^n == x * y^k. */
+ if (k < 0)
+ {
+ y = 0.5f;
+ k = - k;
+ }
+ while (k > 0)
+ {
+ if (k != 2 * (k / 2))
+ {
+ x = x * y;
+ k = k - 1;
+ }
+ if (k == 0)
+ break;
+ y = y * y;
+ k = k / 2;
+ }
+ /* Now k == 0, hence x == 2^n. */
+ return x;
+}
+
+/* Return 2^n. */
+static double
+pow2d (int n)
+{
+ int k = n;
+ volatile double x = 1;
+ volatile double y = 2;
+ /* Invariant: 2^n == x * y^k. */
+ if (k < 0)
+ {
+ y = 0.5;
+ k = - k;
+ }
+ while (k > 0)
+ {
+ if (k != 2 * (k / 2))
+ {
+ x = x * y;
+ k = k - 1;
+ }
+ if (k == 0)
+ break;
+ y = y * y;
+ k = k / 2;
+ }
+ /* Now k == 0, hence x == 2^n. */
+ return x;
+}
+
+/* Return 2^n. */
+static long double
+pow2l (int n)
+{
+ int k = n;
+ volatile long double x = 1;
+ volatile long double y = 2;
+ /* Invariant: 2^n == x * y^k. */
+ if (k < 0)
+ {
+ y = 0.5L;
+ k = - k;
+ }
+ while (k > 0)
+ {
+ if (k != 2 * (k / 2))
+ {
+ x = x * y;
+ k = k - 1;
+ }
+ if (k == 0)
+ break;
+ y = y * y;
+ k = k / 2;
+ }
+ /* Now k == 0, hence x == 2^n. */
+ return x;
+}
+
+/* ----------------------- Check macros for 'float' ----------------------- */
+
+/* Check that the FLT_* macros expand to constant expressions. */
+int fb[] =
+ {
+ FLT_MANT_DIG, FLT_MIN_EXP, FLT_MAX_EXP,
+ FLT_DIG, FLT_MIN_10_EXP, FLT_MAX_10_EXP
+ };
+float fc[] = { FLT_EPSILON, FLT_MIN, FLT_MAX };
+
+static void
+test_float (void)
+{
+ /* Check that the value of FLT_MIN_EXP is well parenthesized. */
+ ASSERT ((FLT_MIN_EXP % 101111) == (FLT_MIN_EXP) % 101111);
+
+ /* Check that the value of DBL_MIN_10_EXP is well parenthesized. */
+ ASSERT ((FLT_MIN_10_EXP % 101111) == (FLT_MIN_10_EXP) % 101111);
+
+ /* Check that 'float' is as specified in IEEE 754. */
+ ASSERT (FLT_MANT_DIG == 24);
+ ASSERT (FLT_MIN_EXP == -125);
+ ASSERT (FLT_MAX_EXP == 128);
+
+ /* Check the value of FLT_MIN_10_EXP. */
+ ASSERT (FLT_MIN_10_EXP == - (int) (- (FLT_MIN_EXP - 1) * 0.30103));
+
+ /* Check the value of FLT_DIG. */
+ ASSERT (FLT_DIG == (int) ((FLT_MANT_DIG - 1) * 0.30103));
+
+ /* Check the value of FLT_MIN_10_EXP. */
+ ASSERT (FLT_MIN_10_EXP == - (int) (- (FLT_MIN_EXP - 1) * 0.30103));
+
+ /* Check the value of FLT_MAX_10_EXP. */
+ ASSERT (FLT_MAX_10_EXP == (int) (FLT_MAX_EXP * 0.30103));
+
+ /* Check the value of FLT_MAX. */
+ {
+ volatile float m = FLT_MAX;
+ int n;
+
+ ASSERT (m + m > m);
+ for (n = 0; n <= 2 * FLT_MANT_DIG; n++)
+ {
+ volatile float pow2_n = pow2f (n); /* 2^n */
+ volatile float x = m + (m / pow2_n);
+ if (x > m)
+ ASSERT (x + x == x);
+ else
+ ASSERT (!(x + x == x));
+ }
+ }
+
+ /* Check the value of FLT_MIN. */
+ {
+ volatile float m = FLT_MIN;
+ volatile float x = pow2f (FLT_MIN_EXP - 1);
+ ASSERT (m == x);
+ }
+
+ /* Check the value of FLT_EPSILON. */
+ {
+ volatile float e = FLT_EPSILON;
+ volatile float me;
+ int n;
+
+ me = 1.0f + e;
+ ASSERT (me > 1.0f);
+ ASSERT (me - 1.0f == e);
+ for (n = 0; n <= 2 * FLT_MANT_DIG; n++)
+ {
+ volatile float half_n = pow2f (- n); /* 2^-n */
+ volatile float x = me - half_n;
+ if (x < me)
+ ASSERT (x <= 1.0f);
+ }
+ }
+}
+
+/* ----------------------- Check macros for 'double' ----------------------- */
+
+/* Check that the DBL_* macros expand to constant expressions. */
+int db[] =
+ {
+ DBL_MANT_DIG, DBL_MIN_EXP, DBL_MAX_EXP,
+ DBL_DIG, DBL_MIN_10_EXP, DBL_MAX_10_EXP
+ };
+double dc[] = { DBL_EPSILON, DBL_MIN, DBL_MAX };
+
+static void
+test_double (void)
+{
+ /* Check that the value of DBL_MIN_EXP is well parenthesized. */
+ ASSERT ((DBL_MIN_EXP % 101111) == (DBL_MIN_EXP) % 101111);
+
+ /* Check that the value of DBL_MIN_10_EXP is well parenthesized. */
+ ASSERT ((DBL_MIN_10_EXP % 101111) == (DBL_MIN_10_EXP) % 101111);
+
+ /* Check that 'double' is as specified in IEEE 754. */
+ ASSERT (DBL_MANT_DIG == 53);
+ ASSERT (DBL_MIN_EXP == -1021);
+ ASSERT (DBL_MAX_EXP == 1024);
+
+ /* Check the value of DBL_MIN_10_EXP. */
+ ASSERT (DBL_MIN_10_EXP == - (int) (- (DBL_MIN_EXP - 1) * 0.30103));
+
+ /* Check the value of DBL_DIG. */
+ ASSERT (DBL_DIG == (int) ((DBL_MANT_DIG - 1) * 0.30103));
+
+ /* Check the value of DBL_MIN_10_EXP. */
+ ASSERT (DBL_MIN_10_EXP == - (int) (- (DBL_MIN_EXP - 1) * 0.30103));
+
+ /* Check the value of DBL_MAX_10_EXP. */
+ ASSERT (DBL_MAX_10_EXP == (int) (DBL_MAX_EXP * 0.30103));
+
+ /* Check the value of DBL_MAX. */
+ {
+ volatile double m = DBL_MAX;
+ int n;
+
+ ASSERT (m + m > m);
+ for (n = 0; n <= 2 * DBL_MANT_DIG; n++)
+ {
+ volatile double pow2_n = pow2d (n); /* 2^n */
+ volatile double x = m + (m / pow2_n);
+ if (x > m)
+ ASSERT (x + x == x);
+ else
+ ASSERT (!(x + x == x));
+ }
+ }
+
+ /* Check the value of DBL_MIN. */
+ {
+ volatile double m = DBL_MIN;
+ volatile double x = pow2d (DBL_MIN_EXP - 1);
+ ASSERT (m == x);
+ }
+
+ /* Check the value of DBL_EPSILON. */
+ {
+ volatile double e = DBL_EPSILON;
+ volatile double me;
+ int n;
+
+ me = 1.0 + e;
+ ASSERT (me > 1.0);
+ ASSERT (me - 1.0 == e);
+ for (n = 0; n <= 2 * DBL_MANT_DIG; n++)
+ {
+ volatile double half_n = pow2d (- n); /* 2^-n */
+ volatile double x = me - half_n;
+ if (x < me)
+ ASSERT (x <= 1.0);
+ }
+ }
+}
+
+/* -------------------- Check macros for 'long double' -------------------- */
+
+/* Check that the LDBL_* macros expand to constant expressions. */
+int lb[] =
+ {
+ LDBL_MANT_DIG, LDBL_MIN_EXP, LDBL_MAX_EXP,
+ LDBL_DIG, LDBL_MIN_10_EXP, LDBL_MAX_10_EXP
+ };
+long double lc1 = LDBL_EPSILON;
+long double lc2 = LDBL_MIN;
+#if 0 /* LDBL_MAX is not a constant expression on some platforms. */
+long double lc3 = LDBL_MAX;
+#endif
+
+static void
+test_long_double (void)
+{
+ /* Check that the value of LDBL_MIN_EXP is well parenthesized. */
+ ASSERT ((LDBL_MIN_EXP % 101111) == (LDBL_MIN_EXP) % 101111);
+
+ /* Check that the value of LDBL_MIN_10_EXP is well parenthesized. */
+ ASSERT ((LDBL_MIN_10_EXP % 101111) == (LDBL_MIN_10_EXP) % 101111);
+
+ /* Check that 'long double' is at least as wide as 'double'. */
+ ASSERT (LDBL_MANT_DIG >= DBL_MANT_DIG);
+ ASSERT (LDBL_MIN_EXP - LDBL_MANT_DIG <= DBL_MIN_EXP - DBL_MANT_DIG);
+ ASSERT (LDBL_MAX_EXP >= DBL_MAX_EXP);
+
+ /* Check the value of LDBL_DIG. */
+ ASSERT (LDBL_DIG == (int)((LDBL_MANT_DIG - 1) * 0.30103));
+
+ /* Check the value of LDBL_MIN_10_EXP. */
+ ASSERT (LDBL_MIN_10_EXP == - (int) (- (LDBL_MIN_EXP - 1) * 0.30103));
+
+ /* Check the value of LDBL_MAX_10_EXP. */
+ ASSERT (LDBL_MAX_10_EXP == (int) (LDBL_MAX_EXP * 0.30103));
+
+ /* Check the value of LDBL_MAX. */
+ {
+ volatile long double m = LDBL_MAX;
+ int n;
+
+ ASSERT (m + m > m);
+ for (n = 0; n <= 2 * LDBL_MANT_DIG; n++)
+ {
+ volatile long double pow2_n = pow2l (n); /* 2^n */
+ volatile long double x = m + (m / pow2_n);
+ if (x > m)
+ ASSERT (x + x == x);
+ else
+ ASSERT (!(x + x == x));
+ }
+ }
+
+ /* Check the value of LDBL_MIN. */
+ {
+ volatile long double m = LDBL_MIN;
+ volatile long double x = pow2l (LDBL_MIN_EXP - 1);
+ ASSERT (m == x);
+ }
+
+ /* Check the value of LDBL_EPSILON. */
+ {
+ volatile long double e = LDBL_EPSILON;
+ volatile long double me;
+ int n;
+
+ me = 1.0L + e;
+ ASSERT (me > 1.0L);
+ ASSERT (me - 1.0L == e);
+ for (n = 0; n <= 2 * LDBL_MANT_DIG; n++)
+ {
+ volatile long double half_n = pow2l (- n); /* 2^-n */
+ volatile long double x = me - half_n;
+ if (x < me)
+ ASSERT (x <= 1.0L);
+ }
+ }
+}
+
+int
+main ()
+{
+ test_float ();
+ test_double ();
+
+ {
+ DECL_LONG_DOUBLE_ROUNDING
+
+ BEGIN_LONG_DOUBLE_ROUNDING ();
+
+ test_long_double ();
+
+ END_LONG_DOUBLE_ROUNDING ();
+ }
+
+ return 0;
+}
+
+#else
+
+int
+main ()
+{
+ fprintf (stderr, "Skipping test: FLT_RADIX is not 2.\n");
+ return 77;
+}
+
+#endif
diff --git a/tests/test-fopen-safer.c b/tests/test-fopen-safer.c
index 20a0c13..4174ed0 100644
--- a/tests/test-fopen-safer.c
+++ b/tests/test-fopen-safer.c
@@ -1,5 +1,5 @@
/* Test of opening a file stream.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fopen.c b/tests/test-fopen.c
index c36006a..6488e85 100644
--- a/tests/test-fopen.c
+++ b/tests/test-fopen.c
@@ -1,5 +1,5 @@
/* Test of opening a file stream.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fopen.h b/tests/test-fopen.h
index 49cbac1..e1e7e17 100644
--- a/tests/test-fopen.h
+++ b/tests/test-fopen.h
@@ -1,5 +1,5 @@
/* Test of opening a file stream.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fpending.c b/tests/test-fpending.c
index edf1aa2..ca835d2 100644
--- a/tests/test-fpending.c
+++ b/tests/test-fpending.c
@@ -1,6 +1,6 @@
/* Ensure that __fpending works.
- Copyright (C) 2004, 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fpurge.c b/tests/test-fpurge.c
index 0f36221..da8ddf0 100644
--- a/tests/test-fpurge.c
+++ b/tests/test-fpurge.c
@@ -1,5 +1,5 @@
/* Test of fpurge() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fputc.c b/tests/test-fputc.c
new file mode 100644
index 0000000..e05f641
--- /dev/null
+++ b/tests/test-fputc.c
@@ -0,0 +1,91 @@
+/* Test of fputc() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fputc, int, (int, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ const char *filename = "test-fputc.txt";
+
+ /* We don't have an fputc() function that installs an invalid parameter
+ handler so far. So install that handler here, explicitly. */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+ gl_msvc_inval_ensure_handler ();
+#endif
+
+ /* Test that fputc() on an unbuffered stream sets errno if someone else
+ closes the stream fd behind the back of stdio. */
+ {
+ FILE *fp = fopen (filename, "w");
+ ASSERT (fp != NULL);
+ setvbuf (fp, NULL, _IONBF, 0);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (fputc ('x', fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+
+ /* Test that fputc() on an unbuffered stream sets errno if the stream
+ was constructed with an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "w");
+ if (fp != NULL)
+ {
+ setvbuf (fp, NULL, _IONBF, 0);
+ errno = 0;
+ ASSERT (fputc ('x', fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+ {
+ FILE *fp;
+ close (99);
+ fp = fdopen (99, "w");
+ if (fp != NULL)
+ {
+ setvbuf (fp, NULL, _IONBF, 0);
+ errno = 0;
+ ASSERT (fputc ('x', fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+
+ /* Clean up. */
+ unlink (filename);
+
+ return 0;
+}
diff --git a/tests/test-fread.c b/tests/test-fread.c
new file mode 100644
index 0000000..a807e0a
--- /dev/null
+++ b/tests/test-fread.c
@@ -0,0 +1,100 @@
+/* Test of fread() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fread, size_t, (void *, size_t, size_t, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ const char *filename = "test-fread.txt";
+
+ /* We don't have an fread() function that installs an invalid parameter
+ handler so far. So install that handler here, explicitly. */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+ gl_msvc_inval_ensure_handler ();
+#endif
+
+ /* Prepare a file. */
+ {
+ const char text[] = "hello world";
+ int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ ASSERT (fd >= 0);
+ ASSERT (write (fd, text, sizeof (text)) == sizeof (text));
+ ASSERT (close (fd) == 0);
+ }
+
+ /* Test that fread() sets errno if someone else closes the stream
+ fd behind the back of stdio. */
+ {
+ FILE *fp = fopen (filename, "r");
+ char buf[5];
+ ASSERT (fp != NULL);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (fread (buf, 1, sizeof (buf), fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+
+ /* Test that fread() sets errno if the stream was constructed with
+ an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "r");
+ if (fp != NULL)
+ {
+ char buf[1];
+ errno = 0;
+ ASSERT (fread (buf, 1, 1, fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+ {
+ FILE *fp;
+ close (99);
+ fp = fdopen (99, "r");
+ if (fp != NULL)
+ {
+ char buf[1];
+ errno = 0;
+ ASSERT (fread (buf, 1, 1, fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+
+ /* Clean up. */
+ unlink (filename);
+
+ return 0;
+}
diff --git a/tests/test-freadahead.c b/tests/test-freadahead.c
index 23dd21c..121990d 100644
--- a/tests/test-freadahead.c
+++ b/tests/test-freadahead.c
@@ -1,5 +1,5 @@
/* Test of freadahead() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-freading.c b/tests/test-freading.c
index 723de4d..ee1556c 100644
--- a/tests/test-freading.c
+++ b/tests/test-freading.c
@@ -1,5 +1,5 @@
/* Test of freading() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-frexp.c b/tests/test-frexp.c
index 4ed24d2..6e3e000 100644
--- a/tests/test-frexp.c
+++ b/tests/test-frexp.c
@@ -1,5 +1,5 @@
/* Test of splitting a double into fraction and mantissa.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,6 +27,7 @@ SIGNATURE_CHECK (frexp, double, (double, int *));
#include "isnand-nolibm.h"
#include "minus-zero.h"
+#include "infinity.h"
#include "nan.h"
#include "macros.h"
@@ -35,162 +36,32 @@ SIGNATURE_CHECK (frexp, double, (double, int *));
#undef exp
#define exp exponent
-static double
-my_ldexp (double x, int d)
-{
- for (; d > 0; d--)
- x *= 2.0;
- for (; d < 0; d++)
- x *= 0.5;
- return x;
-}
+#undef INFINITY
+#undef NAN
+
+#define DOUBLE double
+/* The use of 'volatile' guarantees that excess precision bits are dropped
+ when dealing with denormalized numbers. It is necessary on x86 systems
+ where double-floats are not IEEE compliant by default, to avoid that the
+ results become platform and compiler option dependent. 'volatile' is a
+ portable alternative to gcc's -ffloat-store option. */
+#define VOLATILE volatile
+#define ISNAN isnand
+#define INFINITY Infinityd ()
+#define NAN NaNd ()
+#define L_(literal) literal
+#define MINUS_ZERO minus_zerod
+#define MAX_EXP DBL_MAX_EXP
+#define MIN_EXP DBL_MIN_EXP
+#define MIN_NORMAL_EXP DBL_MIN_EXP
+#define FREXP frexp
+#define RANDOM randomd
+#include "test-frexp.h"
int
main ()
{
- int i;
- /* The use of 'volatile' guarantees that excess precision bits are dropped
- when dealing with denormalized numbers. It is necessary on x86 systems
- where double-floats are not IEEE compliant by default, to avoid that the
- results become platform and compiler option dependent. 'volatile' is a
- portable alternative to gcc's -ffloat-store option. */
- volatile double x;
-
- { /* NaN. */
- int exp = -9999;
- double mantissa;
- x = NaNd ();
- mantissa = frexp (x, &exp);
- ASSERT (isnand (mantissa));
- }
-
- { /* Positive infinity. */
- int exp = -9999;
- double mantissa;
- x = 1.0 / 0.0;
- mantissa = frexp (x, &exp);
- ASSERT (mantissa == x);
- }
-
- { /* Negative infinity. */
- int exp = -9999;
- double mantissa;
- x = -1.0 / 0.0;
- mantissa = frexp (x, &exp);
- ASSERT (mantissa == x);
- }
-
- { /* Positive zero. */
- int exp = -9999;
- double mantissa;
- x = 0.0;
- mantissa = frexp (x, &exp);
- ASSERT (exp == 0);
- ASSERT (mantissa == x);
- ASSERT (!signbit (mantissa));
- }
-
- { /* Negative zero. */
- int exp = -9999;
- double mantissa;
- x = minus_zerod;
- mantissa = frexp (x, &exp);
- ASSERT (exp == 0);
- ASSERT (mantissa == x);
- ASSERT (signbit (mantissa));
- }
-
- for (i = 1, x = 1.0; i <= DBL_MAX_EXP; i++, x *= 2.0)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.5);
- }
- for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.5);
- }
- for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.5);
- }
-
- for (i = 1, x = -1.0; i <= DBL_MAX_EXP; i++, x *= 2.0)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == -0.5);
- }
- for (i = 1, x = -1.0; i >= DBL_MIN_EXP; i--, x *= 0.5)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == -0.5);
- }
- for (; i >= DBL_MIN_EXP - 100 && x < 0.0; i--, x *= 0.5)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == -0.5);
- }
-
- for (i = 1, x = 1.01; i <= DBL_MAX_EXP; i++, x *= 2.0)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.505);
- }
- for (i = 1, x = 1.01; i >= DBL_MIN_EXP; i--, x *= 0.5)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.505);
- }
- for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa >= 0.5);
- ASSERT (mantissa < 1.0);
- ASSERT (mantissa == my_ldexp (x, - exp));
- }
-
- for (i = 1, x = 1.73205; i <= DBL_MAX_EXP; i++, x *= 2.0)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.866025);
- }
- for (i = 1, x = 1.73205; i >= DBL_MIN_EXP; i--, x *= 0.5)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.866025);
- }
- for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5)
- {
- int exp = -9999;
- double mantissa = frexp (x, &exp);
- ASSERT (exp == i || exp == i + 1);
- ASSERT (mantissa >= 0.5);
- ASSERT (mantissa < 1.0);
- ASSERT (mantissa == my_ldexp (x, - exp));
- }
+ test_function ();
return 0;
}
diff --git a/tests/test-frexp.h b/tests/test-frexp.h
new file mode 100644
index 0000000..e50be14
--- /dev/null
+++ b/tests/test-frexp.h
@@ -0,0 +1,179 @@
+/* Test of splitting a double into fraction and mantissa.
+ Copyright (C) 2012-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+static DOUBLE
+my_ldexp (DOUBLE x, int d)
+{
+ for (; d > 0; d--)
+ x *= L_(2.0);
+ for (; d < 0; d++)
+ x *= L_(0.5);
+ return x;
+}
+
+static void
+test_function (void)
+{
+ int i;
+ VOLATILE DOUBLE x;
+
+ { /* NaN. */
+ int exp = -9999;
+ DOUBLE mantissa;
+ x = NAN;
+ mantissa = FREXP (x, &exp);
+ ASSERT (ISNAN (mantissa));
+ }
+
+ { /* Positive infinity. */
+ int exp = -9999;
+ DOUBLE mantissa;
+ x = INFINITY;
+ mantissa = FREXP (x, &exp);
+ ASSERT (mantissa == x);
+ }
+
+ { /* Negative infinity. */
+ int exp = -9999;
+ DOUBLE mantissa;
+ x = - INFINITY;
+ mantissa = FREXP (x, &exp);
+ ASSERT (mantissa == x);
+ }
+
+ { /* Positive zero. */
+ int exp = -9999;
+ DOUBLE mantissa;
+ x = L_(0.0);
+ mantissa = FREXP (x, &exp);
+ ASSERT (exp == 0);
+ ASSERT (mantissa == x);
+ ASSERT (!signbit (mantissa));
+ }
+
+ { /* Negative zero. */
+ int exp = -9999;
+ DOUBLE mantissa;
+ x = MINUS_ZERO;
+ mantissa = FREXP (x, &exp);
+ ASSERT (exp == 0);
+ ASSERT (mantissa == x);
+ ASSERT (signbit (mantissa));
+ }
+
+ for (i = 1, x = L_(1.0); i <= MAX_EXP; i++, x *= L_(2.0))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa == L_(0.5));
+ }
+ for (i = 1, x = L_(1.0); i >= MIN_NORMAL_EXP; i--, x *= L_(0.5))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa == L_(0.5));
+ }
+ for (; i >= MIN_EXP - 100 && x > L_(0.0); i--, x *= L_(0.5))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa == L_(0.5));
+ }
+
+ for (i = 1, x = - L_(1.0); i <= MAX_EXP; i++, x *= L_(2.0))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa == - L_(0.5));
+ }
+ for (i = 1, x = - L_(1.0); i >= MIN_NORMAL_EXP; i--, x *= L_(0.5))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa == - L_(0.5));
+ }
+ for (; i >= MIN_EXP - 100 && x < L_(0.0); i--, x *= L_(0.5))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa == - L_(0.5));
+ }
+
+ for (i = 1, x = L_(1.01); i <= MAX_EXP; i++, x *= L_(2.0))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa == L_(0.505));
+ }
+ for (i = 1, x = L_(1.01); i >= MIN_NORMAL_EXP; i--, x *= L_(0.5))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa == L_(0.505));
+ }
+ for (; i >= MIN_EXP - 100 && x > L_(0.0); i--, x *= L_(0.5))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa >= L_(0.5));
+ ASSERT (mantissa < L_(1.0));
+ ASSERT (mantissa == my_ldexp (x, - exp));
+ }
+
+ for (i = 1, x = L_(1.73205); i <= MAX_EXP; i++, x *= L_(2.0))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa == L_(0.866025));
+ }
+ for (i = 1, x = L_(1.73205); i >= MIN_NORMAL_EXP; i--, x *= L_(0.5))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i);
+ ASSERT (mantissa == L_(0.866025));
+ }
+ for (; i >= MIN_EXP - 100 && x > L_(0.0); i--, x *= L_(0.5))
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (exp == i || exp == i + 1);
+ ASSERT (mantissa >= L_(0.5));
+ ASSERT (mantissa < L_(1.0));
+ ASSERT (mantissa == my_ldexp (x, - exp));
+ }
+
+ /* Randomized tests. */
+ for (i = 0; i < SIZEOF (RANDOM); i++)
+ {
+ x = L_(20.0) * RANDOM[i] - L_(10.0); /* -10.0 <= x <= 10.0 */
+ {
+ int exp = -9999;
+ DOUBLE mantissa = FREXP (x, &exp);
+ ASSERT (x == my_ldexp (mantissa, exp));
+ }
+ }
+}
diff --git a/tests/test-frexpl.c b/tests/test-frexpl.c
index ccb547b..5a5eae5 100644
--- a/tests/test-frexpl.c
+++ b/tests/test-frexpl.c
@@ -1,5 +1,5 @@
/* Test of splitting a 'long double' into fraction and mantissa.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -28,6 +28,7 @@ SIGNATURE_CHECK (frexpl, long double, (long double, int *));
#include "fpucw.h"
#include "isnanl-nolibm.h"
#include "minus-zero.h"
+#include "infinity.h"
#include "nan.h"
#include "macros.h"
@@ -36,6 +37,18 @@ SIGNATURE_CHECK (frexpl, long double, (long double, int *));
#undef exp
#define exp exponent
+#undef INFINITY
+#undef NAN
+
+#define DOUBLE long double
+#define VOLATILE
+#define ISNAN isnanl
+#define INFINITY Infinityl ()
+#define NAN NaNl ()
+#define L_(literal) literal##L
+#define MINUS_ZERO minus_zerol
+#define MAX_EXP LDBL_MAX_EXP
+#define MIN_EXP LDBL_MIN_EXP
/* On MIPS IRIX machines, LDBL_MIN_EXP is -1021, but the smallest reliable
exponent for 'long double' is -964. Similarly, on PowerPC machines,
LDBL_MIN_EXP is -1021, but the smallest reliable exponent for 'long double'
@@ -48,161 +61,18 @@ SIGNATURE_CHECK (frexpl, long double, (long double, int *));
#else
# define MIN_NORMAL_EXP LDBL_MIN_EXP
#endif
-
-static long double
-my_ldexp (long double x, int d)
-{
- for (; d > 0; d--)
- x *= 2.0L;
- for (; d < 0; d++)
- x *= 0.5L;
- return x;
-}
+#define FREXP frexpl
+#define RANDOM randoml
+#include "test-frexp.h"
int
main ()
{
- int i;
- long double x;
DECL_LONG_DOUBLE_ROUNDING
BEGIN_LONG_DOUBLE_ROUNDING ();
- { /* NaN. */
- int exp = -9999;
- long double mantissa;
- x = NaNl ();
- mantissa = frexpl (x, &exp);
- ASSERT (isnanl (mantissa));
- }
-
- { /* Positive infinity. */
- int exp = -9999;
- long double mantissa;
- x = 1.0L / 0.0L;
- mantissa = frexpl (x, &exp);
- ASSERT (mantissa == x);
- }
-
- { /* Negative infinity. */
- int exp = -9999;
- long double mantissa;
- x = -1.0L / 0.0L;
- mantissa = frexpl (x, &exp);
- ASSERT (mantissa == x);
- }
-
- { /* Positive zero. */
- int exp = -9999;
- long double mantissa;
- x = 0.0L;
- mantissa = frexpl (x, &exp);
- ASSERT (exp == 0);
- ASSERT (mantissa == x);
- ASSERT (!signbit (mantissa));
- }
-
- { /* Negative zero. */
- int exp = -9999;
- long double mantissa;
- x = minus_zerol;
- mantissa = frexpl (x, &exp);
- ASSERT (exp == 0);
- ASSERT (mantissa == x);
- ASSERT (signbit (mantissa));
- }
-
- for (i = 1, x = 1.0L; i <= LDBL_MAX_EXP; i++, x *= 2.0L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.5L);
- }
- for (i = 1, x = 1.0L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.5L);
- }
- for (; i >= LDBL_MIN_EXP - 100 && x > 0.0L; i--, x *= 0.5L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.5L);
- }
-
- for (i = 1, x = -1.0L; i <= LDBL_MAX_EXP; i++, x *= 2.0L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == -0.5L);
- }
- for (i = 1, x = -1.0L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == -0.5L);
- }
- for (; i >= LDBL_MIN_EXP - 100 && x < 0.0L; i--, x *= 0.5L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == -0.5L);
- }
-
- for (i = 1, x = 1.01L; i <= LDBL_MAX_EXP; i++, x *= 2.0L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.505L);
- }
- for (i = 1, x = 1.01L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.505L);
- }
- for (; i >= LDBL_MIN_EXP - 100 && x > 0.0L; i--, x *= 0.5L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa >= 0.5L);
- ASSERT (mantissa < 1.0L);
- ASSERT (mantissa == my_ldexp (x, - exp));
- }
-
- for (i = 1, x = 1.73205L; i <= LDBL_MAX_EXP; i++, x *= 2.0L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.866025L);
- }
- for (i = 1, x = 1.73205L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i);
- ASSERT (mantissa == 0.866025L);
- }
- for (; i >= LDBL_MIN_EXP - 100 && x > 0.0L; i--, x *= 0.5L)
- {
- int exp = -9999;
- long double mantissa = frexpl (x, &exp);
- ASSERT (exp == i || exp == i + 1);
- ASSERT (mantissa >= 0.5L);
- ASSERT (mantissa < 1.0L);
- ASSERT (mantissa == my_ldexp (x, - exp));
- }
+ test_function ();
return 0;
}
diff --git a/tests/test-fseek.c b/tests/test-fseek.c
new file mode 100644
index 0000000..1b47a8f
--- /dev/null
+++ b/tests/test-fseek.c
@@ -0,0 +1,70 @@
+/* Test of fseek() function.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+/* None of the files accessed by this test are large, so disable the
+ fseek link warning if the user requested GNULIB_POSIXCHECK. */
+#define _GL_NO_LARGE_FILES
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fseek, int, (FILE *, long, int));
+
+#include "macros.h"
+
+#ifndef FUNC_UNGETC_BROKEN
+# define FUNC_UNGETC_BROKEN 0
+#endif
+
+int
+main (int argc, char **argv)
+{
+ /* Assume stdin is non-empty, seekable, and starts with '#!/bin/sh'
+ iff argc > 1. */
+ int expected = argc > 1 ? 0 : -1;
+ ASSERT (fseek (stdin, 0, SEEK_CUR) == expected);
+ if (argc > 1)
+ {
+ /* Test that fseek discards previously read ungetc data. */
+ int ch = fgetc (stdin);
+ ASSERT (ch == '#');
+ ASSERT (ungetc (ch, stdin) == ch);
+ ASSERT (fseek (stdin, 2, SEEK_SET) == 0);
+ ch = fgetc (stdin);
+ ASSERT (ch == '/');
+ if (2 < argc)
+ {
+ if (FUNC_UNGETC_BROKEN)
+ {
+ fputs ("Skipping test: ungetc cannot handle arbitrary bytes\n",
+ stderr);
+ return 77;
+ }
+ /* Test that fseek discards random ungetc data. */
+ ASSERT (ungetc (ch ^ 0xff, stdin) == (ch ^ 0xff));
+ }
+ ASSERT (fseek (stdin, 0, SEEK_END) == 0);
+ ASSERT (fgetc (stdin) == EOF);
+ /* Test that fseek resets end-of-file marker. */
+ ASSERT (feof (stdin));
+ ASSERT (fseek (stdin, 0, SEEK_END) == 0);
+ ASSERT (!feof (stdin));
+ }
+ return 0;
+}
diff --git a/tests/test-fseek.sh b/tests/test-fseek.sh
new file mode 100755
index 0000000..bad6c08
--- /dev/null
+++ b/tests/test-fseek.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+./test-fseek${EXEEXT} 1 < "$srcdir/test-fseek.sh" || exit 1
+echo hi | ./test-fseek${EXEEXT} || exit 1
+exit 0
diff --git a/tests/test-fseek2.sh b/tests/test-fseek2.sh
new file mode 100755
index 0000000..a4c9cb7
--- /dev/null
+++ b/tests/test-fseek2.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec ./test-fseek${EXEEXT} 1 2 < "$srcdir/test-fseek2.sh"
diff --git a/tests/test-fseeko.c b/tests/test-fseeko.c
index ad5eec8..cadbc65 100644
--- a/tests/test-fseeko.c
+++ b/tests/test-fseeko.c
@@ -1,5 +1,5 @@
/* Test of fseeko() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-fseeko3.c b/tests/test-fseeko3.c
new file mode 100644
index 0000000..bd0b13a
--- /dev/null
+++ b/tests/test-fseeko3.c
@@ -0,0 +1,51 @@
+/* Test of fseeko() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <eblake@redhat.com>, 2011. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include <stdlib.h>
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ int do_initial_ftell = atoi (argv[1]);
+ const char *filename = argv[2];
+ FILE *fp = fopen (filename, "r");
+ ASSERT (fp != NULL);
+
+ if (do_initial_ftell)
+ {
+ off_t pos = ftell (fp);
+ ASSERT (pos == 0);
+ }
+
+ ASSERT (fseeko (fp, 0, SEEK_END) == 0);
+
+ {
+ off_t pos = ftell (fp);
+ ASSERT (pos > 0);
+ }
+
+ ASSERT (fclose (fp) == 0);
+
+ return 0;
+}
diff --git a/tests/test-fseeko3.sh b/tests/test-fseeko3.sh
new file mode 100755
index 0000000..c50b4a2
--- /dev/null
+++ b/tests/test-fseeko3.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+./test-fseeko3${EXEEXT} 0 "$srcdir/test-fseeko3.sh" || exit 1
+
+./test-fseeko3${EXEEXT} 1 "$srcdir/test-fseeko3.sh" || exit 1
+
+exit 0
diff --git a/tests/test-fseeko4.c b/tests/test-fseeko4.c
new file mode 100644
index 0000000..8d6d58a
--- /dev/null
+++ b/tests/test-fseeko4.c
@@ -0,0 +1,73 @@
+/* Test of fseeko() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include <errno.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ const char *filename = argv[1];
+
+ /* Test that fseeko() sets errno if someone else closes the stream
+ fd behind the back of stdio. */
+ {
+ FILE *fp = fopen (filename, "r");
+ ASSERT (fp != NULL);
+ setvbuf (fp, NULL, _IONBF, 0);
+ ASSERT (ftell (fp) == 0);
+ ASSERT (fseeko (fp, 0, SEEK_END) == 0);
+ ASSERT (ftell (fp) > 0);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (fseeko (fp, 0, SEEK_SET) == -1);
+ ASSERT (errno == EBADF);
+ fclose (fp);
+ }
+
+ /* Test that fseeko() sets errno if the stream was constructed with
+ an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "w");
+ if (fp != NULL)
+ {
+ errno = 0;
+ ASSERT (fseeko (fp, 0, SEEK_END) == -1);
+ ASSERT (errno == EBADF);
+ fclose (fp);
+ }
+ }
+ {
+ FILE *fp;
+ close (99);
+ fp = fdopen (99, "w");
+ if (fp != NULL)
+ {
+ errno = 0;
+ ASSERT (fseeko (fp, 0, SEEK_END) == -1);
+ ASSERT (errno == EBADF);
+ fclose (fp);
+ }
+ }
+
+ return 0;
+}
diff --git a/tests/test-fseeko4.sh b/tests/test-fseeko4.sh
new file mode 100755
index 0000000..e6464ae
--- /dev/null
+++ b/tests/test-fseeko4.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+./test-fseeko4${EXEEXT} "$srcdir/test-fseeko4.sh" || exit 1
+
+exit 0
diff --git a/tests/test-fstat.c b/tests/test-fstat.c
new file mode 100644
index 0000000..8ce1527
--- /dev/null
+++ b/tests/test-fstat.c
@@ -0,0 +1,50 @@
+/* Tests of fstat() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fstat, int, (int, struct stat *));
+
+#include <errno.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+int
+main (int argc, char *argv[])
+{
+ /* Test behaviour for invalid file descriptors. */
+ {
+ struct stat statbuf;
+
+ errno = 0;
+ ASSERT (fstat (-1, &statbuf) == -1);
+ ASSERT (errno == EBADF);
+ }
+ {
+ struct stat statbuf;
+
+ close (99);
+ errno = 0;
+ ASSERT (fstat (99, &statbuf) == -1);
+ ASSERT (errno == EBADF);
+ }
+
+ return 0;
+}
diff --git a/tests/test-ftell.c b/tests/test-ftell.c
index 54ede05..d30c492 100644
--- a/tests/test-ftell.c
+++ b/tests/test-ftell.c
@@ -1,5 +1,5 @@
/* Test of ftell() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-ftell3.c b/tests/test-ftell3.c
index a5167ef..17968e3 100644
--- a/tests/test-ftell3.c
+++ b/tests/test-ftell3.c
@@ -1,5 +1,5 @@
/* Test of ftell() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-ftello.c b/tests/test-ftello.c
index 636da81..e5a2b25 100644
--- a/tests/test-ftello.c
+++ b/tests/test-ftello.c
@@ -1,5 +1,5 @@
/* Test of ftello() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-ftello3.c b/tests/test-ftello3.c
index 50d4b88..a771430 100644
--- a/tests/test-ftello3.c
+++ b/tests/test-ftello3.c
@@ -1,5 +1,5 @@
/* Test of ftello() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-ftello4.c b/tests/test-ftello4.c
new file mode 100644
index 0000000..b8cd679
--- /dev/null
+++ b/tests/test-ftello4.c
@@ -0,0 +1,70 @@
+/* Test of ftello() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include <errno.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ const char *filename = argv[1];
+
+ /* Test that ftello() sets errno if someone else closes the stream
+ fd behind the back of stdio. */
+ {
+ FILE *fp = fopen (filename, "r");
+ ASSERT (fp != NULL);
+ setvbuf (fp, NULL, _IONBF, 0);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (ftello (fp) == (off_t)-1);
+ ASSERT (errno == EBADF);
+ fclose (fp);
+ }
+
+ /* Test that ftello() sets errno if the stream was constructed with
+ an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "w");
+ if (fp != NULL)
+ {
+ errno = 0;
+ ASSERT (ftello (fp) == (off_t)-1);
+ ASSERT (errno == EBADF);
+ fclose (fp);
+ }
+ }
+ {
+ FILE *fp;
+ close (99);
+ fp = fdopen (99, "w");
+ if (fp != NULL)
+ {
+ errno = 0;
+ ASSERT (ftello (fp) == (off_t)-1);
+ ASSERT (errno == EBADF);
+ fclose (fp);
+ }
+ }
+
+ return 0;
+}
diff --git a/tests/test-ftello4.sh b/tests/test-ftello4.sh
new file mode 100755
index 0000000..e3702bb
--- /dev/null
+++ b/tests/test-ftello4.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+./test-ftello4${EXEEXT} "$srcdir/test-ftello4.sh" || exit 1
+
+exit 0
diff --git a/tests/test-fwrite.c b/tests/test-fwrite.c
new file mode 100644
index 0000000..ef72338
--- /dev/null
+++ b/tests/test-fwrite.c
@@ -0,0 +1,94 @@
+/* Test of fwrite() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fwrite, size_t, (const void *, size_t, size_t, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ const char *filename = "test-fwrite.txt";
+
+ /* We don't have an fwrite() function that installs an invalid parameter
+ handler so far. So install that handler here, explicitly. */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+ gl_msvc_inval_ensure_handler ();
+#endif
+
+ /* Test that fwrite() on an unbuffered stream sets errno if someone else
+ closes the stream fd behind the back of stdio. */
+ {
+ FILE *fp = fopen (filename, "w");
+ char buf[5] = "world";
+ ASSERT (fp != NULL);
+ setvbuf (fp, NULL, _IONBF, 0);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+
+ /* Test that fwrite() on an unbuffered stream sets errno if the stream
+ was constructed with an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "w");
+ if (fp != NULL)
+ {
+ char buf[5] = "world";
+ setvbuf (fp, NULL, _IONBF, 0);
+ errno = 0;
+ ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+ {
+ FILE *fp;
+ close (99);
+ fp = fdopen (99, "w");
+ if (fp != NULL)
+ {
+ char buf[5] = "world";
+ setvbuf (fp, NULL, _IONBF, 0);
+ errno = 0;
+ ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+
+ /* Clean up. */
+ unlink (filename);
+
+ return 0;
+}
diff --git a/tests/test-getcwd-lgpl.c b/tests/test-getcwd-lgpl.c
new file mode 100644
index 0000000..e3e7b7a
--- /dev/null
+++ b/tests/test-getcwd-lgpl.c
@@ -0,0 +1,102 @@
+/* Test of getcwd() function.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (getcwd, char *, (char *, size_t));
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ char *pwd1;
+ char *pwd2;
+ /* If the user provides an argument, attempt to chdir there first. */
+ if (1 < argc)
+ {
+ if (chdir (argv[1]) == 0)
+ printf ("changed to directory %s\n", argv[1]);
+ }
+
+ pwd1 = getcwd (NULL, 0);
+ ASSERT (pwd1 && *pwd1);
+ if (1 < argc)
+ printf ("cwd=%s\n", pwd1);
+
+ /* Make sure the result is usable. */
+ ASSERT (chdir (pwd1) == 0);
+ ASSERT (chdir (".//./.") == 0);
+
+ /* Make sure that result is normalized. */
+ pwd2 = getcwd (NULL, 0);
+ ASSERT (pwd2);
+ ASSERT (strcmp (pwd1, pwd2) == 0);
+ free (pwd2);
+ {
+ size_t len = strlen (pwd1);
+ ssize_t i = len - 10;
+ if (i < 1)
+ i = 1;
+ pwd2 = getcwd (NULL, len + 1);
+ ASSERT (pwd2);
+ free (pwd2);
+ pwd2 = malloc (len + 2);
+ for ( ; i <= len; i++)
+ {
+ char *tmp;
+ errno = 0;
+ ASSERT (getcwd (pwd2, i) == NULL);
+ ASSERT (errno == ERANGE);
+ /* Allow either glibc or BSD behavior, since POSIX allows both. */
+ errno = 0;
+ tmp = getcwd (NULL, i);
+ if (tmp)
+ {
+ ASSERT (strcmp (pwd1, tmp) == 0);
+ free (tmp);
+ }
+ else
+ {
+ ASSERT (errno == ERANGE);
+ }
+ }
+ ASSERT (getcwd (pwd2, len + 1) == pwd2);
+ pwd2[len] = '/';
+ pwd2[len + 1] = '\0';
+ }
+ ASSERT (strstr (pwd2, "/./") == NULL);
+ ASSERT (strstr (pwd2, "/../") == NULL);
+ ASSERT (strstr (pwd2 + 1 + (pwd2[1] == '/'), "//") == NULL);
+
+ /* Validate a POSIX requirement on size. */
+ errno = 0;
+ ASSERT (getcwd(pwd2, 0) == NULL);
+ ASSERT (errno == EINVAL);
+
+ free (pwd1);
+ free (pwd2);
+
+ return 0;
+}
diff --git a/tests/test-getdtablesize.c b/tests/test-getdtablesize.c
index ae969a1..7046481 100644
--- a/tests/test-getdtablesize.c
+++ b/tests/test-getdtablesize.c
@@ -1,5 +1,5 @@
/* Test of getdtablesize() function.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-getopt.c b/tests/test-getopt.c
index 69f2cfa..7caf027 100644
--- a/tests/test-getopt.c
+++ b/tests/test-getopt.c
@@ -1,5 +1,5 @@
/* Test of command line argument processing.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-getopt.h b/tests/test-getopt.h
index 9c877b3..450cf0d 100644
--- a/tests/test-getopt.h
+++ b/tests/test-getopt.h
@@ -1,5 +1,5 @@
/* Test of command line argument processing.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -1365,5 +1365,27 @@ test_getopt (void)
ASSERT (optind == 3);
ASSERT (!output);
}
+
+ /* Check that 'W' does not dump core:
+ http://sourceware.org/bugzilla/show_bug.cgi?id=12922
+ Technically, POSIX says the presence of ';' in the opt-string
+ gives unspecified behavior, so we only test this when GNU compliance
+ is desired. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int argc = 0;
+ const char *argv[10];
+ int pos = ftell (stderr);
+
+ argv[argc++] = "program";
+ argv[argc++] = "-W";
+ argv[argc++] = "dummy";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ ASSERT (getopt (argc, (char **) argv, "W;") == 'W');
+ ASSERT (ftell (stderr) == pos);
+ ASSERT (optind == 2);
+ }
#endif /* GNULIB_TEST_GETOPT_GNU */
}
diff --git a/tests/test-getopt_long.h b/tests/test-getopt_long.h
index 7a74867..345a796 100644
--- a/tests/test-getopt_long.h
+++ b/tests/test-getopt_long.h
@@ -1,5 +1,5 @@
/* Test of command line argument processing.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -314,6 +314,25 @@ test_getopt_long (void)
}
}
+ /* Test that 'W' does not dump core:
+ http://sourceware.org/bugzilla/show_bug.cgi?id=12922 */
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-W";
+ argv[argc++] = "dummy";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "W;", NULL, &option_index);
+ ASSERT (c == 'W');
+ ASSERT (optind == 2);
+ }
+
/* Test processing of boolean short options. */
for (start = 0; start <= 1; start++)
{
diff --git a/tests/test-gettimeofday.c b/tests/test-gettimeofday.c
index 7d09fc3..2c60876 100644
--- a/tests/test-gettimeofday.c
+++ b/tests/test-gettimeofday.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
* Written by Jim Meyering.
*
* This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-ignore-value.c b/tests/test-ignore-value.c
index 501f79c..cb4cf14 100644
--- a/tests/test-ignore-value.c
+++ b/tests/test-ignore-value.c
@@ -1,6 +1,6 @@
/* Test the "ignore-value" module.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,7 +24,7 @@
#include <stdio.h>
#ifndef _GL_ATTRIBUTE_RETURN_CHECK
-# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1)
+# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
# define _GL_ATTRIBUTE_RETURN_CHECK
# else
# define _GL_ATTRIBUTE_RETURN_CHECK __attribute__((__warn_unused_result__))
diff --git a/tests/test-init.sh b/tests/test-init.sh
new file mode 100755
index 0000000..6eb6b43
--- /dev/null
+++ b/tests/test-init.sh
@@ -0,0 +1,73 @@
+#!/bin/sh
+# Unit tests for init.sh
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# This file is part of the GNUlib Library.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+: ${srcdir=.}
+. "$srcdir/init.sh"; path_prepend_ .
+
+fail=0
+
+test_compare()
+{
+ touch empty || fail=1
+ echo xyz > in || fail=1
+
+ compare /dev/null /dev/null >out 2>err || fail=1
+ test -s out && fail_ "out not empty: $(cat out)"
+ # "err" should be empty, too, but has "set -x" output when VERBOSE=yes
+ case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
+
+ compare /dev/null empty >out 2>err || fail=1
+ test -s out && fail_ "out not empty: $(cat out)"
+ case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
+
+ compare in in >out 2>err || fail=1
+ test -s out && fail_ "out not empty: $(cat out)"
+ case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
+
+ compare /dev/null in >out 2>err && fail=1
+ cat <<\EOF > exp
+diff -u /dev/null in
+--- /dev/null 1970-01-01
++++ in 1970-01-01
++xyz
+EOF
+ compare exp out || fail=1
+ case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
+
+ compare empty in >out 2>err && fail=1
+ # Compare against expected output only if compare is using diff -u.
+ if grep @ out >/dev/null; then
+ # Remove the TAB-date suffix on each --- and +++ line,
+ # for both the expected and the actual output files.
+ # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ:
+ # -@@ -0,0 +1 @@
+ # +@@ -1,0 +1,1 @@
+ sed 's/ .*//;/^@@/d' out > k && mv k out
+ cat <<\EOF > exp
+--- empty
++++ in
++xyz
+EOF
+ compare exp out || fail=1
+ fi
+ case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac
+}
+
+test_compare
+
+Exit $fail
diff --git a/tests/test-intprops.c b/tests/test-intprops.c
new file mode 100644
index 0000000..8b91a79
--- /dev/null
+++ b/tests/test-intprops.c
@@ -0,0 +1,275 @@
+/* Test intprops.h.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Paul Eggert. */
+
+/* Tell gcc not to warn about the many (X < 0) expressions that
+ the overflow macros expand to. */
+#if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
+# pragma GCC diagnostic ignored "-Wtype-limits"
+#endif
+
+#include <config.h>
+
+#include "intprops.h"
+#include "verify.h"
+
+#include <stdbool.h>
+#include <inttypes.h>
+
+#include "macros.h"
+
+/* VERIFY (X) uses a static assertion for compilers that are known to work,
+ and falls back on a dynamic assertion for other compilers.
+ These tests should be checkable via 'verify' rather than 'ASSERT', but
+ using 'verify' would run into a bug with HP-UX 11.23 cc; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>. */
+#if __GNUC__ || __SUNPRO_C
+# define VERIFY(x) do { verify (x); } while (0)
+#else
+# define VERIFY(x) ASSERT (x)
+#endif
+
+int
+main (void)
+{
+ /* Use VERIFY for tests that must be integer constant expressions,
+ ASSERT otherwise. */
+
+ /* TYPE_IS_INTEGER. */
+ ASSERT (TYPE_IS_INTEGER (bool));
+ ASSERT (TYPE_IS_INTEGER (char));
+ ASSERT (TYPE_IS_INTEGER (signed char));
+ ASSERT (TYPE_IS_INTEGER (unsigned char));
+ ASSERT (TYPE_IS_INTEGER (short int));
+ ASSERT (TYPE_IS_INTEGER (unsigned short int));
+ ASSERT (TYPE_IS_INTEGER (int));
+ ASSERT (TYPE_IS_INTEGER (unsigned int));
+ ASSERT (TYPE_IS_INTEGER (long int));
+ ASSERT (TYPE_IS_INTEGER (unsigned long int));
+ ASSERT (TYPE_IS_INTEGER (intmax_t));
+ ASSERT (TYPE_IS_INTEGER (uintmax_t));
+ ASSERT (! TYPE_IS_INTEGER (float));
+ ASSERT (! TYPE_IS_INTEGER (double));
+ ASSERT (! TYPE_IS_INTEGER (long double));
+
+ /* TYPE_SIGNED. */
+ /* VERIFY (! TYPE_SIGNED (bool)); // not guaranteed by gnulib substitute */
+ VERIFY (TYPE_SIGNED (signed char));
+ VERIFY (! TYPE_SIGNED (unsigned char));
+ VERIFY (TYPE_SIGNED (short int));
+ VERIFY (! TYPE_SIGNED (unsigned short int));
+ VERIFY (TYPE_SIGNED (int));
+ VERIFY (! TYPE_SIGNED (unsigned int));
+ VERIFY (TYPE_SIGNED (long int));
+ VERIFY (! TYPE_SIGNED (unsigned long int));
+ VERIFY (TYPE_SIGNED (intmax_t));
+ VERIFY (! TYPE_SIGNED (uintmax_t));
+ ASSERT (TYPE_SIGNED (float));
+ ASSERT (TYPE_SIGNED (double));
+ ASSERT (TYPE_SIGNED (long double));
+
+ /* Integer representation. */
+ VERIFY (INT_MIN + INT_MAX < 0
+ ? (TYPE_TWOS_COMPLEMENT (int)
+ && ! TYPE_ONES_COMPLEMENT (int) && ! TYPE_SIGNED_MAGNITUDE (int))
+ : (! TYPE_TWOS_COMPLEMENT (int)
+ && (TYPE_ONES_COMPLEMENT (int) || TYPE_SIGNED_MAGNITUDE (int))));
+
+ /* TYPE_MINIMUM, TYPE_MAXIMUM. */
+ VERIFY (TYPE_MINIMUM (char) == CHAR_MIN);
+ VERIFY (TYPE_MAXIMUM (char) == CHAR_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned char) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned char) == UCHAR_MAX);
+ VERIFY (TYPE_MINIMUM (signed char) == SCHAR_MIN);
+ VERIFY (TYPE_MAXIMUM (signed char) == SCHAR_MAX);
+ VERIFY (TYPE_MINIMUM (short int) == SHRT_MIN);
+ VERIFY (TYPE_MAXIMUM (short int) == SHRT_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned short int) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned short int) == USHRT_MAX);
+ VERIFY (TYPE_MINIMUM (int) == INT_MIN);
+ VERIFY (TYPE_MAXIMUM (int) == INT_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned int) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned int) == UINT_MAX);
+ VERIFY (TYPE_MINIMUM (long int) == LONG_MIN);
+ VERIFY (TYPE_MAXIMUM (long int) == LONG_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned long int) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned long int) == ULONG_MAX);
+ VERIFY (TYPE_MINIMUM (intmax_t) == INTMAX_MIN);
+ VERIFY (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX);
+ VERIFY (TYPE_MINIMUM (uintmax_t) == 0);
+ VERIFY (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX);
+
+ /* INT_BITS_STRLEN_BOUND. */
+ VERIFY (INT_BITS_STRLEN_BOUND (1) == 1);
+ VERIFY (INT_BITS_STRLEN_BOUND (2620) == 789);
+
+ /* INT_STRLEN_BOUND, INT_BUFSIZE_BOUND. */
+ #ifdef INT32_MAX /* POSIX guarantees int32_t; this ports to non-POSIX. */
+ VERIFY (INT_STRLEN_BOUND (int32_t) == sizeof ("-2147483648") - 1);
+ VERIFY (INT_BUFSIZE_BOUND (int32_t) == sizeof ("-2147483648"));
+ #endif
+ #ifdef INT64_MAX
+ VERIFY (INT_STRLEN_BOUND (int64_t) == sizeof ("-9223372036854775808") - 1);
+ VERIFY (INT_BUFSIZE_BOUND (int64_t) == sizeof ("-9223372036854775808"));
+ #endif
+
+ /* All the INT_<op>_RANGE_OVERFLOW tests are equally valid as
+ INT_<op>_OVERFLOW tests, so define a single macro to do both. */
+ #define CHECK_BINOP(op, a, b, min, max, overflow) \
+ (INT_##op##_RANGE_OVERFLOW (a, b, min, max) == (overflow) \
+ && INT_##op##_OVERFLOW (a, b) == (overflow))
+ #define CHECK_UNOP(op, a, min, max, overflow) \
+ (INT_##op##_RANGE_OVERFLOW (a, min, max) == (overflow) \
+ && INT_##op##_OVERFLOW (a) == (overflow))
+
+ /* INT_<op>_RANGE_OVERFLOW, INT_<op>_OVERFLOW. */
+ VERIFY (INT_ADD_RANGE_OVERFLOW (INT_MAX, 1, INT_MIN, INT_MAX));
+ VERIFY (INT_ADD_OVERFLOW (INT_MAX, 1));
+ VERIFY (CHECK_BINOP (ADD, INT_MAX, 1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (ADD, INT_MAX, -1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (ADD, INT_MIN, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (ADD, INT_MIN, -1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (ADD, UINT_MAX, 1u, 0u, UINT_MAX, true));
+ VERIFY (CHECK_BINOP (ADD, 0u, 1u, 0u, UINT_MAX, false));
+
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, -1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, 1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, -1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (SUBTRACT, UINT_MAX, 1u, 0u, UINT_MAX, false));
+ VERIFY (CHECK_BINOP (SUBTRACT, 0u, 1u, 0u, UINT_MAX, true));
+
+ VERIFY (CHECK_UNOP (NEGATE, INT_MIN, INT_MIN, INT_MAX,
+ TYPE_TWOS_COMPLEMENT (int)));
+ VERIFY (CHECK_UNOP (NEGATE, 0, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_UNOP (NEGATE, INT_MAX, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_UNOP (NEGATE, 0u, 0u, UINT_MAX, false));
+ VERIFY (CHECK_UNOP (NEGATE, 1u, 0u, UINT_MAX, true));
+ VERIFY (CHECK_UNOP (NEGATE, UINT_MAX, 0u, UINT_MAX, true));
+
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MAX, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MIN, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MAX, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MIN, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, -1, INT_MIN, INT_MIN, INT_MAX,
+ INT_NEGATE_OVERFLOW (INT_MIN)));
+ VERIFY (CHECK_BINOP (MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
+ LONG_MIN, LONG_MIN, false));
+
+ VERIFY (CHECK_BINOP (DIVIDE, INT_MIN, -1, INT_MIN, INT_MAX,
+ INT_NEGATE_OVERFLOW (INT_MIN)));
+ VERIFY (CHECK_BINOP (DIVIDE, INT_MAX, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (DIVIDE, (unsigned int) INT_MIN,
+ -1u, 0u, UINT_MAX, false));
+
+ VERIFY (CHECK_BINOP (REMAINDER, INT_MIN, -1, INT_MIN, INT_MAX,
+ INT_NEGATE_OVERFLOW (INT_MIN)));
+ VERIFY (CHECK_BINOP (REMAINDER, INT_MAX, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (REMAINDER, (unsigned int) INT_MIN,
+ -1u, 0u, UINT_MAX, false));
+
+ VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX, 1, 0u, UINT_MAX, true));
+ VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2 + 1, 1, 0u, UINT_MAX, true));
+ VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2, 1, 0u, UINT_MAX, false));
+
+ /* INT_<op>_OVERFLOW with mixed types. */
+ #define CHECK_SUM(a, b, overflow) \
+ VERIFY (INT_ADD_OVERFLOW (a, b) == (overflow)); \
+ VERIFY (INT_ADD_OVERFLOW (b, a) == (overflow))
+ CHECK_SUM (-1, LONG_MIN, true);
+ CHECK_SUM (-1, UINT_MAX, false);
+ CHECK_SUM (-1L, INT_MIN, INT_MIN == LONG_MIN);
+ CHECK_SUM (0u, -1, true);
+ CHECK_SUM (0u, 0, false);
+ CHECK_SUM (0u, 1, false);
+ CHECK_SUM (1, LONG_MAX, true);
+ CHECK_SUM (1, UINT_MAX, true);
+ CHECK_SUM (1L, INT_MAX, INT_MAX == LONG_MAX);
+ CHECK_SUM (1u, INT_MAX, INT_MAX == UINT_MAX);
+ CHECK_SUM (1u, INT_MIN, true);
+
+ VERIFY (! INT_SUBTRACT_OVERFLOW (INT_MAX, 1u));
+ VERIFY (! INT_SUBTRACT_OVERFLOW (UINT_MAX, 1));
+ VERIFY (! INT_SUBTRACT_OVERFLOW (0u, -1));
+ VERIFY (INT_SUBTRACT_OVERFLOW (UINT_MAX, -1));
+ VERIFY (INT_SUBTRACT_OVERFLOW (INT_MIN, 1u));
+ VERIFY (INT_SUBTRACT_OVERFLOW (-1, 0u));
+
+ #define CHECK_PRODUCT(a, b, overflow) \
+ VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (overflow)); \
+ VERIFY (INT_MULTIPLY_OVERFLOW (b, a) == (overflow))
+
+ CHECK_PRODUCT (-1, 1u, true);
+ CHECK_PRODUCT (-1, INT_MIN, INT_NEGATE_OVERFLOW (INT_MIN));
+ CHECK_PRODUCT (-1, UINT_MAX, true);
+ CHECK_PRODUCT (-12345, LONG_MAX / -12345 - 1, true);
+ CHECK_PRODUCT (-12345, LONG_MAX / -12345, false);
+ CHECK_PRODUCT (0, -1, false);
+ CHECK_PRODUCT (0, 0, false);
+ CHECK_PRODUCT (0, 0u, false);
+ CHECK_PRODUCT (0, 1, false);
+ CHECK_PRODUCT (0, INT_MAX, false);
+ CHECK_PRODUCT (0, INT_MIN, false);
+ CHECK_PRODUCT (0, UINT_MAX, false);
+ CHECK_PRODUCT (0u, -1, false);
+ CHECK_PRODUCT (0u, 0, false);
+ CHECK_PRODUCT (0u, 0u, false);
+ CHECK_PRODUCT (0u, 1, false);
+ CHECK_PRODUCT (0u, INT_MAX, false);
+ CHECK_PRODUCT (0u, INT_MIN, false);
+ CHECK_PRODUCT (0u, UINT_MAX, false);
+ CHECK_PRODUCT (1, INT_MAX, false);
+ CHECK_PRODUCT (1, INT_MIN, false);
+ CHECK_PRODUCT (1, UINT_MAX, false);
+ CHECK_PRODUCT (1u, INT_MIN, true);
+ CHECK_PRODUCT (1u, INT_MAX, UINT_MAX < INT_MAX);
+ CHECK_PRODUCT (INT_MAX, UINT_MAX, true);
+ CHECK_PRODUCT (INT_MAX, ULONG_MAX, true);
+ CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, true);
+ CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN, false);
+ CHECK_PRODUCT (INT_MIN, UINT_MAX, true);
+ CHECK_PRODUCT (INT_MIN, ULONG_MAX, true);
+
+ VERIFY (INT_DIVIDE_OVERFLOW (INT_MIN, -1L)
+ == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
+ VERIFY (! INT_DIVIDE_OVERFLOW (INT_MIN, UINT_MAX));
+ VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINTMAX_MAX));
+ VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINT_MAX));
+ VERIFY (INT_DIVIDE_OVERFLOW (-11, 10u));
+ VERIFY (INT_DIVIDE_OVERFLOW (-10, 10u));
+ VERIFY (! INT_DIVIDE_OVERFLOW (-9, 10u));
+ VERIFY (INT_DIVIDE_OVERFLOW (11u, -10));
+ VERIFY (INT_DIVIDE_OVERFLOW (10u, -10));
+ VERIFY (! INT_DIVIDE_OVERFLOW (9u, -10));
+
+ VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, -1L)
+ == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
+ VERIFY (INT_REMAINDER_OVERFLOW (-1, UINT_MAX));
+ VERIFY (INT_REMAINDER_OVERFLOW ((intmax_t) -1, UINTMAX_MAX));
+ VERIFY (INT_REMAINDER_OVERFLOW (INTMAX_MIN, UINT_MAX)
+ == (INTMAX_MAX < UINT_MAX
+ && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
+ VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, ULONG_MAX)
+ == (INT_MIN % ULONG_MAX != 1));
+ VERIFY (! INT_REMAINDER_OVERFLOW (1u, -1));
+ VERIFY (! INT_REMAINDER_OVERFLOW (37*39u, -39));
+ VERIFY (INT_REMAINDER_OVERFLOW (37*39u + 1, -39));
+ VERIFY (INT_REMAINDER_OVERFLOW (37*39u - 1, -39));
+ VERIFY (! INT_REMAINDER_OVERFLOW (LONG_MAX, -INT_MAX));
+
+ return 0;
+}
diff --git a/tests/test-inttypes.c b/tests/test-inttypes.c
new file mode 100644
index 0000000..db1a97e
--- /dev/null
+++ b/tests/test-inttypes.c
@@ -0,0 +1,118 @@
+/* Test of <inttypes.h> substitute.
+ Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <inttypes.h>
+
+#include <stddef.h>
+
+/* Tests for macros supposed to be defined in inttypes.h. */
+
+const char *k = /* implicit string concatenation */
+#ifdef INT8_MAX
+ PRId8 PRIi8
+#endif
+#ifdef UINT8_MAX
+ PRIo8 PRIu8 PRIx8 PRIX8
+#endif
+#ifdef INT16_MAX
+ PRId16 PRIi16
+#endif
+#ifdef UINT16_MAX
+ PRIo16 PRIu16 PRIx16 PRIX16
+#endif
+#ifdef INT32_MAX
+ PRId32 PRIi32
+#endif
+#ifdef UINT32_MAX
+ PRIo32 PRIu32 PRIx32 PRIX32
+#endif
+#ifdef INT64_MAX
+ PRId64 PRIi64
+#endif
+#ifdef UINT64_MAX
+ PRIo64 PRIu64 PRIx64 PRIX64
+#endif
+ PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8
+ PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16
+ PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32
+ PRIdLEAST64 PRIiLEAST64
+ PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64
+ PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8
+ PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16
+ PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32
+ PRIdFAST64 PRIiFAST64
+ PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64
+ PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX
+#ifdef INTPTR_MAX
+ PRIdPTR PRIiPTR
+#endif
+#ifdef UINTPTR_MAX
+ PRIoPTR PRIuPTR PRIxPTR PRIXPTR
+#endif
+ ;
+const char *l = /* implicit string concatenation */
+#ifdef INT8_MAX
+ SCNd8 SCNi8
+#endif
+#ifdef UINT8_MAX
+ SCNo8 SCNu8 SCNx8
+#endif
+#ifdef INT16_MAX
+ SCNd16 SCNi16
+#endif
+#ifdef UINT16_MAX
+ SCNo16 SCNu16 SCNx16
+#endif
+#ifdef INT32_MAX
+ SCNd32 SCNi32
+#endif
+#ifdef UINT32_MAX
+ SCNo32 SCNu32 SCNx32
+#endif
+#ifdef INT64_MAX
+ SCNd64 SCNi64
+#endif
+#ifdef UINT64_MAX
+ SCNo64 SCNu64 SCNx64
+#endif
+ SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8
+ SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16
+ SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32
+ SCNdLEAST64 SCNiLEAST64
+ SCNoLEAST64 SCNuLEAST64 SCNxLEAST64
+ SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8
+ SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16
+ SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32
+ SCNdFAST64 SCNiFAST64
+ SCNoFAST64 SCNuFAST64 SCNxFAST64
+ SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX
+#ifdef INTPTR_MAX
+ SCNdPTR SCNiPTR
+#endif
+#ifdef UINTPTR_MAX
+ SCNoPTR SCNuPTR SCNxPTR
+#endif
+ ;
+
+int
+main (void)
+{
+ return 0;
+}
diff --git a/tests/test-isnand-nolibm.c b/tests/test-isnand-nolibm.c
index d120459..2d57d07 100644
--- a/tests/test-isnand-nolibm.c
+++ b/tests/test-isnand-nolibm.c
@@ -1,5 +1,5 @@
/* Test of isnand() substitute.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,4 +19,3 @@
#include "isnand-nolibm.h"
#include "test-isnand.h"
-
diff --git a/tests/test-isnand.h b/tests/test-isnand.h
index de69331..7ea72e9 100644
--- a/tests/test-isnand.h
+++ b/tests/test-isnand.h
@@ -1,5 +1,5 @@
/* Test of isnand() substitute.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,6 +19,7 @@
#include <limits.h>
#include "minus-zero.h"
+#include "infinity.h"
#include "nan.h"
#include "macros.h"
@@ -35,8 +36,8 @@ main ()
ASSERT (!isnand (0.0));
ASSERT (!isnand (minus_zerod));
/* Infinite values. */
- ASSERT (!isnand (1.0 / 0.0));
- ASSERT (!isnand (-1.0 / 0.0));
+ ASSERT (!isnand (Infinityd ()));
+ ASSERT (!isnand (- Infinityd ()));
/* Quiet NaN. */
ASSERT (isnand (NaNd ()));
#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
diff --git a/tests/test-isnanf-nolibm.c b/tests/test-isnanf-nolibm.c
index 6d720be..924dccb 100644
--- a/tests/test-isnanf-nolibm.c
+++ b/tests/test-isnanf-nolibm.c
@@ -1,5 +1,5 @@
/* Test of isnanf() substitute.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-isnanf.h b/tests/test-isnanf.h
index f4b0e86..60499b5 100644
--- a/tests/test-isnanf.h
+++ b/tests/test-isnanf.h
@@ -1,5 +1,5 @@
/* Test of isnanf() substitute.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,6 +19,7 @@
#include <limits.h>
#include "minus-zero.h"
+#include "infinity.h"
#include "nan.h"
#include "macros.h"
@@ -35,8 +36,8 @@ main ()
ASSERT (!isnanf (0.0f));
ASSERT (!isnanf (minus_zerof));
/* Infinite values. */
- ASSERT (!isnanf (1.0f / 0.0f));
- ASSERT (!isnanf (-1.0f / 0.0f));
+ ASSERT (!isnanf (Infinityf ()));
+ ASSERT (!isnanf (- Infinityf ()));
/* Quiet NaN. */
ASSERT (isnanf (NaNf ()));
#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
diff --git a/tests/test-isnanl-nolibm.c b/tests/test-isnanl-nolibm.c
index 5322087..8f44de2 100644
--- a/tests/test-isnanl-nolibm.c
+++ b/tests/test-isnanl-nolibm.c
@@ -1,5 +1,5 @@
/* Test of isnanl() substitute.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-isnanl.h b/tests/test-isnanl.h
index c07f3a9..06e6a7c 100644
--- a/tests/test-isnanl.h
+++ b/tests/test-isnanl.h
@@ -1,5 +1,5 @@
/* Test of isnanl() substitute.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,6 +20,7 @@
#include <limits.h>
#include "minus-zero.h"
+#include "infinity.h"
#include "nan.h"
#include "macros.h"
@@ -41,8 +42,8 @@ main ()
ASSERT (!isnanl (0.0L));
ASSERT (!isnanl (minus_zerol));
/* Infinite values. */
- ASSERT (!isnanl (1.0L / 0.0L));
- ASSERT (!isnanl (-1.0L / 0.0L));
+ ASSERT (!isnanl (Infinityl ()));
+ ASSERT (!isnanl (- Infinityl ()));
/* Quiet NaN. */
ASSERT (isnanl (NaNl ()));
@@ -64,7 +65,7 @@ main ()
}
#endif
-#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_))
+#if ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
/* Representation of an 80-bit 'long double' as an initializer for a sequence
of 'unsigned int' words. */
# ifdef WORDS_BIGENDIAN
diff --git a/tests/test-langinfo-c++.cc b/tests/test-langinfo-c++.cc
index 8d0af71..acd1823 100644
--- a/tests/test-langinfo-c++.cc
+++ b/tests/test-langinfo-c++.cc
@@ -1,5 +1,5 @@
/* Test of <langinfo.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-langinfo.c b/tests/test-langinfo.c
index ade807c..44e931e 100644
--- a/tests/test-langinfo.c
+++ b/tests/test-langinfo.c
@@ -1,5 +1,5 @@
/* Test of <langinfo.h> substitute.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-link.c b/tests/test-link.c
index cbb4e0b..934dddb 100644
--- a/tests/test-link.c
+++ b/tests/test-link.c
@@ -1,5 +1,5 @@
/* Test of link() function.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-link.h b/tests/test-link.h
index 5898285..d546d56 100644
--- a/tests/test-link.h
+++ b/tests/test-link.h
@@ -1,5 +1,5 @@
/* Test of link() function.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -115,10 +115,10 @@ test_link (int (*func) (char const *, char const *), bool print)
ASSERT (errno == ENOENT);
errno = 0;
ASSERT (func (BASE "a/", BASE "c") == -1);
- ASSERT (errno == ENOTDIR);
+ ASSERT (errno == ENOTDIR || errno == EINVAL);
errno = 0;
ASSERT (func (BASE "a", BASE "c/") == -1);
- ASSERT (errno == ENOTDIR || errno == ENOENT);
+ ASSERT (errno == ENOTDIR || errno == ENOENT || errno == EINVAL);
/* Most platforms reject hard links to directories, and even on
those that do permit it, most users can't create them. We assume
@@ -136,13 +136,15 @@ test_link (int (*func) (char const *, char const *), bool print)
else
{
/* Most everyone else. */
- ASSERT (errno == EPERM || errno == EACCES);
+ ASSERT (errno == EPERM || errno == EACCES || errno == EISDIR);
errno = 0;
ASSERT (func (BASE "d/.", BASE "c") == -1);
- ASSERT (errno == EPERM || errno == EACCES || errno == EINVAL);
+ ASSERT (errno == EPERM || errno == EACCES || errno == EISDIR
+ || errno == EINVAL);
errno = 0;
ASSERT (func (BASE "d/.//", BASE "c") == -1);
- ASSERT (errno == EPERM || errno == EACCES || errno == EINVAL);
+ ASSERT (errno == EPERM || errno == EACCES || errno == EISDIR
+ || errno == EINVAL);
}
}
ASSERT (unlink (BASE "a") == 0);
@@ -162,11 +164,15 @@ test_link (int (*func) (char const *, char const *), bool print)
}
errno = 0;
ASSERT (func (BASE "b", BASE "link/") == -1);
- ASSERT (errno == ENOTDIR || errno == ENOENT || errno == EEXIST);
+ ASSERT (errno == ENOTDIR || errno == ENOENT || errno == EEXIST
+ || errno == EINVAL);
+ errno = 0;
+ ASSERT (func (BASE "b", BASE "link") == -1);
+ ASSERT (errno == EEXIST);
ASSERT (rename (BASE "b", BASE "a") == 0);
errno = 0;
ASSERT (func (BASE "link/", BASE "b") == -1);
- ASSERT (errno == ENOTDIR || errno == EEXIST);
+ ASSERT (errno == ENOTDIR || errno == EEXIST || errno == EINVAL);
/* Clean up. */
ASSERT (unlink (BASE "a") == 0);
diff --git a/tests/test-linkedhash_list.c b/tests/test-linkedhash_list.c
index b462ca6..81fde4b 100644
--- a/tests/test-linkedhash_list.c
+++ b/tests/test-linkedhash_list.c
@@ -1,5 +1,5 @@
/* Test of sequential list data type implementation.
- Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2006.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-locale-c++.cc b/tests/test-locale-c++.cc
index 06b9a32..7d9c995 100644
--- a/tests/test-locale-c++.cc
+++ b/tests/test-locale-c++.cc
@@ -1,5 +1,5 @@
/* Test of <locale.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-locale-c++2.cc b/tests/test-locale-c++2.cc
index cdc31e8..8f254cb 100644
--- a/tests/test-locale-c++2.cc
+++ b/tests/test-locale-c++2.cc
@@ -1,5 +1,5 @@
/* Test of <locale.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-locale.c b/tests/test-locale.c
index 9b55e37..3fb7b85 100644
--- a/tests/test-locale.c
+++ b/tests/test-locale.c
@@ -1,5 +1,5 @@
/* Test of <locale.h> substitute.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -38,6 +38,10 @@ int a[] =
locale_t b = LC_GLOBAL_LOCALE;
#endif
+/* Check that the 'struct lconv' type is defined. */
+struct lconv l;
+int ls;
+
/* Check that NULL can be passed through varargs as a pointer type,
per POSIX 2008. */
verify (sizeof NULL == sizeof (void *));
@@ -45,5 +49,31 @@ verify (sizeof NULL == sizeof (void *));
int
main ()
{
+ /* Check that 'struct lconv' has the ISO C and POSIX specified members. */
+ ls += sizeof (*l.decimal_point);
+ ls += sizeof (*l.thousands_sep);
+ ls += sizeof (*l.grouping);
+ ls += sizeof (*l.mon_decimal_point);
+ ls += sizeof (*l.mon_thousands_sep);
+ ls += sizeof (*l.mon_grouping);
+ ls += sizeof (*l.positive_sign);
+ ls += sizeof (*l.negative_sign);
+ ls += sizeof (*l.currency_symbol);
+ ls += sizeof (l.frac_digits);
+ ls += sizeof (l.p_cs_precedes);
+ ls += sizeof (l.p_sign_posn);
+ ls += sizeof (l.p_sep_by_space);
+ ls += sizeof (l.n_cs_precedes);
+ ls += sizeof (l.n_sign_posn);
+ ls += sizeof (l.n_sep_by_space);
+ ls += sizeof (*l.int_curr_symbol);
+ ls += sizeof (l.int_frac_digits);
+ ls += sizeof (l.int_p_cs_precedes);
+ ls += sizeof (l.int_p_sign_posn);
+ ls += sizeof (l.int_p_sep_by_space);
+ ls += sizeof (l.int_n_cs_precedes);
+ ls += sizeof (l.int_n_sign_posn);
+ ls += sizeof (l.int_n_sep_by_space);
+
return 0;
}
diff --git a/tests/test-localeconv.c b/tests/test-localeconv.c
new file mode 100644
index 0000000..da3344f
--- /dev/null
+++ b/tests/test-localeconv.c
@@ -0,0 +1,72 @@
+/* Test of localeconv() function.
+ Copyright (C) 2012-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2012. */
+
+#include <config.h>
+
+#include <locale.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (localeconv, struct lconv *, (void));
+
+#include <limits.h>
+#include <string.h>
+
+#include "macros.h"
+
+int
+main ()
+{
+ /* Test localeconv() result in the "C" locale. */
+ {
+ struct lconv *l = localeconv ();
+
+ ASSERT (STREQ (l->decimal_point, "."));
+ ASSERT (STREQ (l->thousands_sep, ""));
+#if !(defined __FreeBSD__ || defined __sun)
+ ASSERT (STREQ (l->grouping, ""));
+#endif
+
+ ASSERT (STREQ (l->mon_decimal_point, ""));
+ ASSERT (STREQ (l->mon_thousands_sep, ""));
+#if !(defined __FreeBSD__ || defined __sun)
+ ASSERT (STREQ (l->mon_grouping, ""));
+#endif
+ ASSERT (STREQ (l->positive_sign, ""));
+ ASSERT (STREQ (l->negative_sign, ""));
+
+ ASSERT (STREQ (l->currency_symbol, ""));
+ ASSERT (l->frac_digits == CHAR_MAX);
+ ASSERT (l->p_cs_precedes == CHAR_MAX);
+ ASSERT (l->p_sign_posn == CHAR_MAX);
+ ASSERT (l->p_sep_by_space == CHAR_MAX);
+ ASSERT (l->n_cs_precedes == CHAR_MAX);
+ ASSERT (l->n_sign_posn == CHAR_MAX);
+ ASSERT (l->n_sep_by_space == CHAR_MAX);
+
+ ASSERT (STREQ (l->int_curr_symbol, ""));
+ ASSERT (l->int_frac_digits == CHAR_MAX);
+ ASSERT (l->int_p_cs_precedes == CHAR_MAX);
+ ASSERT (l->int_p_sign_posn == CHAR_MAX);
+ ASSERT (l->int_p_sep_by_space == CHAR_MAX);
+ ASSERT (l->int_n_cs_precedes == CHAR_MAX);
+ ASSERT (l->int_n_sign_posn == CHAR_MAX);
+ ASSERT (l->int_n_sep_by_space == CHAR_MAX);
+ }
+
+ return 0;
+}
diff --git a/tests/test-localename.c b/tests/test-localename.c
index 09f002c..deb59b1 100644
--- a/tests/test-localename.c
+++ b/tests/test-localename.c
@@ -1,5 +1,5 @@
/* Test of gl_locale_name function and its variants.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -715,7 +715,7 @@ test_locale_name_default (void)
ASSERT (name != NULL);
- /* Only MacOS X and Windows have a facility for the user to set the default
+ /* Only Mac OS X and Windows have a facility for the user to set the default
locale. */
#if !((defined __APPLE__ && defined __MACH__) || (defined _WIN32 || defined __WIN32__ || defined __CYGWIN__))
ASSERT (strcmp (name, "C") == 0);
diff --git a/tests/test-lseek.c b/tests/test-lseek.c
index ce2263c..67d3341 100644
--- a/tests/test-lseek.c
+++ b/tests/test-lseek.c
@@ -1,5 +1,5 @@
/* Test of lseek() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -81,12 +81,25 @@ main (int argc, char **argv)
invoking shell are not enough on HP-UX. */
close (0);
close (1);
+
errno = 0;
ASSERT (lseek (0, (off_t)0, SEEK_CUR) == -1);
ASSERT (errno == EBADF);
+
errno = 0;
ASSERT (lseek (1, (off_t)0, SEEK_CUR) == -1);
ASSERT (errno == EBADF);
+
+ /* Test behaviour for invalid file descriptors. */
+ errno = 0;
+ ASSERT (lseek (-1, (off_t)0, SEEK_CUR) == -1);
+ ASSERT (errno == EBADF);
+
+ close (99);
+ errno = 0;
+ ASSERT (lseek (99, (off_t)0, SEEK_CUR) == -1);
+ ASSERT (errno == EBADF);
+
break;
default:
diff --git a/tests/test-lstat.c b/tests/test-lstat.c
index 372e056..d520193 100644
--- a/tests/test-lstat.c
+++ b/tests/test-lstat.c
@@ -1,5 +1,5 @@
/* Test of lstat() function.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-lstat.h b/tests/test-lstat.h
index 883c4e8..b8f1767 100644
--- a/tests/test-lstat.h
+++ b/tests/test-lstat.h
@@ -1,5 +1,5 @@
/* Test of lstat() function.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-malloc-gnu.c b/tests/test-malloc-gnu.c
index c2a3d6b..ca0eafa 100644
--- a/tests/test-malloc-gnu.c
+++ b/tests/test-malloc-gnu.c
@@ -1,5 +1,5 @@
/* Test of malloc function.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-malloca.c b/tests/test-malloca.c
index 92c86f2..7d5e62e 100644
--- a/tests/test-malloca.c
+++ b/tests/test-malloca.c
@@ -1,5 +1,5 @@
/* Test of safe automatic memory allocation.
- Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -45,7 +45,7 @@ main ()
{
/* Try various values.
n = 0 gave a crash on Alpha with gcc-2.5.8.
- Some versions of MacOS X have a stack size limit of 512 KB. */
+ Some versions of Mac OS X have a stack size limit of 512 KB. */
func (34);
func (134);
func (399);
diff --git a/tests/test-math-c++.cc b/tests/test-math-c++.cc
index 2a3acff..7653d62 100644
--- a/tests/test-math-c++.cc
+++ b/tests/test-math-c++.cc
@@ -1,5 +1,5 @@
/* Test of <math.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,139 +23,381 @@
#include "signature.h"
+/* Signature check for a function that takes a real-floating argument.
+ Check that each overloaded function with the specified signature exists. */
+#define REAL_FLOATING_CHECK(func,\
+ rettype1, parameters1,\
+ rettype2, parameters2,\
+ rettype3, parameters3) \
+ OVERLOADED_CHECK (func, rettype1, parameters1, _1); \
+ OVERLOADED_CHECK (func, rettype2, parameters2, _2); \
+ OVERLOADED_CHECK (func, rettype3, parameters3, _3)
+#define OVERLOADED_CHECK(func, rettype, parameters, suffix) \
+ static rettype (* _GL_UNUSED signature_check_ ## func ## suffix) parameters \
+ = static_cast<rettype(*)parameters>(func)
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::acos, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::asin, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::atan, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::atan2, double, (double, double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::cbrt, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::copysign, double, (double, double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::cos, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::cosh, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::erf, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::erfc, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::exp, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::fabs, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::fmod, double, (double, double));
-#if GNULIB_TEST_FREXP
-SIGNATURE_CHECK (GNULIB_NAMESPACE::frexp, double, (double, int *));
-#endif
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::hypot, double, (double, double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::j0, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::j1, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::jn, double, (int, double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::ldexp, double, (double, int));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::lgamma, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::log10, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::log1p, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::logb, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::log, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::modf, double, (double, double *));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::nextafter, double, (double, double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::pow, double, (double, double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::remainder, double, (double, double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::rint, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::sin, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::sinh, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::sqrt, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::tan, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::tanh, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::y0, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::y1, double, (double));
-//SIGNATURE_CHECK (GNULIB_NAMESPACE::yn, double, (int, double));
+/* Keep these checks in the same order as math.in.h! */
+
+#if GNULIB_TEST_ACOSF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::acosf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::acos, double, (double));
#if GNULIB_TEST_ACOSL
SIGNATURE_CHECK (GNULIB_NAMESPACE::acosl, long double, (long double));
#endif
+#if GNULIB_TEST_ASINF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::asinf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::asin, double, (double));
#if GNULIB_TEST_ASINL
SIGNATURE_CHECK (GNULIB_NAMESPACE::asinl, long double, (long double));
#endif
+#if GNULIB_TEST_ATANF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::atanf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::atan, double, (double));
#if GNULIB_TEST_ATANL
SIGNATURE_CHECK (GNULIB_NAMESPACE::atanl, long double, (long double));
#endif
+#if GNULIB_TEST_ATAN2F
+SIGNATURE_CHECK (GNULIB_NAMESPACE::atan2f, float, (float, float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::atan2, double, (double, double));
+
+#if GNULIB_TEST_CBRTF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::cbrtf, float, (float));
+#endif
+#if GNULIB_TEST_CBRT
+SIGNATURE_CHECK (GNULIB_NAMESPACE::cbrt, double, (double));
+#endif
+#if GNULIB_TEST_CBRTL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::cbrtl, long double, (long double));
+#endif
+
#if GNULIB_TEST_CEILF
SIGNATURE_CHECK (GNULIB_NAMESPACE::ceilf, float, (float));
#endif
-
#if GNULIB_TEST_CEIL
SIGNATURE_CHECK (GNULIB_NAMESPACE::ceil, double, (double));
#endif
-
#if GNULIB_TEST_CEILL
SIGNATURE_CHECK (GNULIB_NAMESPACE::ceill, long double, (long double));
#endif
+#if GNULIB_TEST_COPYSIGNF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::copysignf, float, (float, float));
+#endif
+#if GNULIB_TEST_COPYSIGN
+SIGNATURE_CHECK (GNULIB_NAMESPACE::copysign, double, (double, double));
+#endif
+#if GNULIB_TEST_COPYSIGNL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::copysignl, long double,
+ (long double, long double));
+#endif
+
+#if GNULIB_TEST_COSF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::cosf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::cos, double, (double));
#if GNULIB_TEST_COSL
SIGNATURE_CHECK (GNULIB_NAMESPACE::cosl, long double, (long double));
#endif
+#if GNULIB_TEST_COSHF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::coshf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::cosh, double, (double));
+
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::erf, double, (double));
+
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::erfc, double, (double));
+
+#if GNULIB_TEST_EXPF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::expf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::exp, double, (double));
#if GNULIB_TEST_EXPL
SIGNATURE_CHECK (GNULIB_NAMESPACE::expl, long double, (long double));
#endif
+#if GNULIB_TEST_EXP2F
+SIGNATURE_CHECK (GNULIB_NAMESPACE::exp2f, float, (float));
+#endif
+#if GNULIB_TEST_EXP2
+SIGNATURE_CHECK (GNULIB_NAMESPACE::exp2, double, (double));
+#endif
+#if GNULIB_TEST_EXP2L
+SIGNATURE_CHECK (GNULIB_NAMESPACE::exp2l, long double, (long double));
+#endif
+
+#if GNULIB_TEST_EXPM1F
+SIGNATURE_CHECK (GNULIB_NAMESPACE::expm1f, float, (float));
+#endif
+#if GNULIB_TEST_EXPM1
+SIGNATURE_CHECK (GNULIB_NAMESPACE::expm1, double, (double));
+#endif
+#if GNULIB_TEST_EXPM1L
+SIGNATURE_CHECK (GNULIB_NAMESPACE::expm1l, long double, (long double));
+#endif
+
+#if GNULIB_TEST_FABSF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fabsf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::fabs, double, (double));
+#if GNULIB_TEST_FABSL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fabsl, long double, (long double));
+#endif
+
#if GNULIB_TEST_FLOORF
SIGNATURE_CHECK (GNULIB_NAMESPACE::floorf, float, (float));
#endif
-
#if GNULIB_TEST_FLOOR
SIGNATURE_CHECK (GNULIB_NAMESPACE::floor, double, (double));
#endif
-
#if GNULIB_TEST_FLOORL
SIGNATURE_CHECK (GNULIB_NAMESPACE::floorl, long double, (long double));
#endif
+#if GNULIB_TEST_FMODF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fmodf, float, (float, float));
+#endif
+#if GNULIB_TEST_FMOD
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fmod, double, (double, double));
+#endif
+#if GNULIB_TEST_FMODL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fmodl, long double,
+ (long double, long double));
+#endif
+
+#if GNULIB_TEST_FREXPF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::frexpf, float, (float, int *));
+#endif
+#if GNULIB_TEST_FREXP
+SIGNATURE_CHECK (GNULIB_NAMESPACE::frexp, double, (double, int *));
+#endif
#if GNULIB_TEST_FREXPL
SIGNATURE_CHECK (GNULIB_NAMESPACE::frexpl, long double, (long double, int *));
#endif
+#if GNULIB_TEST_HYPOTF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::hypotf, float, (float, float));
+#endif
+#if GNULIB_TEST_HYPOT
+SIGNATURE_CHECK (GNULIB_NAMESPACE::hypot, double, (double, double));
+#endif
+#if GNULIB_TEST_HYPOTL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::hypotl, long double,
+ (long double, long double));
+#endif
+
+#if GNULIB_TEST_ILOGBF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::ilogbf, int, (float));
+#endif
+#if GNULIB_TEST_ILOGB
+SIGNATURE_CHECK (GNULIB_NAMESPACE::ilogb, int, (double));
+#endif
+#if GNULIB_TEST_ILOGBL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::ilogbl, int, (long double));
+#endif
+
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::j0, double, (double));
+
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::j1, double, (double));
+
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::jn, double, (int, double));
+
+#if GNULIB_TEST_LDEXPF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::ldexpf, float, (float, int));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::ldexp, double, (double, int));
#if GNULIB_TEST_LDEXPL
SIGNATURE_CHECK (GNULIB_NAMESPACE::ldexpl, long double, (long double, int));
#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::lgamma, double, (double));
+
+#if GNULIB_TEST_LOG10
+SIGNATURE_CHECK (GNULIB_NAMESPACE::log10, double, (double));
+#endif
+#if GNULIB_TEST_LOG10L
+SIGNATURE_CHECK (GNULIB_NAMESPACE::log10l, long double, (long double));
+#endif
+
+#if GNULIB_TEST_LOG1PF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::log1pf, float, (float));
+#endif
+#if GNULIB_TEST_LOG1P
+SIGNATURE_CHECK (GNULIB_NAMESPACE::log1p, double, (double));
+#endif
+#if GNULIB_TEST_LOG1PL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::log1pl, long double, (long double));
+#endif
+
+#if GNULIB_TEST_LOGF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::logf, float, (float));
+#endif
+#if GNULIB_TEST_LOG
+SIGNATURE_CHECK (GNULIB_NAMESPACE::log, double, (double));
+#endif
#if GNULIB_TEST_LOGL
SIGNATURE_CHECK (GNULIB_NAMESPACE::logl, long double, (long double));
#endif
+#if GNULIB_TEST_LOG10F
+SIGNATURE_CHECK (GNULIB_NAMESPACE::log10f, float, (float));
+#endif
+
+#if GNULIB_TEST_LOG2F
+SIGNATURE_CHECK (GNULIB_NAMESPACE::log2f, float, (float));
+#endif
+#if GNULIB_TEST_LOG2
+SIGNATURE_CHECK (GNULIB_NAMESPACE::log2, double, (double));
+#endif
+#if GNULIB_TEST_LOG2L
+SIGNATURE_CHECK (GNULIB_NAMESPACE::log2l, long double, (long double));
+#endif
+
+#if GNULIB_TEST_LOGBF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::logbf, float, (float));
+#endif
+#if GNULIB_TEST_LOGB
+SIGNATURE_CHECK (GNULIB_NAMESPACE::logb, double, (double));
+#endif
+#if GNULIB_TEST_LOGBL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::logbl, long double, (long double));
+#endif
+
+#if GNULIB_TEST_MODFF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::modff, float, (float, float *));
+#endif
+#if GNULIB_TEST_MODF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::modf, double, (double, double *));
+#endif
+#if GNULIB_TEST_MODFL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::modfl, long double,
+ (long double, long double *));
+#endif
+
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::nextafter, double, (double, double));
+
+#if GNULIB_TEST_POWF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::powf, float, (float, float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::pow, double, (double, double));
+
+#if GNULIB_TEST_REMAINDERF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::remainderf, float, (float, float));
+#endif
+#if GNULIB_TEST_REMAINDER
+SIGNATURE_CHECK (GNULIB_NAMESPACE::remainder, double, (double, double));
+#endif
+#if GNULIB_TEST_REMAINDERL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::remainderl, long double,
+ (long double, long double));
+#endif
+
+#if GNULIB_TEST_RINTF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::rintf, float, (float));
+#endif
+#if GNULIB_TEST_RINT
+SIGNATURE_CHECK (GNULIB_NAMESPACE::rint, double, (double));
+#endif
+#if GNULIB_TEST_RINTL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::rintl, long double, (long double));
+#endif
+
#if GNULIB_TEST_ROUNDF
SIGNATURE_CHECK (GNULIB_NAMESPACE::roundf, float, (float));
#endif
-
#if GNULIB_TEST_ROUND
SIGNATURE_CHECK (GNULIB_NAMESPACE::round, double, (double));
#endif
-
#if GNULIB_TEST_ROUNDL
SIGNATURE_CHECK (GNULIB_NAMESPACE::roundl, long double, (long double));
#endif
+#if GNULIB_TEST_SINF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::sinf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::sin, double, (double));
#if GNULIB_TEST_SINL
SIGNATURE_CHECK (GNULIB_NAMESPACE::sinl, long double, (long double));
#endif
+#if GNULIB_TEST_SINHF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::sinhf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::sinh, double, (double));
+
+#if GNULIB_TEST_SQRTF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::sqrtf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::sqrt, double, (double));
#if GNULIB_TEST_SQRTL
SIGNATURE_CHECK (GNULIB_NAMESPACE::sqrtl, long double, (long double));
#endif
+#if GNULIB_TEST_TANF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::tanf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::tan, double, (double));
#if GNULIB_TEST_TANL
SIGNATURE_CHECK (GNULIB_NAMESPACE::tanl, long double, (long double));
#endif
+#if GNULIB_TEST_TANHF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::tanhf, float, (float));
+#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::tanh, double, (double));
+
#if GNULIB_TEST_TRUNCF
SIGNATURE_CHECK (GNULIB_NAMESPACE::truncf, float, (float));
#endif
-
#if GNULIB_TEST_TRUNC
SIGNATURE_CHECK (GNULIB_NAMESPACE::trunc, double, (double));
#endif
-
#if GNULIB_TEST_TRUNCL
SIGNATURE_CHECK (GNULIB_NAMESPACE::truncl, long double, (long double));
#endif
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::y0, double, (double));
+
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::y1, double, (double));
+
+//SIGNATURE_CHECK (GNULIB_NAMESPACE::yn, double, (int, double));
+
+#if GNULIB_TEST_ISFINITE
+# ifdef isfinite
+# error "isfinite should not be a macro in C++"
+# endif
+REAL_FLOATING_CHECK (isfinite, int, (float), int, (double), int, (long double));
+#endif
+
+#if GNULIB_TEST_ISINF
+# ifdef isinf
+# error "isinf should not be a macro in C++"
+# endif
+REAL_FLOATING_CHECK (isinf, int, (float), int, (double), int, (long double));
+#endif
+
+#if GNULIB_TEST_ISNAN
+# ifdef isnan
+# error "isnan should not be a macro in C++"
+# endif
+REAL_FLOATING_CHECK (isnan, int, (float), int, (double), int, (long double));
+#endif
+
+#if GNULIB_TEST_SIGNBIT
+# ifdef signbit
+# error "signbit should not be a macro in C++"
+# endif
+REAL_FLOATING_CHECK (signbit, int, (float), int, (double), int, (long double));
+#endif
+
int
main ()
diff --git a/tests/test-math-c++2.cc b/tests/test-math-c++2.cc
index 1ab022f..0bf4fdb 100644
--- a/tests/test-math-c++2.cc
+++ b/tests/test-math-c++2.cc
@@ -1,5 +1,5 @@
/* Test of <math.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-math.c b/tests/test-math.c
index 8565925..f7d944c 100644
--- a/tests/test-math.c
+++ b/tests/test-math.c
@@ -1,5 +1,5 @@
/* Test of <math.h> substitute.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,6 +25,35 @@
choke me
#endif
+#ifndef HUGE_VALF
+# error HUGE_VALF should be defined
+choke me
+#endif
+
+#ifndef HUGE_VAL
+# error HUGE_VAL should be defined
+choke me
+#endif
+
+#ifndef HUGE_VALL
+# error HUGE_VALL should be defined
+choke me
+#endif
+
+#ifndef FP_ILOGB0
+# error FP_ILOGB0 should be defined
+choke me
+#endif
+
+#ifndef FP_ILOGBNAN
+# error FP_ILOGBNAN should be defined
+choke me
+#endif
+
+#include <limits.h>
+
+#include "macros.h"
+
#if 0
/* Check that NAN expands into a constant expression. */
static float n = NAN;
@@ -34,7 +63,17 @@ static float n = NAN;
This is a separate function because IRIX 6.5 "cc -O" miscompiles an
'x == x' test. */
static int
-numeric_equal (double x, double y)
+numeric_equalf (float x, float y)
+{
+ return x == y;
+}
+static int
+numeric_equald (double x, double y)
+{
+ return x == y;
+}
+static int
+numeric_equall (long double x, long double y)
{
return x == y;
}
@@ -44,10 +83,22 @@ main (void)
{
double d = NAN;
double zero = 0.0;
- if (numeric_equal (d, d))
- return 1;
+ ASSERT (!numeric_equald (d, d));
+
d = HUGE_VAL;
- if (!numeric_equal (d, 1.0 / zero))
- return 1;
+ ASSERT (numeric_equald (d, 1.0 / zero));
+
+ ASSERT (numeric_equalf (HUGE_VALF, HUGE_VALF + HUGE_VALF));
+
+ ASSERT (numeric_equald (HUGE_VAL, HUGE_VAL + HUGE_VAL));
+
+ ASSERT (numeric_equall (HUGE_VALL, HUGE_VALL + HUGE_VALL));
+
+ /* Check the value of FP_ILOGB0. */
+ ASSERT (FP_ILOGB0 == INT_MIN || FP_ILOGB0 == - INT_MAX);
+
+ /* Check the value of FP_ILOGBNAN. */
+ ASSERT (FP_ILOGBNAN == INT_MIN || FP_ILOGBNAN == INT_MAX);
+
return 0;
}
diff --git a/tests/test-mbrtowc-w32.c b/tests/test-mbrtowc-w32.c
index ee8caf9..2125bdf 100644
--- a/tests/test-mbrtowc-w32.c
+++ b/tests/test-mbrtowc-w32.c
@@ -1,5 +1,5 @@
/* Test of conversion of multibyte character to wide character.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-mbrtowc.c b/tests/test-mbrtowc.c
index 727016a..4d2d5cb 100644
--- a/tests/test-mbrtowc.c
+++ b/tests/test-mbrtowc.c
@@ -1,5 +1,5 @@
/* Test of conversion of multibyte character to wide character.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-mbsinit.c b/tests/test-mbsinit.c
index 2cc2924..931f059 100644
--- a/tests/test-mbsinit.c
+++ b/tests/test-mbsinit.c
@@ -1,5 +1,5 @@
/* Test of test for initial conversion state.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-memchr.c b/tests/test-memchr.c
index a11f6cd..0ca4589 100644
--- a/tests/test-memchr.c
+++ b/tests/test-memchr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2013 Free Software Foundation, Inc.
* Written by Eric Blake and Bruno Haible
*
* This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-memchr2.c b/tests/test-memchr2.c
index c94352f..d0f8125 100644
--- a/tests/test-memchr2.c
+++ b/tests/test-memchr2.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2013 Free Software Foundation, Inc.
* Written by Eric Blake
*
* This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-nl_langinfo.c b/tests/test-nl_langinfo.c
index 964ea8d..d31e54f 100644
--- a/tests/test-nl_langinfo.c
+++ b/tests/test-nl_langinfo.c
@@ -1,5 +1,5 @@
/* Test of nl_langinfo replacement.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-open.c b/tests/test-open.c
index 3c5b2ab..f04144f 100644
--- a/tests/test-open.c
+++ b/tests/test-open.c
@@ -1,5 +1,5 @@
/* Test of opening a file descriptor.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-open.h b/tests/test-open.h
index 3e5c5e1..babb239 100644
--- a/tests/test-open.h
+++ b/tests/test-open.h
@@ -1,5 +1,5 @@
/* Test of opening a file descriptor.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -63,6 +63,12 @@ test_open (int (*func) (char const *, int, ...), bool print)
ASSERT (write (fd, "c", 1) == 1);
ASSERT (close (fd) == 0);
+ /* Although O_NONBLOCK on regular files can be ignored, it must not
+ cause a failure. */
+ fd = func (BASE "file", O_NONBLOCK | O_RDONLY);
+ ASSERT (0 <= fd);
+ ASSERT (close (fd) == 0);
+
/* Symlink handling, where supported. */
if (symlink (BASE "file", BASE "link") != 0)
{
diff --git a/tests/test-pathmax.c b/tests/test-pathmax.c
new file mode 100644
index 0000000..81a0350
--- /dev/null
+++ b/tests/test-pathmax.c
@@ -0,0 +1,32 @@
+/* Test of "pathmax.h".
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011. */
+
+#include <config.h>
+
+#include "pathmax.h"
+
+/* Check that PATH_MAX is a constant if it is defined. */
+#ifdef PATH_MAX
+int a = PATH_MAX;
+#endif
+
+int
+main (void)
+{
+ return 0;
+}
diff --git a/tests/test-pipe2.c b/tests/test-pipe2.c
index ddfb819..fd164c6 100644
--- a/tests/test-pipe2.c
+++ b/tests/test-pipe2.c
@@ -1,5 +1,5 @@
/* Test of pipe2.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -12,8 +12,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
@@ -26,20 +25,25 @@ SIGNATURE_CHECK (pipe2, int, (int[2], int));
#include <stdbool.h>
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions. */
+/* Get declarations of the native Windows API functions. */
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
+/* Get _get_osfhandle. */
+# include "msvc-nothrow.h"
#endif
#include "binary-io.h"
#include "macros.h"
+#if GNULIB_NONBLOCKING
+# include "nonblocking.h"
+#endif
/* Return true if FD is open. */
static bool
is_open (int fd)
{
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* On Win32, the initial state of unassigned standard file
+ /* On native Windows, the initial state of unassigned standard file
descriptors is that they are open but point to an
INVALID_HANDLE_VALUE, and there is no fcntl. */
return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
@@ -67,19 +71,22 @@ is_cloexec (int fd)
#endif
}
-/* Return true if FD is in non-blocking mode. */
-static bool
-is_nonblocking (int fd)
+#if ! GNULIB_NONBLOCKING
+static int
+get_nonblocking_flag (int fd)
{
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
- /* We don't use the non-blocking mode for sockets here. */
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
return 0;
-#else
+# else
+# ifndef F_GETFL
+# error Please port fcntl to your platform
+# endif
int flags;
ASSERT ((flags = fcntl (fd, F_GETFL)) >= 0);
return (flags & O_NONBLOCK) != 0;
-#endif
+# endif
}
+#endif
int
main ()
@@ -87,29 +94,17 @@ main ()
int use_nonblocking;
int use_cloexec;
-#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
- for (use_nonblocking = 0; use_nonblocking <= 1; use_nonblocking++)
-#else
- use_nonblocking = 0;
-#endif
-#if O_CLOEXEC
- for (use_cloexec = 0; use_cloexec <= 1; use_cloexec++)
-#else
- use_cloexec = 0;
-#endif
+ for (use_nonblocking = 0; use_nonblocking <= !!O_NONBLOCK; use_nonblocking++)
+ for (use_cloexec = 0; use_cloexec <= !!O_CLOEXEC; use_cloexec++)
{
int o_flags;
int fd[2];
o_flags = 0;
-#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
if (use_nonblocking)
o_flags |= O_NONBLOCK;
-#endif
-#if O_CLOEXEC
if (use_cloexec)
o_flags |= O_CLOEXEC;
-#endif
fd[0] = -1;
fd[1] = -1;
@@ -131,14 +126,17 @@ main ()
}
if (use_nonblocking)
{
- ASSERT (is_nonblocking (fd[0]));
- ASSERT (is_nonblocking (fd[1]));
+ ASSERT (get_nonblocking_flag (fd[0]) == 1);
+ ASSERT (get_nonblocking_flag (fd[1]) == 1);
}
else
{
- ASSERT (!is_nonblocking (fd[0]));
- ASSERT (!is_nonblocking (fd[1]));
+ ASSERT (get_nonblocking_flag (fd[0]) == 0);
+ ASSERT (get_nonblocking_flag (fd[1]) == 0);
}
+
+ ASSERT (close (fd[0]) == 0);
+ ASSERT (close (fd[1]) == 0);
}
return 0;
diff --git a/tests/test-posix_spawn1.c b/tests/test-posix_spawn1.c
index f0ba3bd..b944e14 100644
--- a/tests/test-posix_spawn1.c
+++ b/tests/test-posix_spawn1.c
@@ -1,5 +1,5 @@
/* Test of posix_spawn() function.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -75,7 +75,7 @@ fd_safer (int fd)
int
main ()
{
- char *argv[3] = { "/bin/sh", CHILD_PROGRAM_FILENAME, NULL };
+ char *argv[3] = { (char *) "/bin/sh", (char *) CHILD_PROGRAM_FILENAME, NULL };
int ifd[2];
sigset_t blocked_signals;
sigset_t fatal_signal_set;
diff --git a/tests/test-posix_spawn2.c b/tests/test-posix_spawn2.c
index 92f5d4a..ce61c1c 100644
--- a/tests/test-posix_spawn2.c
+++ b/tests/test-posix_spawn2.c
@@ -1,5 +1,5 @@
/* Test of posix_spawn() function.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -53,7 +53,7 @@ fd_safer (int fd)
int
main ()
{
- char *argv[3] = { "/bin/sh", CHILD_PROGRAM_FILENAME, NULL };
+ char *argv[3] = { (char *) "/bin/sh", (char *) CHILD_PROGRAM_FILENAME, NULL };
int ofd[2];
sigset_t blocked_signals;
sigset_t fatal_signal_set;
diff --git a/tests/test-posix_spawn_file_actions_addclose.c b/tests/test-posix_spawn_file_actions_addclose.c
new file mode 100644
index 0000000..296f101
--- /dev/null
+++ b/tests/test-posix_spawn_file_actions_addclose.c
@@ -0,0 +1,64 @@
+/* Test posix_spawn_file_actions_addclose() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <spawn.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (posix_spawn_file_actions_addclose, int,
+ (posix_spawn_file_actions_t *, int));
+
+#include <errno.h>
+#include <limits.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+/* Return a file descriptor that is too big to use.
+ Prefer the smallest such fd, except use OPEN_MAX if it is defined
+ and is greater than getdtablesize (), as that's how OS X works. */
+static int
+big_fd (void)
+{
+ int fd = getdtablesize ();
+#ifdef OPEN_MAX
+ if (fd < OPEN_MAX)
+ fd = OPEN_MAX;
+#endif
+ return fd;
+}
+
+int
+main (void)
+{
+ posix_spawn_file_actions_t actions;
+
+ ASSERT (posix_spawn_file_actions_init (&actions) == 0);
+
+ /* Test behaviour for invalid file descriptors. */
+ {
+ errno = 0;
+ ASSERT (posix_spawn_file_actions_addclose (&actions, -1) == EBADF);
+ }
+ {
+ int bad_fd = big_fd ();
+ errno = 0;
+ ASSERT (posix_spawn_file_actions_addclose (&actions, bad_fd) == EBADF);
+ }
+
+ return 0;
+}
diff --git a/tests/test-posix_spawn_file_actions_adddup2.c b/tests/test-posix_spawn_file_actions_adddup2.c
new file mode 100644
index 0000000..fe33c02
--- /dev/null
+++ b/tests/test-posix_spawn_file_actions_adddup2.c
@@ -0,0 +1,72 @@
+/* Test posix_spawn_file_actions_adddup2() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <spawn.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (posix_spawn_file_actions_adddup2, int,
+ (posix_spawn_file_actions_t *, int, int));
+
+#include <errno.h>
+#include <limits.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+/* Return a file descriptor that is too big to use.
+ Prefer the smallest such fd, except use OPEN_MAX if it is defined
+ and is greater than getdtablesize (), as that's how OS X works. */
+static int
+big_fd (void)
+{
+ int fd = getdtablesize ();
+#ifdef OPEN_MAX
+ if (fd < OPEN_MAX)
+ fd = OPEN_MAX;
+#endif
+ return fd;
+}
+
+int
+main (void)
+{
+ int bad_fd = big_fd ();
+ posix_spawn_file_actions_t actions;
+
+ ASSERT (posix_spawn_file_actions_init (&actions) == 0);
+
+ /* Test behaviour for invalid file descriptors. */
+ {
+ errno = 0;
+ ASSERT (posix_spawn_file_actions_adddup2 (&actions, -1, 2) == EBADF);
+ }
+ {
+ errno = 0;
+ ASSERT (posix_spawn_file_actions_adddup2 (&actions, bad_fd, 2) == EBADF);
+ }
+ {
+ errno = 0;
+ ASSERT (posix_spawn_file_actions_adddup2 (&actions, 2, -1) == EBADF);
+ }
+ {
+ errno = 0;
+ ASSERT (posix_spawn_file_actions_adddup2 (&actions, 2, bad_fd) == EBADF);
+ }
+
+ return 0;
+}
diff --git a/tests/test-posix_spawn_file_actions_addopen.c b/tests/test-posix_spawn_file_actions_addopen.c
new file mode 100644
index 0000000..a4865ca
--- /dev/null
+++ b/tests/test-posix_spawn_file_actions_addopen.c
@@ -0,0 +1,70 @@
+/* Test posix_spawn_file_actions_addopen() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <spawn.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (posix_spawn_file_actions_addopen, int,
+ (posix_spawn_file_actions_t *, int,
+ const char *, int, mode_t));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+/* Return a file descriptor that is too big to use.
+ Prefer the smallest such fd, except use OPEN_MAX if it is defined
+ and is greater than getdtablesize (), as that's how OS X works. */
+static int
+big_fd (void)
+{
+ int fd = getdtablesize ();
+#ifdef OPEN_MAX
+ if (fd < OPEN_MAX)
+ fd = OPEN_MAX;
+#endif
+ return fd;
+}
+
+int
+main (void)
+{
+ posix_spawn_file_actions_t actions;
+
+ ASSERT (posix_spawn_file_actions_init (&actions) == 0);
+
+ /* Test behaviour for invalid file descriptors. */
+ {
+ errno = 0;
+ ASSERT (posix_spawn_file_actions_addopen (&actions, -1,
+ "foo", 0, O_RDONLY)
+ == EBADF);
+ }
+ {
+ int bad_fd = big_fd ();
+ errno = 0;
+ ASSERT (posix_spawn_file_actions_addopen (&actions, bad_fd,
+ "foo", 0, O_RDONLY)
+ == EBADF);
+ }
+
+ return 0;
+}
diff --git a/tests/test-printf-frexp.c b/tests/test-printf-frexp.c
index d1b0d84..5ecf198 100644
--- a/tests/test-printf-frexp.c
+++ b/tests/test-printf-frexp.c
@@ -1,5 +1,5 @@
/* Test of splitting a double into fraction and mantissa.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-printf-frexpl.c b/tests/test-printf-frexpl.c
index 4e9704f..0aa3d18 100644
--- a/tests/test-printf-frexpl.c
+++ b/tests/test-printf-frexpl.c
@@ -1,5 +1,5 @@
/* Test of splitting a 'long double' into fraction and mantissa.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-quotearg-simple.c b/tests/test-quotearg-simple.c
index 4d9c87c..fe860ed 100644
--- a/tests/test-quotearg-simple.c
+++ b/tests/test-quotearg-simple.c
@@ -1,5 +1,5 @@
/* Test of quotearg family of functions.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -12,8 +12,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
/* Written by Eric Blake <ebb9@byu.net>, 2008. */
@@ -27,8 +26,10 @@
#include <stdlib.h>
#include <string.h>
+#include "localcharset.h"
#include "progname.h"
#include "macros.h"
+#include "zerosize-ptr.h"
#include "test-quotearg.h"
@@ -85,12 +86,12 @@ static struct result_groups results_g[] = {
"a\\\\b", LQ_ENC RQ_ENC, LQ RQ } },
/* locale_quoting_style */
- { { "`'", "`\\0001\\0'", 9, "`simple'", "` \\t\\n\\'\"\\033?""?/\\\\'",
- "`a:b'", "`a\\\\b'", "`" LQ_ENC RQ_ENC "'", "`" LQ RQ "'" },
- { "`'", "`\\0001\\0'", 9, "`simple'", "` \\t\\n\\'\"\\033?""?/\\\\'",
- "`a:b'", "`a\\\\b'", "`" LQ_ENC RQ_ENC "'", "`" LQ RQ "'" },
- { "`'", "`\\0001\\0'", 9, "`simple'", "` \\t\\n\\'\"\\033?""?/\\\\'",
- "`a\\:b'", "`a\\\\b'", "`" LQ_ENC RQ_ENC "'", "`" LQ RQ "'" } },
+ { { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'",
+ "'a:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" },
+ { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'",
+ "'a:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" },
+ { "''", "'\\0001\\0'", 9, "'simple'", "' \\t\\n\\'\"\\033?""?/\\\\'",
+ "'a\\:b'", "'a\\\\b'", "'" LQ_ENC RQ_ENC "'", "'" LQ RQ "'" } },
/* clocale_quoting_style */
{ { "\"\"", "\"\\0001\\0\"", 9, "\"simple\"",
@@ -245,12 +246,20 @@ main (int argc _GL_UNUSED, char *argv[])
for (i = literal_quoting_style; i <= clocale_quoting_style; i++)
{
set_quoting_style (NULL, (enum quoting_style) i);
- compare_strings (use_quotearg_buffer, &results_g[i].group1, ascii_only);
- compare_strings (use_quotearg, &results_g[i].group2, ascii_only);
- if (i == c_quoting_style)
- compare_strings (use_quote_double_quotes, &results_g[i].group2,
- ascii_only);
- compare_strings (use_quotearg_colon, &results_g[i].group3, ascii_only);
+ if (!(i == locale_quoting_style || i == clocale_quoting_style)
+ || (strcmp (locale_charset (), "ASCII") == 0
+ || strcmp (locale_charset (), "ANSI_X3.4-1968") == 0))
+ {
+ compare_strings (use_quotearg_buffer, &results_g[i].group1,
+ ascii_only);
+ compare_strings (use_quotearg, &results_g[i].group2,
+ ascii_only);
+ if (i == c_quoting_style)
+ compare_strings (use_quote_double_quotes, &results_g[i].group2,
+ ascii_only);
+ compare_strings (use_quotearg_colon, &results_g[i].group3,
+ ascii_only);
+ }
}
set_quoting_style (NULL, literal_quoting_style);
@@ -289,6 +298,40 @@ main (int argc _GL_UNUSED, char *argv[])
ascii_only);
}
+ {
+ /* Trigger the bug whereby quotearg_buffer would read beyond the NUL
+ that defines the end of the string being quoted. Use an input
+ string whose NUL is the last byte before an unreadable page. */
+ char *z = zerosize_ptr ();
+
+ if (z)
+ {
+ size_t q_len = 1024;
+ char *q = malloc (q_len + 1);
+ char buf[10];
+ memset (q, 'Q', q_len);
+ q[q_len] = 0;
+
+ /* Z points to the boundary between a readable/writable page
+ and one that is neither readable nor writable. Position
+ our string so its NUL is at the end of the writable one. */
+ char const *str = "____";
+ size_t s_len = strlen (str);
+ z -= s_len + 1;
+ memcpy (z, str, s_len + 1);
+
+ set_custom_quoting (NULL, q, q);
+ /* Whether this actually triggers a SEGV depends on the
+ implementation of memcmp: whether it compares only byte-at-
+ a-time, and from left to right (no SEGV) or some other way. */
+ size_t n = quotearg_buffer (buf, sizeof buf, z, SIZE_MAX, NULL);
+ ASSERT (n == s_len + 2 * q_len);
+ ASSERT (memcmp (buf, q, sizeof buf) == 0);
+ free (q);
+ }
+ }
+
quotearg_free ();
+
return 0;
}
diff --git a/tests/test-quotearg.h b/tests/test-quotearg.h
index f2e9558..02e0c13 100644
--- a/tests/test-quotearg.h
+++ b/tests/test-quotearg.h
@@ -1,5 +1,5 @@
/* Test of quotearg family of functions.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -12,8 +12,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
/* Written by Eric Blake <ebb9@byu.net>, 2008. */
diff --git a/tests/test-raise.c b/tests/test-raise.c
new file mode 100644
index 0000000..3c58b6b
--- /dev/null
+++ b/tests/test-raise.c
@@ -0,0 +1,50 @@
+/* Test raising a signal.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <signal.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (raise, int, (int));
+
+#include <stdlib.h>
+
+#include "macros.h"
+
+/* It is safe to use _Noreturn here: exit() never returns, and GCC knows that
+ exit() is a non-returning function, even on platforms where its declaration
+ in <stdlib.h> does not have the 'noreturn' attribute. */
+static _Noreturn void
+handler (int sig)
+{
+ exit (0);
+}
+
+int
+main (void)
+{
+ /* Test behaviour for invalid argument. */
+ ASSERT (raise (-1) != 0);
+
+ /* Test behaviour for SIGINT. */
+ ASSERT (signal (SIGINT, handler) != SIG_ERR);
+
+ raise (SIGINT);
+
+ /* We should not get here, because the handler takes away the control. */
+ exit (1);
+}
diff --git a/tests/test-rawmemchr.c b/tests/test-rawmemchr.c
index be8feac..e31104a 100644
--- a/tests/test-rawmemchr.c
+++ b/tests/test-rawmemchr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2013 Free Software Foundation, Inc.
* Written by Eric Blake and Bruno Haible
*
* This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-readlink.c b/tests/test-readlink.c
index 3da5fbf..e59ebe4 100644
--- a/tests/test-readlink.c
+++ b/tests/test-readlink.c
@@ -1,5 +1,5 @@
/* Tests of readlink.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-readlink.h b/tests/test-readlink.h
index 08d5662..d19f9b3 100644
--- a/tests/test-readlink.h
+++ b/tests/test-readlink.h
@@ -1,5 +1,5 @@
/* Tests of readlink.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@ test_readlink (ssize_t (*func) (char const *, char *, size_t), bool print)
ASSERT (errno == ENOENT);
errno = 0;
ASSERT (func ("", buf, sizeof buf) == -1);
- ASSERT (errno == ENOENT);
+ ASSERT (errno == ENOENT || errno == EINVAL);
errno = 0;
ASSERT (func (".", buf, sizeof buf) == -1);
ASSERT (errno == EINVAL);
diff --git a/tests/test-regex.c b/tests/test-regex.c
new file mode 100644
index 0000000..15542f4
--- /dev/null
+++ b/tests/test-regex.c
@@ -0,0 +1,203 @@
+/* Test regular expressions
+ Copyright 1996-2001, 2003-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "regex.h"
+
+#include <locale.h>
+#include <limits.h>
+#include <string.h>
+#if HAVE_DECL_ALARM
+# include <unistd.h>
+# include <signal.h>
+#endif
+
+#include "localcharset.h"
+
+int
+main (void)
+{
+ int result = 0;
+ static struct re_pattern_buffer regex;
+ unsigned char folded_chars[UCHAR_MAX + 1];
+ int i;
+ const char *s;
+ struct re_registers regs;
+
+#if HAVE_DECL_ALARM
+ /* Some builds of glibc go into an infinite loop on this test. */
+ int alarm_value = 2;
+ signal (SIGALRM, SIG_DFL);
+ alarm (alarm_value);
+#endif
+ if (setlocale (LC_ALL, "en_US.UTF-8"))
+ {
+ {
+ /* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
+ This test needs valgrind to catch the bug on Debian
+ GNU/Linux 3.1 x86, but it might catch the bug better
+ on other platforms and it shouldn't hurt to try the
+ test here. */
+ static char const pat[] = "insert into";
+ static char const data[] =
+ "\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK";
+ re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE
+ | RE_ICASE);
+ memset (&regex, 0, sizeof regex);
+ s = re_compile_pattern (pat, sizeof pat - 1, &regex);
+ if (s)
+ result |= 1;
+ else if (re_search (&regex, data, sizeof data - 1,
+ 0, sizeof data - 1, &regs)
+ != -1)
+ result |= 1;
+ }
+
+ /* Check whether it's really a UTF-8 locale.
+ On mingw, the setlocale call succeeds but returns
+ "English_United States.1252", with locale_charset() returning
+ "CP1252". */
+ if (strcmp (locale_charset (), "UTF-8") == 0)
+ {
+ /* This test is from glibc bug 15078.
+ The test case is from Andreas Schwab in
+ <http://www.sourceware.org/ml/libc-alpha/2013-01/msg00967.html>.
+ */
+ static char const pat[] = "[^x]x";
+ static char const data[] =
+ /* <U1000><U103B><U103D><U1014><U103A><U102F><U1015><U103A> */
+ "\xe1\x80\x80"
+ "\xe1\x80\xbb"
+ "\xe1\x80\xbd"
+ "\xe1\x80\x94"
+ "\xe1\x80\xba"
+ "\xe1\x80\xaf"
+ "\xe1\x80\x95"
+ "\xe1\x80\xba"
+ "x";
+ re_set_syntax (0);
+ memset (&regex, 0, sizeof regex);
+ s = re_compile_pattern (pat, sizeof pat - 1, &regex);
+ if (s)
+ result |= 1;
+ else
+ {
+ i = re_search (&regex, data, sizeof data - 1,
+ 0, sizeof data - 1, 0);
+ if (i != 0 && i != 21)
+ result |= 1;
+ }
+ }
+
+ if (! setlocale (LC_ALL, "C"))
+ return 1;
+ }
+
+ /* This test is from glibc bug 3957, reported by Andrew Mackey. */
+ re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE);
+ memset (&regex, 0, sizeof regex);
+ s = re_compile_pattern ("a[^x]b", 6, &regex);
+ if (s)
+ result |= 2;
+ /* This should fail, but succeeds for glibc-2.5. */
+ else if (re_search (&regex, "a\nb", 3, 0, 3, &regs) != -1)
+ result |= 2;
+
+ /* This regular expression is from Spencer ere test number 75
+ in grep-2.3. */
+ re_set_syntax (RE_SYNTAX_POSIX_EGREP);
+ memset (&regex, 0, sizeof regex);
+ for (i = 0; i <= UCHAR_MAX; i++)
+ folded_chars[i] = i;
+ regex.translate = folded_chars;
+ s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, &regex);
+ /* This should fail with _Invalid character class name_ error. */
+ if (!s)
+ result |= 4;
+
+ /* Ensure that [b-a] is diagnosed as invalid, when
+ using RE_NO_EMPTY_RANGES. */
+ re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_NO_EMPTY_RANGES);
+ memset (&regex, 0, sizeof regex);
+ s = re_compile_pattern ("a[b-a]", 6, &regex);
+ if (s == 0)
+ result |= 8;
+
+ /* This should succeed, but does not for glibc-2.1.3. */
+ memset (&regex, 0, sizeof regex);
+ s = re_compile_pattern ("{1", 2, &regex);
+ if (s)
+ result |= 8;
+
+ /* The following example is derived from a problem report
+ against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */
+ memset (&regex, 0, sizeof regex);
+ s = re_compile_pattern ("[an\371]*n", 7, &regex);
+ if (s)
+ result |= 8;
+ /* This should match, but does not for glibc-2.2.1. */
+ else if (re_match (&regex, "an", 2, 0, &regs) != 2)
+ result |= 8;
+
+ memset (&regex, 0, sizeof regex);
+ s = re_compile_pattern ("x", 1, &regex);
+ if (s)
+ result |= 8;
+ /* glibc-2.2.93 does not work with a negative RANGE argument. */
+ else if (re_search (&regex, "wxy", 3, 2, -2, &regs) != 1)
+ result |= 8;
+
+ /* The version of regex.c in older versions of gnulib
+ ignored RE_ICASE. Detect that problem too. */
+ re_set_syntax (RE_SYNTAX_EMACS | RE_ICASE);
+ memset (&regex, 0, sizeof regex);
+ s = re_compile_pattern ("x", 1, &regex);
+ if (s)
+ result |= 16;
+ else if (re_search (&regex, "WXY", 3, 0, 3, &regs) < 0)
+ result |= 16;
+
+ /* Catch a bug reported by Vin Shelton in
+ http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html
+ */
+ re_set_syntax (RE_SYNTAX_POSIX_BASIC
+ & ~RE_CONTEXT_INVALID_DUP
+ & ~RE_NO_EMPTY_RANGES);
+ memset (&regex, 0, sizeof regex);
+ s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, &regex);
+ if (s)
+ result |= 32;
+
+ /* REG_STARTEND was added to glibc on 2004-01-15.
+ Reject older versions. */
+ if (! REG_STARTEND)
+ result |= 64;
+
+#if 0
+ /* It would be nice to reject hosts whose regoff_t values are too
+ narrow (including glibc on hosts with 64-bit ptrdiff_t and
+ 32-bit int), but we should wait until glibc implements this
+ feature. Otherwise, support for equivalence classes and
+ multibyte collation symbols would always be broken except
+ when compiling --without-included-regex. */
+ if (sizeof (regoff_t) < sizeof (ptrdiff_t)
+ || sizeof (regoff_t) < sizeof (ssize_t))
+ result |= 64;
+#endif
+
+ return result;
+}
diff --git a/tests/test-rename.c b/tests/test-rename.c
index 5ac83ca..132c788 100644
--- a/tests/test-rename.c
+++ b/tests/test-rename.c
@@ -1,5 +1,5 @@
/* Test of rename() function.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-rename.h b/tests/test-rename.h
index 64bab09..7e024e0 100644
--- a/tests/test-rename.h
+++ b/tests/test-rename.h
@@ -1,5 +1,5 @@
/* Test of rename() function.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -339,7 +339,7 @@ test_rename (int (*func) (char const *, char const *), bool print)
errno = 0;
ASSERT (func (BASE "dir2", BASE "dir/.") == -1);
ASSERT (errno == EINVAL || errno == EBUSY || errno == EISDIR
- || errno == ENOTEMPTY);
+ || errno == ENOTEMPTY || errno == EEXIST);
}
{
errno = 0;
@@ -366,7 +366,7 @@ test_rename (int (*func) (char const *, char const *), bool print)
errno = 0;
ASSERT (func (BASE "dir2", BASE "dir/.//") == -1);
ASSERT (errno == EINVAL || errno == EBUSY || errno == EISDIR
- || errno == ENOTEMPTY);
+ || errno == ENOTEMPTY || errno == EEXIST);
}
{
errno = 0;
diff --git a/tests/test-rmdir.c b/tests/test-rmdir.c
index 6957efe..8a24a68 100644
--- a/tests/test-rmdir.c
+++ b/tests/test-rmdir.c
@@ -1,5 +1,5 @@
/* Tests of rmdir.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-rmdir.h b/tests/test-rmdir.h
index 757d030..f298780 100644
--- a/tests/test-rmdir.h
+++ b/tests/test-rmdir.h
@@ -1,5 +1,5 @@
/* Tests of rmdir.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -66,7 +66,8 @@ test_rmdir_func (int (*func) (char const *name), bool print)
ASSERT (unlink (BASE "dir/file") == 0);
errno = 0;
ASSERT (func (BASE "dir/.//") == -1);
- ASSERT (errno == EINVAL || errno == EBUSY || errno == EEXIST);
+ ASSERT (errno == EINVAL || errno == EBUSY || errno == EEXIST
+ || errno == ENOTEMPTY);
ASSERT (func (BASE "dir") == 0);
/* Test symlink behavior. Specifying trailing slash should remove
diff --git a/tests/test-sched.c b/tests/test-sched.c
index 8d0c8cd..5a64120 100644
--- a/tests/test-sched.c
+++ b/tests/test-sched.c
@@ -1,5 +1,5 @@
/* Test of <sched.h> substitute.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,6 +26,9 @@ static struct sched_param a;
/* Check that the SCHED_* macros are defined and compile-time constants. */
int b[] = { SCHED_FIFO, SCHED_RR, SCHED_OTHER };
+/* Check that the types are all defined. */
+pid_t t1;
+
static int f1;
int
diff --git a/tests/test-setenv.c b/tests/test-setenv.c
index 50eb71b..0a53ac4 100644
--- a/tests/test-setenv.c
+++ b/tests/test-setenv.c
@@ -1,5 +1,5 @@
/* Tests of setenv.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-setlocale1.c b/tests/test-setlocale1.c
index ea7945c..b20c037 100644
--- a/tests/test-setlocale1.c
+++ b/tests/test-setlocale1.c
@@ -1,5 +1,5 @@
/* Test of setting the current locale.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-setlocale2.c b/tests/test-setlocale2.c
index 7bfc42a..cad9e2f 100644
--- a/tests/test-setlocale2.c
+++ b/tests/test-setlocale2.c
@@ -1,5 +1,5 @@
/* Test of setting the current locale.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-setlocale2.sh b/tests/test-setlocale2.sh
index 723e74e..904e147 100755
--- a/tests/test-setlocale2.sh
+++ b/tests/test-setlocale2.sh
@@ -2,14 +2,16 @@
# Test locale names with likely unsupported encoding in Unix syntax.
for name in ar_SA.ISO-8859-1 fr_FR.CP1251 zh_TW.GB18030 zh_CN.BIG5; do
- LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1
+ env LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1
done
# Test locale names with likely unsupported encoding in native Windows syntax.
for name in "Arabic_Saudi Arabia.1252" "Arabic_Saudi Arabia.65001" \
French_France.65001 Japanese_Japan.65001 Turkish_Turkey.65001 \
Chinese_Taiwan.65001 Chinese_China.54936 Chinese_China.65001; do
- LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1
+ # Here we use 'env' to set the LC_ALL environment variable, because on
+ # Solaris 11 2011-11, the /bin/sh refuses to do it for Turkish_Turkey.65001.
+ env LC_ALL="$name" ./test-setlocale2${EXEEXT} 1 || exit 1
done
exit 0
diff --git a/tests/test-sigaction.c b/tests/test-sigaction.c
index f83b87b..2b5ba53 100644
--- a/tests/test-sigaction.c
+++ b/tests/test-sigaction.c
@@ -1,5 +1,5 @@
/* Test of sigaction() function.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-signal-c++.cc b/tests/test-signal-h-c++.cc
index a38d2b5..dfe3955 100644
--- a/tests/test-signal-c++.cc
+++ b/tests/test-signal-h-c++.cc
@@ -1,5 +1,5 @@
/* Test of <signal.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,6 +24,15 @@
#include "signature.h"
+#if GNULIB_TEST_PTHREAD_SIGMASK
+SIGNATURE_CHECK (GNULIB_NAMESPACE::pthread_sigmask, int,
+ (int, const sigset_t *, sigset_t *));
+#endif
+
+#if GNULIB_TEST_RAISE
+SIGNATURE_CHECK (GNULIB_NAMESPACE::raise, int, (int));
+#endif
+
#if GNULIB_TEST_SIGPROCMASK
SIGNATURE_CHECK (GNULIB_NAMESPACE::sigismember, int, (const sigset_t *, int));
SIGNATURE_CHECK (GNULIB_NAMESPACE::sigemptyset, int, (sigset_t *));
diff --git a/tests/test-signal-c++2.cc b/tests/test-signal-h-c++2.cc
index 744e9a4..6e2026e 100644
--- a/tests/test-signal-c++2.cc
+++ b/tests/test-signal-h-c++2.cc
@@ -1,5 +1,5 @@
/* Test of <signal.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-signal.c b/tests/test-signal-h.c
index 7103e1f..93c0b71 100644
--- a/tests/test-signal.c
+++ b/tests/test-signal-h.c
@@ -1,5 +1,5 @@
/* Test of <signal.h> substitute.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-signbit.c b/tests/test-signbit.c
index c898149..e8ea097 100644
--- a/tests/test-signbit.c
+++ b/tests/test-signbit.c
@@ -1,5 +1,5 @@
/* Test of signbit() substitute.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,6 +29,7 @@
#include <limits.h>
#include "minus-zero.h"
+#include "infinity.h"
#include "macros.h"
float zerof = 0.0f;
@@ -52,8 +53,8 @@ test_signbitf ()
else
ASSERT (!signbit (minus_zerof));
/* Infinite values. */
- ASSERT (!signbit (1.0f / 0.0f));
- ASSERT (signbit (-1.0f / 0.0f));
+ ASSERT (!signbit (Infinityf ()));
+ ASSERT (signbit (- Infinityf ()));
/* Quiet NaN. */
(void) signbit (zerof / zerof);
#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
@@ -97,8 +98,8 @@ test_signbitd ()
else
ASSERT (!signbit (minus_zerod));
/* Infinite values. */
- ASSERT (!signbit (1.0 / 0.0));
- ASSERT (signbit (-1.0 / 0.0));
+ ASSERT (!signbit (Infinityd ()));
+ ASSERT (signbit (- Infinityd ()));
/* Quiet NaN. */
(void) signbit (zerod / zerod);
#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
@@ -140,8 +141,8 @@ test_signbitl ()
else
ASSERT (!signbit (minus_zerol));
/* Infinite values. */
- ASSERT (!signbit (1.0L / 0.0L));
- ASSERT (signbit (-1.0L / 0.0L));
+ ASSERT (!signbit (Infinityl ()));
+ ASSERT (signbit (- Infinityl ()));
/* Quiet NaN. */
(void) signbit (zerol / zerol);
#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
diff --git a/tests/test-sigpipe.c b/tests/test-sigpipe.c
new file mode 100644
index 0000000..e09294a
--- /dev/null
+++ b/tests/test-sigpipe.c
@@ -0,0 +1,68 @@
+/* Test of SIGPIPE handling.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <signal.h>
+
+/* Check that SIGPIPE is defined. */
+int s = SIGPIPE;
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+static void
+handler (int sig)
+{
+ exit (0);
+}
+
+int
+main (int argc, char **argv)
+{
+ char mode = argv[1][0];
+
+ switch (mode)
+ {
+ case 'A': signal (SIGPIPE, SIG_DFL); break;
+ case 'B': signal (SIGPIPE, SIG_IGN); break;
+ case 'C': signal (SIGPIPE, handler); break;
+ }
+
+ /* Produce infinite output. Since it is piped into "head -1", the writes
+ must ultimately fail. */
+ for (;;)
+ {
+ char c[2] = { 'y', '\n' };
+ int ret = write (1, c, sizeof (c));
+ if (ret <= 0)
+ {
+ switch (mode)
+ {
+ case 'B': /* The write() call should have failed with EPIPE. */
+ if (ret < 0 && errno == EPIPE)
+ exit (0);
+ /*FALLTHROUGH*/
+ case 'A': /* The process should silently die. */
+ case 'C': /* The handler should have been called. */
+ fprintf (stderr, "write() returned %d with error %d.\n", ret, errno);
+ exit (1);
+ }
+ }
+ }
+}
diff --git a/tests/test-sigpipe.sh b/tests/test-sigpipe.sh
new file mode 100755
index 0000000..bc2baf2
--- /dev/null
+++ b/tests/test-sigpipe.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+# Test signal's default behaviour.
+tmpfiles="$tmpfiles t-sigpipeA.tmp"
+./test-sigpipe${EXEEXT} A 2> t-sigpipeA.tmp | head -1 > /dev/null
+if test -s t-sigpipeA.tmp; then
+ LC_ALL=C tr -d '\r' < t-sigpipeA.tmp
+ rm -fr $tmpfiles; exit 1
+fi
+
+# Test signal's ignored behaviour.
+tmpfiles="$tmpfiles t-sigpipeB.tmp"
+./test-sigpipe${EXEEXT} B 2> t-sigpipeB.tmp | head -1 > /dev/null
+if test -s t-sigpipeB.tmp; then
+ LC_ALL=C tr -d '\r' < t-sigpipeB.tmp
+ rm -fr $tmpfiles; exit 1
+fi
+
+# Test signal's behaviour when a handler is installed.
+tmpfiles="$tmpfiles t-sigpipeC.tmp"
+./test-sigpipe${EXEEXT} B 2> t-sigpipeC.tmp | head -1 > /dev/null
+if test -s t-sigpipeC.tmp; then
+ LC_ALL=C tr -d '\r' < t-sigpipeC.tmp
+ rm -fr $tmpfiles; exit 1
+fi
+
+rm -fr $tmpfiles
+exit 0
diff --git a/tests/test-sigprocmask.c b/tests/test-sigprocmask.c
new file mode 100644
index 0000000..6aaf74d
--- /dev/null
+++ b/tests/test-sigprocmask.c
@@ -0,0 +1,102 @@
+/* Test of sigprocmask.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011. */
+
+#include <config.h>
+
+#include <signal.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (sigprocmask, int, (int, const sigset_t *, sigset_t *));
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+#if !((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__)
+
+static volatile int sigint_occurred;
+
+static void
+sigint_handler (int sig)
+{
+ sigint_occurred++;
+}
+
+int
+main (int argc, char *argv[])
+{
+ sigset_t set;
+ pid_t pid = getpid ();
+ char command[80];
+
+ if (sizeof (int) < sizeof pid && 0x7fffffff < pid)
+ {
+ fputs ("Skipping test: pid too large\n", stderr);
+ return 77;
+ }
+
+ signal (SIGINT, sigint_handler);
+
+ sigemptyset (&set);
+ sigaddset (&set, SIGINT);
+
+ /* Check error handling. */
+ ASSERT (sigprocmask (1729, &set, NULL) == -1);
+ ASSERT (errno == EINVAL);
+
+ /* Block SIGINT. */
+ ASSERT (sigprocmask (SIG_BLOCK, &set, NULL) == 0);
+
+ /* Request a SIGINT signal from outside. */
+ sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, (int) pid);
+ ASSERT (system (command) == 0);
+
+ /* Wait. */
+ sleep (2);
+
+ /* The signal should not have arrived yet, because it is blocked. */
+ ASSERT (sigint_occurred == 0);
+
+ /* Unblock SIGINT. */
+ ASSERT (sigprocmask (SIG_UNBLOCK, &set, NULL) == 0);
+
+ /* The signal should have arrived now, because POSIX says
+ "If there are any pending unblocked signals after the call to
+ sigprocmask(), at least one of those signals shall be delivered
+ before the call to sigprocmask() returns." */
+ ASSERT (sigint_occurred == 1);
+
+ return 0;
+}
+
+#else
+
+/* On native Windows, getpid() values and the arguments that are passed to
+ the (Cygwin?) 'kill' program are not necessarily related. */
+
+int
+main ()
+{
+ fputs ("Skipping test: native Windows platform\n", stderr);
+ return 77;
+}
+
+#endif
diff --git a/tests/test-sleep.c b/tests/test-sleep.c
new file mode 100644
index 0000000..d232cd0
--- /dev/null
+++ b/tests/test-sleep.c
@@ -0,0 +1,58 @@
+/* Test of sleep() function.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (sleep, unsigned int, (unsigned int));
+
+#include <signal.h>
+
+#include "macros.h"
+
+#if HAVE_DECL_ALARM
+static void
+handle_alarm (int sig)
+{
+ if (sig != SIGALRM)
+ _exit (1);
+}
+#endif
+
+int
+main (void)
+{
+ ASSERT (sleep (1) <= 1);
+
+ ASSERT (sleep (0) == 0);
+
+#if HAVE_DECL_ALARM
+ {
+ const unsigned int pentecost = 50 * 24 * 60 * 60; /* 50 days. */
+ unsigned int remaining;
+ signal (SIGALRM, handle_alarm);
+ alarm (1);
+ remaining = sleep (pentecost);
+ ASSERT (pentecost - 10 < remaining && remaining <= pentecost);
+ }
+#endif
+
+ return 0;
+}
diff --git a/tests/test-snprintf.c b/tests/test-snprintf.c
index 95a352d..108346e 100644
--- a/tests/test-snprintf.c
+++ b/tests/test-snprintf.c
@@ -1,5 +1,5 @@
/* Test of snprintf() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -52,7 +52,7 @@ main (int argc, char *argv[])
#if !CHECK_SNPRINTF_POSIX
if (size > 0)
#endif
- ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0);
+ ASSERT (memcmp (buf + size, &"DEADBEEF"[size], 8 - size) == 0);
}
else
{
@@ -60,5 +60,13 @@ main (int argc, char *argv[])
}
}
+ /* Test the support of the POSIX/XSI format strings with positions. */
+ {
+ char result[100];
+ retval = snprintf (result, sizeof (result), "%2$d %1$d", 33, 55);
+ ASSERT (strcmp (result, "55 33") == 0);
+ ASSERT (retval == strlen (result));
+ }
+
return 0;
}
diff --git a/tests/test-spawn-c++.cc b/tests/test-spawn-c++.cc
index fb54c2e..1a1f4af 100644
--- a/tests/test-spawn-c++.cc
+++ b/tests/test-spawn-c++.cc
@@ -1,5 +1,5 @@
/* Test of <spawn.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-spawn-pipe-child.c b/tests/test-spawn-pipe-child.c
new file mode 100644
index 0000000..2531459
--- /dev/null
+++ b/tests/test-spawn-pipe-child.c
@@ -0,0 +1,119 @@
+/* Child program invoked by test-spawn-pipe-main.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Get declarations of the native Windows API functions. */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+#endif
+
+/* Depending on arguments, this test intentionally closes stderr or
+ starts life with stderr closed. So, we arrange to have fd 10
+ (outside the range of interesting fd's during the test) set up to
+ duplicate the original stderr. */
+
+#define BACKUP_STDERR_FILENO 10
+#define ASSERT_STREAM myerr
+#include "macros.h"
+
+static FILE *myerr;
+
+/* In this file, we use only system functions, no overrides from gnulib. */
+#undef atoi
+#undef close
+#undef fcntl
+#undef fdopen
+#undef fflush
+#undef fprintf
+#undef read
+#undef write
+
+/* Return non-zero if FD is open. */
+static int
+is_open (int fd)
+{
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ /* On native Windows, the initial state of unassigned standard file
+ descriptors is that they are open but point to an
+ INVALID_HANDLE_VALUE, and there is no fcntl. */
+ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
+#else
+# ifndef F_GETFL
+# error Please port fcntl to your platform
+# endif
+ return 0 <= fcntl (fd, F_GETFL);
+#endif
+}
+
+int
+main (int argc, char *argv[])
+{
+ char buffer[2] = { 's', 't' };
+ int fd;
+
+ /* fd 2 might be closed, but fd BACKUP_STDERR_FILENO is the original
+ stderr. */
+ myerr = fdopen (BACKUP_STDERR_FILENO, "w");
+ if (!myerr)
+ return 2;
+
+ ASSERT (argc == 2);
+
+ /* Read one byte from fd 0, and write its value plus one to fd 1.
+ fd 2 should be closed iff the argument is 1. Check that no other file
+ descriptors leaked. */
+
+ ASSERT (read (STDIN_FILENO, buffer, 2) == 1);
+
+ buffer[0]++;
+ ASSERT (write (STDOUT_FILENO, buffer, 1) == 1);
+
+ switch (atoi (argv[1]))
+ {
+ case 0:
+ /* Expect fd 2 is open. */
+ ASSERT (is_open (STDERR_FILENO));
+ break;
+ case 1:
+ /* Expect fd 2 is closed.
+ But on HP-UX 11, fd 2 gets automatically re-opened to /dev/null if it
+ was closed. Future POSIX will allow this, see
+ <http://austingroupbugs.net/view.php?id=173>. */
+#if !defined __hpux
+ ASSERT (! is_open (STDERR_FILENO));
+#endif
+ break;
+ default:
+ ASSERT (0);
+ }
+
+ for (fd = 3; fd < 7; fd++)
+ {
+ errno = 0;
+ ASSERT (close (fd) == -1);
+ ASSERT (errno == EBADF);
+ }
+
+ return 0;
+}
diff --git a/tests/test-spawn-pipe.c b/tests/test-spawn-pipe-main.c
index 5653150..c07c3d2 100644
--- a/tests/test-spawn-pipe.c
+++ b/tests/test-spawn-pipe-main.c
@@ -1,5 +1,5 @@
/* Test of create_pipe_bidi/wait_subprocess.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -12,15 +12,14 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include "spawn-pipe.h"
#include "wait-process.h"
+#include "progname.h"
-#include <errno.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
@@ -38,70 +37,23 @@
static FILE *myerr;
-/* Code executed by the child process. argv[1] = "child". */
-static int
-child_main (int argc, char *argv[])
-{
- char buffer[2] = { 's', 't' };
- int fd;
- int ret;
-
- ASSERT (argc == 3);
-
- /* Read one byte from fd 0, and write its value plus one to fd 1.
- fd 2 should be closed iff the argument is 1. Check that no other file
- descriptors leaked. */
-
- ASSERT (read (STDIN_FILENO, buffer, 2) == 1);
-
- buffer[0]++;
- ASSERT (write (STDOUT_FILENO, buffer, 1) == 1);
-
- errno = 0;
- ret = dup2 (STDERR_FILENO, STDERR_FILENO);
- switch (atoi (argv[2]))
- {
- case 0:
- /* Expect fd 2 is open. */
- ASSERT (ret == STDERR_FILENO);
- break;
- case 1:
- /* Expect fd 2 is closed. */
- ASSERT (ret == -1);
- ASSERT (errno == EBADF);
- break;
- default:
- ASSERT (false);
- }
-
- for (fd = 3; fd < 7; fd++)
- {
- errno = 0;
- ASSERT (close (fd) == -1);
- ASSERT (errno == EBADF);
- }
-
- return 0;
-}
-
/* Create a bi-directional pipe to a test child, and validate that the
- child program returns the expected output. The child is the same
- program as the parent ARGV0, but with different arguments.
+ child program returns the expected output.
+ PROG is the program to run in the child process.
STDERR_CLOSED is true if we have already closed fd 2. */
static void
-test_pipe (const char *argv0, bool stderr_closed)
+test_pipe (const char *prog, bool stderr_closed)
{
int fd[2];
- char *argv[4];
+ char *argv[3];
pid_t pid;
char buffer[2] = { 'a', 't' };
/* Set up child. */
- argv[0] = (char *) argv0;
- argv[1] = (char *) "child";
- argv[2] = (char *) (stderr_closed ? "1" : "0");
- argv[3] = NULL;
- pid = create_pipe_bidi (argv0, argv0, argv, false, true, true, fd);
+ argv[0] = (char *) prog;
+ argv[1] = (char *) (stderr_closed ? "1" : "0");
+ argv[2] = NULL;
+ pid = create_pipe_bidi (prog, prog, argv, false, true, true, fd);
ASSERT (0 <= pid);
ASSERT (STDERR_FILENO < fd[0]);
ASSERT (STDERR_FILENO < fd[1]);
@@ -114,7 +66,7 @@ test_pipe (const char *argv0, bool stderr_closed)
ASSERT (read (fd[0], buffer, 2) == 1);
/* Wait for child. */
- ASSERT (wait_subprocess (pid, argv0, true, false, true, true, NULL) == 0);
+ ASSERT (wait_subprocess (pid, prog, true, false, true, true, NULL) == 0);
ASSERT (close (fd[0]) == 0);
/* Check the result. */
@@ -122,18 +74,27 @@ test_pipe (const char *argv0, bool stderr_closed)
ASSERT (buffer[1] == 't');
}
-/* Code executed by the parent process. */
-static int
-parent_main (int argc, char *argv[])
+int
+main (int argc, char *argv[])
{
int test;
int fd;
- ASSERT (argc == 2);
+ set_program_name (argv[0]);
+
+ if (argc != 3)
+ {
+ fprintf (stderr, "%s: need 2 arguments\n", argv[0]);
+ return 2;
+ }
+ /* We might close fd 2 later, so save it in fd 10. */
+ if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO
+ || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL)
+ return 2;
/* Selectively close various standard fds, to verify the child process is
not impacted by this. */
- test = atoi (argv[1]);
+ test = atoi (argv[2]);
switch (test)
{
case 0:
@@ -174,31 +135,7 @@ parent_main (int argc, char *argv[])
for (fd = 3; fd < 7; fd++)
close (fd);
- test_pipe (argv[0], test >= 4);
+ test_pipe (argv[1], test >= 4);
return 0;
}
-
-int
-main (int argc, char *argv[])
-{
- if (argc < 2)
- {
- fprintf (stderr, "%s: need arguments\n", argv[0]);
- return 2;
- }
- if (strcmp (argv[1], "child") == 0)
- {
- /* fd 2 might be closed, but fd BACKUP_STDERR_FILENO is the original
- stderr. */
- myerr = fdopen (BACKUP_STDERR_FILENO, "w");
- if (!myerr)
- return 2;
- return child_main (argc, argv);
- }
- /* We might close fd 2 later, so save it in fd 10. */
- if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO
- || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL)
- return 2;
- return parent_main (argc, argv);
-}
diff --git a/tests/test-spawn-pipe.sh b/tests/test-spawn-pipe.sh
index 2e4ea12..676026c 100755
--- a/tests/test-spawn-pipe.sh
+++ b/tests/test-spawn-pipe.sh
@@ -2,7 +2,7 @@
st=0
for i in 0 1 2 3 4 5 6 7 ; do
- ./test-spawn-pipe${EXEEXT} $i \
+ ./test-spawn-pipe-main${EXEEXT} ./test-spawn-pipe-child${EXEEXT} $i \
|| { echo test-spawn-pipe.sh: iteration $i failed >&2; st=1; }
done
exit $st
diff --git a/tests/test-spawn.c b/tests/test-spawn.c
index 01d4503..5b68171 100644
--- a/tests/test-spawn.c
+++ b/tests/test-spawn.c
@@ -1,5 +1,5 @@
/* Test of <spawn.h> substitute.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -40,7 +40,7 @@ extern void f (struct sched_param *g);
int
main (void)
{
- switch (0)
+ switch (POSIX_SPAWN_RESETIDS)
{
case POSIX_SPAWN_RESETIDS:
case POSIX_SPAWN_SETPGROUP:
diff --git a/tests/test-stat.c b/tests/test-stat.c
index 4cda089..b59dbf4 100644
--- a/tests/test-stat.c
+++ b/tests/test-stat.c
@@ -1,5 +1,5 @@
/* Tests of stat.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,7 +33,6 @@ SIGNATURE_CHECK (stat, int, (char const *, struct stat *));
#include <stdio.h>
#include <unistd.h>
-#include "pathmax.h"
#include "same-inode.h"
#include "macros.h"
diff --git a/tests/test-stat.h b/tests/test-stat.h
index 22552dc..5409e05 100644
--- a/tests/test-stat.h
+++ b/tests/test-stat.h
@@ -1,5 +1,5 @@
/* Tests of stat.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,9 +27,9 @@ test_stat_func (int (*func) (char const *, struct stat *), bool print)
{
struct stat st1;
struct stat st2;
- char cwd[PATH_MAX];
+ char *cwd = getcwd (NULL, 0);
- ASSERT (getcwd (cwd, PATH_MAX) == cwd);
+ ASSERT (cwd);
ASSERT (func (".", &st1) == 0);
ASSERT (func ("./", &st2) == 0);
ASSERT (SAME_INODE (st1, st2));
diff --git a/tests/test-stdbool.c b/tests/test-stdbool.c
index e115ba2..3c13ca2 100644
--- a/tests/test-stdbool.c
+++ b/tests/test-stdbool.c
@@ -1,5 +1,5 @@
/* Test of <stdbool.h> substitute.
- Copyright (C) 2002-2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2002-2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-stddef.c b/tests/test-stddef.c
index c929af8..f42b4e0 100644
--- a/tests/test-stddef.c
+++ b/tests/test-stddef.c
@@ -1,5 +1,5 @@
/* Test of <stddef.h> substitute.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-stdint.c b/tests/test-stdint.c
index f606cc3..1c559b0 100644
--- a/tests/test-stdint.c
+++ b/tests/test-stdint.c
@@ -1,5 +1,5 @@
/* Test of <stdint.h> substitute.
- Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,8 +21,6 @@
/* Whether to enable pedantic checks. */
#define DO_PEDANTIC 0
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* likewise */
#include <stdint.h>
#include "verify.h"
diff --git a/tests/test-stdio-c++.cc b/tests/test-stdio-c++.cc
index a9d00a3..ae1177b 100644
--- a/tests/test-stdio-c++.cc
+++ b/tests/test-stdio-c++.cc
@@ -1,5 +1,5 @@
/* Test of <stdio.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -32,10 +32,22 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::dprintf, int, (int, const char *, ...));
SIGNATURE_CHECK (GNULIB_NAMESPACE::fclose, int, (FILE *));
#endif
+#if GNULIB_TEST_FDOPEN
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fdopen, FILE *, (int, const char *));
+#endif
+
#if GNULIB_TEST_FFLUSH
SIGNATURE_CHECK (GNULIB_NAMESPACE::fflush, int, (FILE *));
#endif
+#if GNULIB_TEST_FGETC
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fgetc, int, (FILE *));
+#endif
+
+#if GNULIB_TEST_FGETS
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fgets, char *, (char *, int, FILE *));
+#endif
+
#if GNULIB_TEST_FOPEN
SIGNATURE_CHECK (GNULIB_NAMESPACE::fopen, FILE *,
(const char *, const char *));
@@ -57,11 +69,20 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::fputc, int, (int, FILE *));
SIGNATURE_CHECK (GNULIB_NAMESPACE::fputs, int, (const char *, FILE *));
#endif
+#if GNULIB_TEST_FREAD
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fread, size_t,
+ (void *, size_t, size_t, FILE *));
+#endif
+
#if GNULIB_TEST_FREOPEN
SIGNATURE_CHECK (GNULIB_NAMESPACE::freopen, FILE *,
(const char *, const char *, FILE *));
#endif
+#if GNULIB_TEST_FSCANF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fscanf, int, (FILE *, const char *, ...));
+#endif
+
#if GNULIB_TEST_FSEEK
SIGNATURE_CHECK (GNULIB_NAMESPACE::fseek, int, (FILE *, long, int));
#endif
@@ -83,6 +104,14 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::fwrite, size_t,
(const void *, size_t, size_t, FILE *));
#endif
+#if GNULIB_TEST_GETC
+SIGNATURE_CHECK (GNULIB_NAMESPACE::getc, int, (FILE *));
+#endif
+
+#if GNULIB_TEST_GETCHAR
+SIGNATURE_CHECK (GNULIB_NAMESPACE::getchar, int, (void));
+#endif
+
#if GNULIB_TEST_GETDELIM
SIGNATURE_CHECK (GNULIB_NAMESPACE::getdelim, ssize_t,
(char **, size_t *, int, FILE *));
@@ -93,6 +122,8 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::getline, ssize_t,
(char **, size_t *, FILE *));
#endif
+/* Don't bother testing gets; it should never be used. */
+
#if GNULIB_TEST_OBSTACK_PRINTF || GNULIB_TEST_OBSTACK_PRINTF_POSIX
SIGNATURE_CHECK (GNULIB_NAMESPACE::obstack_printf, int,
(struct obstack *, const char *, ...));
@@ -140,6 +171,10 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::renameat, int,
(int, char const *, int, char const *));
#endif
+#if GNULIB_TEST_SCANF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::scanf, int, (const char *, ...));
+#endif
+
#if GNULIB_TEST_SNPRINTF
SIGNATURE_CHECK (GNULIB_NAMESPACE::snprintf, int,
(char *, size_t, const char *, ...));
@@ -170,10 +205,19 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::vfprintf, int,
(FILE *, const char *, va_list));
#endif
+#if GNULIB_TEST_VFSCANF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::vfscanf, int,
+ (FILE *, const char *, va_list));
+#endif
+
#if GNULIB_TEST_VPRINTF_POSIX || GNULIB_TEST_VPRINTF
SIGNATURE_CHECK (GNULIB_NAMESPACE::vprintf, int, (const char *, va_list));
#endif
+#if GNULIB_TEST_VSCANF
+SIGNATURE_CHECK (GNULIB_NAMESPACE::vscanf, int, (const char *, va_list));
+#endif
+
#if GNULIB_TEST_VSNPRINTF
SIGNATURE_CHECK (GNULIB_NAMESPACE::vsnprintf, int,
(char *, size_t, const char *, va_list));
diff --git a/tests/test-stdio-c++2.cc b/tests/test-stdio-c++2.cc
index 4e41627..a646210 100644
--- a/tests/test-stdio-c++2.cc
+++ b/tests/test-stdio-c++2.cc
@@ -1,5 +1,5 @@
/* Test of <stdio.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-stdio.c b/tests/test-stdio.c
index 7e7a206..89c6548 100644
--- a/tests/test-stdio.c
+++ b/tests/test-stdio.c
@@ -1,5 +1,5 @@
/* Test of <stdio.h> substitute.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-stdlib-c++.cc b/tests/test-stdlib-c++.cc
index 9010c1c..68e96f2 100644
--- a/tests/test-stdlib-c++.cc
+++ b/tests/test-stdlib-c++.cc
@@ -1,5 +1,5 @@
/* Test of <stdlib.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-stdlib-c++2.cc b/tests/test-stdlib-c++2.cc
index f9b8e96..45304d5 100644
--- a/tests/test-stdlib-c++2.cc
+++ b/tests/test-stdlib-c++2.cc
@@ -1,5 +1,5 @@
/* Test of <stdlib.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-stdlib.c b/tests/test-stdlib.c
index 210aab4..6d38156 100644
--- a/tests/test-stdlib.c
+++ b/tests/test-stdlib.c
@@ -1,5 +1,5 @@
/* Test of <stdlib.h> substitute.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-strchrnul.c b/tests/test-strchrnul.c
index 6ea8adc..ac3b3dd 100644
--- a/tests/test-strchrnul.c
+++ b/tests/test-strchrnul.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2013 Free Software Foundation, Inc.
* Written by Eric Blake and Bruno Haible
*
* This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-strerror.c b/tests/test-strerror.c
index 66dbe82..6d5db0f 100644
--- a/tests/test-strerror.c
+++ b/tests/test-strerror.c
@@ -1,5 +1,5 @@
/* Test of strerror() function.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -12,8 +12,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
/* Written by Eric Blake <ebb9@byu.net>, 2007. */
@@ -33,25 +32,44 @@ main (void)
{
char *str;
+ errno = 0;
str = strerror (EACCES);
ASSERT (str);
ASSERT (*str);
+ ASSERT (errno == 0);
+ errno = 0;
str = strerror (ETIMEDOUT);
ASSERT (str);
ASSERT (*str);
+ ASSERT (errno == 0);
+ errno = 0;
str = strerror (EOVERFLOW);
ASSERT (str);
ASSERT (*str);
+ ASSERT (errno == 0);
+ /* POSIX requires strerror (0) to succeed. Reject use of "Unknown
+ error", but allow "Success", "No error", or even Solaris' "Error
+ 0" which are distinct patterns from true out-of-range strings.
+ http://austingroupbugs.net/view.php?id=382 */
+ errno = 0;
str = strerror (0);
ASSERT (str);
ASSERT (*str);
-
+ ASSERT (errno == 0);
+ ASSERT (strstr (str, "nknown") == NULL);
+ ASSERT (strstr (str, "ndefined") == NULL);
+
+ /* POSIX requires strerror to produce a non-NULL result for all
+ inputs; as an extension, we also guarantee a non-empty result.
+ Reporting EINVAL is optional. */
+ errno = 0;
str = strerror (-3);
ASSERT (str);
ASSERT (*str);
+ ASSERT (errno == 0 || errno == EINVAL);
return 0;
}
diff --git a/tests/test-string-c++.cc b/tests/test-string-c++.cc
index df21393..c2fd6a0 100644
--- a/tests/test-string-c++.cc
+++ b/tests/test-string-c++.cc
@@ -1,5 +1,5 @@
/* Test of <string.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-string-c++2.cc b/tests/test-string-c++2.cc
index 43103c9..de90885 100644
--- a/tests/test-string-c++2.cc
+++ b/tests/test-string-c++2.cc
@@ -1,5 +1,5 @@
/* Test of <string.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-string.c b/tests/test-string.c
index 54c49a9..76922d1 100644
--- a/tests/test-string.c
+++ b/tests/test-string.c
@@ -1,5 +1,5 @@
/* Test of <string.h> substitute.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-strnlen.c b/tests/test-strnlen.c
index 18d6fcd..33de935 100644
--- a/tests/test-strnlen.c
+++ b/tests/test-strnlen.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2010-2013 Free Software Foundation, Inc.
* Written by Eric Blake
*
* This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-strsignal.c b/tests/test-strsignal.c
index 6b90cef..8d68228 100644
--- a/tests/test-strsignal.c
+++ b/tests/test-strsignal.c
@@ -1,5 +1,5 @@
/* Test of strsignal() function.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -12,8 +12,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
/* Written by Colin Watson <cjwatson@debian.org>, 2008. */
diff --git a/tests/test-strstr.c b/tests/test-strstr.c
index d6d6639..80e8093 100644
--- a/tests/test-strstr.c
+++ b/tests/test-strstr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2007-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2007-2013 Free Software Foundation, Inc.
* Written by Bruno Haible and Eric Blake
*
* This program is free software: you can redistribute it and/or modify
@@ -37,8 +37,9 @@ main (int argc, char *argv[])
caused by SIGALRM. All known platforms that lack alarm also have
a quadratic strstr, and the replacement strstr is known to not
take too long. */
+ int alarm_value = 50;
signal (SIGALRM, SIG_DFL);
- alarm (50);
+ alarm (alarm_value);
#endif
{
diff --git a/tests/test-strtod.c b/tests/test-strtod.c
index 327da4f..f23bf6b 100644
--- a/tests/test-strtod.c
+++ b/tests/test-strtod.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2008-2013 Free Software Foundation, Inc.
* Written by Eric Blake
*
* This program is free software: you can redistribute it and/or modify
@@ -383,7 +383,7 @@ main (void)
result = strtod (input, &ptr);
ASSERT (result == 0.0);
ASSERT (!signbit (result));
- ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, AIX 7.1 */
+ ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */
ASSERT (errno == 0);
}
{
@@ -404,8 +404,8 @@ main (void)
errno = 0;
result = strtod (input, &ptr);
ASSERT (result == 0.0);
- ASSERT (!!signbit (result) == !!signbit (minus_zerod)); /* MacOS X 10.3, FreeBSD 6.2, IRIX 6.5, OSF/1 4.0 */
- ASSERT (ptr == input + 2); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, AIX 7.1 */
+ ASSERT (!!signbit (result) == !!signbit (minus_zerod)); /* Mac OS X 10.3, FreeBSD 6.2, IRIX 6.5, OSF/1 4.0 */
+ ASSERT (ptr == input + 2); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */
ASSERT (errno == 0);
}
{
@@ -416,7 +416,7 @@ main (void)
result = strtod (input, &ptr);
ASSERT (result == 0.0);
ASSERT (!signbit (result));
- ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, AIX 7.1 */
+ ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */
ASSERT (errno == 0);
}
{
@@ -427,7 +427,7 @@ main (void)
result = strtod (input, &ptr);
ASSERT (result == 0.0);
ASSERT (!signbit (result));
- ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, AIX 7.1 */
+ ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */
ASSERT (errno == 0);
}
{
@@ -438,7 +438,7 @@ main (void)
result = strtod (input, &ptr);
ASSERT (result == 0.0);
ASSERT (!signbit (result));
- ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, AIX 7.1 */
+ ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */
ASSERT (errno == 0);
}
{
@@ -449,7 +449,7 @@ main (void)
result = strtod (input, &ptr);
ASSERT (result == 0.0);
ASSERT (!signbit (result));
- ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, AIX 7.1 */
+ ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */
ASSERT (errno == 0);
}
{
@@ -460,7 +460,7 @@ main (void)
result = strtod (input, &ptr);
ASSERT (result == 0.0);
ASSERT (!signbit (result));
- ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, AIX 7.1 */
+ ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */
ASSERT (errno == 0);
}
{
@@ -471,7 +471,7 @@ main (void)
result = strtod (input, &ptr);
ASSERT (result == 0.0);
ASSERT (!signbit (result));
- ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, AIX 7.1 */
+ ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */
ASSERT (errno == 0);
}
{
@@ -482,7 +482,7 @@ main (void)
result = strtod (input, &ptr);
ASSERT (result == 0.0);
ASSERT (!signbit (result));
- ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, AIX 7.1 */
+ ASSERT (ptr == input + 1); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, AIX 7.1 */
ASSERT (errno == 0);
}
{
@@ -703,8 +703,8 @@ main (void)
worrying about. */
ASSERT (!!signbit (result1) != !!signbit (result2)); /* glibc-2.3.6, IRIX 6.5, OSF/1 5.1, mingw */
# endif
- ASSERT (ptr1 == input + 6); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */
- ASSERT (ptr2 == input + 6); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */
+ ASSERT (ptr1 == input + 6); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */
+ ASSERT (ptr2 == input + 6); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */
ASSERT (errno == 0);
#else
ASSERT (result1 == 0.0);
@@ -724,7 +724,7 @@ main (void)
result = strtod (input, &ptr);
#if 1 /* All known CPUs support NaNs. */
ASSERT (isnand (result)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */
- ASSERT (ptr == input + 6); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */
+ ASSERT (ptr == input + 6); /* glibc-2.3.6, Mac OS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */
ASSERT (errno == 0);
#else
ASSERT (result == 0.0);
@@ -920,9 +920,9 @@ main (void)
input[m] = '\0';
errno = 0;
result = strtod (input, &ptr);
- ASSERT (result == 1.0); /* MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */
+ ASSERT (result == 1.0); /* Mac OS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */
ASSERT (ptr == input + m); /* OSF/1 5.1 */
- ASSERT (errno == 0); /* MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */
+ ASSERT (errno == 0); /* Mac OS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */
}
free (input);
}
@@ -946,9 +946,9 @@ main (void)
input[m] = '\0';
errno = 0;
result = strtod (input, &ptr);
- ASSERT (result == 1.0); /* MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */
+ ASSERT (result == 1.0); /* Mac OS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */
ASSERT (ptr == input + m);
- ASSERT (errno == 0); /* MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */
+ ASSERT (errno == 0); /* Mac OS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */
}
free (input);
}
diff --git a/tests/test-symlink.c b/tests/test-symlink.c
index 367e045..9966516 100644
--- a/tests/test-symlink.c
+++ b/tests/test-symlink.c
@@ -1,5 +1,5 @@
/* Tests of symlink.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-symlink.h b/tests/test-symlink.h
index 4d93929..56cdc84 100644
--- a/tests/test-symlink.h
+++ b/tests/test-symlink.h
@@ -1,5 +1,5 @@
/* Tests of symlink.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-sys_stat-c++.cc b/tests/test-sys_stat-c++.cc
index 2efa9b7..9bac660 100644
--- a/tests/test-sys_stat-c++.cc
+++ b/tests/test-sys_stat-c++.cc
@@ -1,5 +1,5 @@
/* Test of <sys/stat.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,7 +29,9 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::fchmodat, int,
(int, char const *, mode_t, int));
#endif
+#if GNULIB_TEST_FSTAT
SIGNATURE_CHECK (GNULIB_NAMESPACE::fstat, int, (int, struct stat *));
+#endif
#if GNULIB_TEST_FSTATAT
SIGNATURE_CHECK (GNULIB_NAMESPACE::fstatat, int,
diff --git a/tests/test-sys_stat.c b/tests/test-sys_stat.c
index cd07d86..1ce3581 100644
--- a/tests/test-sys_stat.c
+++ b/tests/test-sys_stat.c
@@ -1,5 +1,5 @@
/* Test of <sys/stat.h> substitute.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,11 +26,14 @@
int a[] =
{
S_IFMT,
- S_IFBLK, S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG,
-#ifdef S_IFLNK /* missing on mingw and djgpp */
+#ifdef S_IFBLK /* missing on MSVC */
+ S_IFBLK,
+#endif
+ S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG,
+#ifdef S_IFLNK /* missing on native Windows and DJGPP */
S_IFLNK,
#endif
-#ifdef S_IFSOCK /* missing on mingw and djgpp */
+#ifdef S_IFSOCK /* missing on native Windows and DJGPP */
S_IFSOCK,
#endif
S_IRWXU, S_IRUSR, S_IWUSR, S_IXUSR,
@@ -46,6 +49,7 @@ int a[] =
S_ISSOCK (S_IFREG),
S_ISDOOR (S_IFREG),
S_ISMPB (S_IFREG),
+ S_ISMPX (S_IFREG),
S_ISNAM (S_IFREG),
S_ISNWK (S_IFREG),
S_ISPORT (S_IFREG),
@@ -61,7 +65,9 @@ verify (S_IRWXU == (S_IRUSR | S_IWUSR | S_IXUSR));
verify (S_IRWXG == (S_IRGRP | S_IWGRP | S_IXGRP));
verify (S_IRWXO == (S_IROTH | S_IWOTH | S_IXOTH));
+#ifdef S_IFBLK
verify (S_ISBLK (S_IFBLK));
+#endif
verify (!S_ISBLK (S_IFCHR));
verify (!S_ISBLK (S_IFDIR));
verify (!S_ISBLK (S_IFIFO));
@@ -73,7 +79,9 @@ verify (!S_ISBLK (S_IFLNK));
verify (!S_ISBLK (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISCHR (S_IFBLK));
+#endif
verify (S_ISCHR (S_IFCHR));
verify (!S_ISCHR (S_IFDIR));
verify (!S_ISCHR (S_IFIFO));
@@ -85,7 +93,9 @@ verify (!S_ISCHR (S_IFLNK));
verify (!S_ISCHR (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISDIR (S_IFBLK));
+#endif
verify (!S_ISDIR (S_IFCHR));
verify (S_ISDIR (S_IFDIR));
verify (!S_ISDIR (S_IFIFO));
@@ -97,7 +107,9 @@ verify (!S_ISDIR (S_IFLNK));
verify (!S_ISDIR (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISFIFO (S_IFBLK));
+#endif
verify (!S_ISFIFO (S_IFCHR));
verify (!S_ISFIFO (S_IFDIR));
verify (S_ISFIFO (S_IFIFO));
@@ -109,7 +121,9 @@ verify (!S_ISFIFO (S_IFLNK));
verify (!S_ISFIFO (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISREG (S_IFBLK));
+#endif
verify (!S_ISREG (S_IFCHR));
verify (!S_ISREG (S_IFDIR));
verify (!S_ISREG (S_IFIFO));
@@ -121,7 +135,9 @@ verify (!S_ISREG (S_IFLNK));
verify (!S_ISREG (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISLNK (S_IFBLK));
+#endif
verify (!S_ISLNK (S_IFCHR));
verify (!S_ISLNK (S_IFDIR));
verify (!S_ISLNK (S_IFIFO));
@@ -133,7 +149,9 @@ verify (S_ISLNK (S_IFLNK));
verify (!S_ISLNK (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISSOCK (S_IFBLK));
+#endif
verify (!S_ISSOCK (S_IFCHR));
verify (!S_ISSOCK (S_IFDIR));
verify (!S_ISSOCK (S_IFIFO));
@@ -145,7 +163,9 @@ verify (!S_ISSOCK (S_IFLNK));
verify (S_ISSOCK (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISDOOR (S_IFBLK));
+#endif
verify (!S_ISDOOR (S_IFCHR));
verify (!S_ISDOOR (S_IFDIR));
verify (!S_ISDOOR (S_IFIFO));
@@ -157,7 +177,9 @@ verify (!S_ISDOOR (S_IFLNK));
verify (!S_ISDOOR (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISMPB (S_IFBLK));
+#endif
verify (!S_ISMPB (S_IFCHR));
verify (!S_ISMPB (S_IFDIR));
verify (!S_ISMPB (S_IFIFO));
@@ -169,7 +191,23 @@ verify (!S_ISMPB (S_IFLNK));
verify (!S_ISMPB (S_IFSOCK));
#endif
+#ifdef S_IFBLK
+verify (!S_ISMPX (S_IFBLK));
+#endif
+verify (!S_ISMPX (S_IFCHR));
+verify (!S_ISMPX (S_IFDIR));
+verify (!S_ISMPX (S_IFIFO));
+verify (!S_ISMPX (S_IFREG));
+#ifdef S_IFLNK
+verify (!S_ISMPX (S_IFLNK));
+#endif
+#ifdef S_IFSOCK
+verify (!S_ISMPX (S_IFSOCK));
+#endif
+
+#ifdef S_IFBLK
verify (!S_ISNAM (S_IFBLK));
+#endif
verify (!S_ISNAM (S_IFCHR));
verify (!S_ISNAM (S_IFDIR));
verify (!S_ISNAM (S_IFIFO));
@@ -181,7 +219,9 @@ verify (!S_ISNAM (S_IFLNK));
verify (!S_ISNAM (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISNWK (S_IFBLK));
+#endif
verify (!S_ISNWK (S_IFCHR));
verify (!S_ISNWK (S_IFDIR));
verify (!S_ISNWK (S_IFIFO));
@@ -193,7 +233,9 @@ verify (!S_ISNWK (S_IFLNK));
verify (!S_ISNWK (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISPORT (S_IFBLK));
+#endif
verify (!S_ISPORT (S_IFCHR));
verify (!S_ISPORT (S_IFDIR));
verify (!S_ISPORT (S_IFIFO));
@@ -205,7 +247,9 @@ verify (!S_ISPORT (S_IFLNK));
verify (!S_ISPORT (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISCTG (S_IFBLK));
+#endif
verify (!S_ISCTG (S_IFCHR));
verify (!S_ISCTG (S_IFDIR));
verify (!S_ISCTG (S_IFIFO));
@@ -217,7 +261,9 @@ verify (!S_ISCTG (S_IFLNK));
verify (!S_ISCTG (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISOFD (S_IFBLK));
+#endif
verify (!S_ISOFD (S_IFCHR));
verify (!S_ISOFD (S_IFDIR));
verify (!S_ISOFD (S_IFIFO));
@@ -229,7 +275,9 @@ verify (!S_ISOFD (S_IFLNK));
verify (!S_ISOFD (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISOFL (S_IFBLK));
+#endif
verify (!S_ISOFL (S_IFCHR));
verify (!S_ISOFL (S_IFDIR));
verify (!S_ISOFL (S_IFIFO));
@@ -241,7 +289,9 @@ verify (!S_ISOFL (S_IFLNK));
verify (!S_ISOFL (S_IFSOCK));
#endif
+#ifdef S_IFBLK
verify (!S_ISWHT (S_IFBLK));
+#endif
verify (!S_ISWHT (S_IFCHR));
verify (!S_ISWHT (S_IFDIR));
verify (!S_ISWHT (S_IFIFO));
@@ -278,8 +328,10 @@ invalid UTIME macros
/* Check the existence of some types. */
nlink_t t1;
+off_t t2;
+mode_t t3;
-struct timespec t2;
+struct timespec st;
int
main (void)
diff --git a/tests/test-sys_time-c++.cc b/tests/test-sys_time-c++.cc
index 6c937fd..209015c 100644
--- a/tests/test-sys_time-c++.cc
+++ b/tests/test-sys_time-c++.cc
@@ -1,5 +1,5 @@
/* Test of <sys/time.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-sys_time.c b/tests/test-sys_time.c
index da64b85..8062842 100644
--- a/tests/test-sys_time.c
+++ b/tests/test-sys_time.c
@@ -1,5 +1,5 @@
/* Test of <sys/time.h> substitute.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,8 +20,13 @@
#include <sys/time.h>
+/* Check that the 'struct timeval' type is defined. */
struct timeval a;
+/* Check that a.tv_sec is wide enough to hold a time_t, ignoring
+ signedness issues. */
+typedef int verify_tv_sec_type[sizeof (time_t) <= sizeof (a.tv_sec) ? 1 : -1];
+
int
main (void)
{
diff --git a/tests/test-sys_types-c++.cc b/tests/test-sys_types-c++.cc
new file mode 100644
index 0000000..04a85d8
--- /dev/null
+++ b/tests/test-sys_types-c++.cc
@@ -0,0 +1,28 @@
+/* Test of <sys/types.h> substitute in C++ mode.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011. */
+
+#define GNULIB_NAMESPACE gnulib
+#include <config.h>
+
+#include <sys/types.h>
+
+
+int
+main ()
+{
+}
diff --git a/tests/test-sys_types.c b/tests/test-sys_types.c
new file mode 100644
index 0000000..1045de7
--- /dev/null
+++ b/tests/test-sys_types.c
@@ -0,0 +1,34 @@
+/* Test of <sys/types.h> substitute.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011. */
+
+#include <config.h>
+
+#include <sys/types.h>
+
+/* Check that the types are all defined. */
+pid_t t1;
+size_t t2;
+ssize_t t3;
+off_t t4;
+mode_t t5;
+
+int
+main (void)
+{
+ return 0;
+}
diff --git a/tests/test-sys_wait-c++.cc b/tests/test-sys_wait-c++.cc
index 2f6b6ce..91465c9 100644
--- a/tests/test-sys_wait-c++.cc
+++ b/tests/test-sys_wait-c++.cc
@@ -1,5 +1,5 @@
/* Test of <sys/wait.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-sys_wait.c b/tests/test-sys_wait.c
index dce89c6..7753da3 100644
--- a/tests/test-sys_wait.c
+++ b/tests/test-sys_wait.c
@@ -1,5 +1,5 @@
/* Test of <sys/wait.h> substitute.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -31,17 +31,17 @@ main (void)
if (test_sys_wait_macros ())
return 1;
- switch (0)
- {
#if 0
+ switch (WCONTINUED)
+ {
/* Gnulib doesn't guarantee these, yet. */
case WCONTINUED:
case WEXITED:
case WNOWAIT:
case WSTOPPED:
-#endif
break;
}
+#endif
return a ? 1 : 0;
}
diff --git a/tests/test-sys_wait.h b/tests/test-sys_wait.h
index 3c9b322..d78b19e 100644
--- a/tests/test-sys_wait.h
+++ b/tests/test-sys_wait.h
@@ -1,5 +1,5 @@
/* Test of macros shared between <sys/wait.h> and <stdlib.h>.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-time-c++.cc b/tests/test-time-c++.cc
index b4ed33b..05cb4ed 100644
--- a/tests/test-time-c++.cc
+++ b/tests/test-time-c++.cc
@@ -1,5 +1,5 @@
/* Test of <time.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-time-c++2.cc b/tests/test-time-c++2.cc
index 8c1f53d..41c2040 100644
--- a/tests/test-time-c++2.cc
+++ b/tests/test-time-c++2.cc
@@ -1,5 +1,5 @@
/* Test of <time.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-time.c b/tests/test-time.c
index 0c78f36..c060136 100644
--- a/tests/test-time.c
+++ b/tests/test-time.c
@@ -1,5 +1,5 @@
/* Test of <time.h> substitute.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,7 +22,13 @@
#include "verify.h"
-struct timespec a;
+/* Check that the types are all defined. */
+struct timespec t1;
+#if 0
+/* POSIX:2008 does not require pid_t in <time.h> unconditionally, and indeed
+ it's missing on Mac OS X 10.5, FreeBSD 6.4, OpenBSD 4.9, mingw. */
+pid_t t2;
+#endif
/* Check that NULL can be passed through varargs as a pointer type,
per POSIX 2008. */
diff --git a/tests/test-unistd-c++.cc b/tests/test-unistd-c++.cc
index c63cf3d..76d87d1 100644
--- a/tests/test-unistd-c++.cc
+++ b/tests/test-unistd-c++.cc
@@ -1,5 +1,5 @@
/* Test of <unistd.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,6 +24,10 @@
#include "signature.h"
+#if GNULIB_TEST_CHDIR
+SIGNATURE_CHECK (GNULIB_NAMESPACE::chdir, int, (const char *));
+#endif
+
#if GNULIB_TEST_CHOWN
SIGNATURE_CHECK (GNULIB_NAMESPACE::chown, int, (const char *, uid_t, gid_t));
#endif
@@ -32,7 +36,9 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::chown, int, (const char *, uid_t, gid_t));
SIGNATURE_CHECK (GNULIB_NAMESPACE::close, int, (int));
#endif
+#if GNULIB_TEST_DUP
SIGNATURE_CHECK (GNULIB_NAMESPACE::dup, int, (int));
+#endif
#if GNULIB_TEST_DUP2
SIGNATURE_CHECK (GNULIB_NAMESPACE::dup2, int, (int, int));
@@ -60,6 +66,10 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::fchownat, int,
(int, char const *, uid_t, gid_t, int));
#endif
+#if GNULIB_TEST_FDATASYNC
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fdatasync, int, (int));
+#endif
+
#if GNULIB_TEST_FSYNC
SIGNATURE_CHECK (GNULIB_NAMESPACE::fsync, int, (int));
#endif
@@ -112,6 +122,10 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::setusershell, void, (void));
SIGNATURE_CHECK (GNULIB_NAMESPACE::endusershell, void, (void));
#endif
+#if GNULIB_TEST_GROUP_MEMBER
+SIGNATURE_CHECK (GNULIB_NAMESPACE::group_member, int, (gid_t));
+#endif
+
#if GNULIB_TEST_LCHOWN
SIGNATURE_CHECK (GNULIB_NAMESPACE::lchown, int, (char const *, uid_t, gid_t));
#endif
diff --git a/tests/test-unistd.c b/tests/test-unistd.c
index be1ae06..5470985 100644
--- a/tests/test-unistd.c
+++ b/tests/test-unistd.c
@@ -1,5 +1,5 @@
/* Test of <unistd.h> substitute.
- Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-unsetenv.c b/tests/test-unsetenv.c
index 9c9443b..c369e2a 100644
--- a/tests/test-unsetenv.c
+++ b/tests/test-unsetenv.c
@@ -1,5 +1,5 @@
/* Tests of unsetenv.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-update-copyright.sh b/tests/test-update-copyright.sh
index 83275ad..60cb372 100755
--- a/tests/test-update-copyright.sh
+++ b/tests/test-update-copyright.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Test suite for update-copyright.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
@@ -102,9 +102,8 @@ Copyright (C) 1990-2005, 2007-2009 Acme, Inc.
# Foundation, Inc.
EOF
-rm -f $TMP.*.bak
UPDATE_COPYRIGHT_YEAR=2009 \
- update-copyright $TMP.* 1> $TMP-stdout 2> $TMP-stderr
+ update-copyright $TMP.? 1> $TMP-stdout 2> $TMP-stderr
compare /dev/null $TMP-stdout || exit 1
compare - $TMP-stderr <<EOF || exit 1
$TMP.4: warning: copyright statement not found
@@ -145,9 +144,8 @@ Copyright (C) 1990-2005, 2007-2009 Acme, Inc.
# Foundation, Inc.
EOF
-rm -f $TMP.*.bak
UPDATE_COPYRIGHT_YEAR=2010 UPDATE_COPYRIGHT_USE_INTERVALS=1 \
- update-copyright $TMP.* 1> $TMP-stdout 2> $TMP-stderr
+ update-copyright $TMP.? 1> $TMP-stdout 2> $TMP-stderr
compare /dev/null $TMP-stdout || exit 1
compare - $TMP-stderr <<EOF || exit 1
$TMP.4: warning: copyright statement not found
@@ -184,9 +182,8 @@ Copyright (C) 1990-2005, 2007-2009 Acme, Inc.
# Copyright (C) 1990-2005, 2007-2010 Free Software Foundation, Inc.
EOF
-rm -f $TMP.*.bak
UPDATE_COPYRIGHT_YEAR=2010 UPDATE_COPYRIGHT_FORCE=1 \
- update-copyright $TMP.* 1> $TMP-stdout 2> $TMP-stderr
+ update-copyright $TMP.? 1> $TMP-stdout 2> $TMP-stderr
compare /dev/null $TMP-stdout || exit 1
compare - $TMP-stderr <<EOF || exit 1
$TMP.4: warning: copyright statement not found
@@ -427,6 +424,13 @@ compare - $TMP <<EOF || exit 1
# Copyright (C) 1987-1988, 1991-2011 Free Software
# Foundation, Inc.
EOF
+UPDATE_COPYRIGHT_YEAR=2011 UPDATE_COPYRIGHT_USE_INTERVALS=2 \
+ UPDATE_COPYRIGHT_FORCE=1 update-copyright $TMP 1> $TMP-stdout 2> $TMP-stderr
+compare /dev/null $TMP-stdout || exit 1
+compare /dev/null $TMP-stderr || exit 1
+compare - $TMP <<EOF || exit 1
+ # Copyright (C) 1987-2011 Free Software Foundation, Inc.
+EOF
rm $TMP*
## --------- ##
@@ -501,6 +505,9 @@ cat > $TMP.extra-text-space <<EOF
/* Copyright 1987, 1988, 1991, 1992 Free Software Foundation, Inc. ***
* End of comments. */
EOF
+cat > $TMP.two-digit-final-is-substr-of-first <<EOF
+ /* Copyright 1991, 99 Free Software Foundation, Inc. */
+EOF
UPDATE_COPYRIGHT_YEAR=2010 \
update-copyright $TMP.* 1> $TMP-stdout 2> $TMP-stderr
compare /dev/null $TMP-stdout || exit 1
@@ -532,6 +539,9 @@ compare - $TMP.extra-text-space <<EOF || exit 1
Inc. ***
* End of comments. */
EOF
+compare - $TMP.two-digit-final-is-substr-of-first <<EOF || exit 1
+ /* Copyright 1991, 1999, 2010 Free Software Foundation, Inc. */
+EOF
rm $TMP*
exit 0
diff --git a/tests/test-vasnprintf.c b/tests/test-vasnprintf.c
index 6b2a0ff..4cce0a9 100644
--- a/tests/test-vasnprintf.c
+++ b/tests/test-vasnprintf.c
@@ -1,5 +1,5 @@
/* Test of vasnprintf() and asnprintf() functions.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -55,7 +55,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
ASSERT (length == 5);
if (size < 6)
ASSERT (result != buf);
- ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0);
+ ASSERT (memcmp (buf + size, &"DEADBEEF"[size], 8 - size) == 0);
if (result != buf)
free (result);
}
diff --git a/tests/test-vasprintf-posix.c b/tests/test-vasprintf-posix.c
index b819b5b..c730948 100644
--- a/tests/test-vasprintf-posix.c
+++ b/tests/test-vasprintf-posix.c
@@ -1,5 +1,5 @@
/* Test of POSIX compatible vasprintf() and asprintf() functions.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,6 +29,7 @@
#include "macros.h"
#include "minus-zero.h"
+#include "infinity.h"
#include "nan.h"
/* The SGI MIPS floating-point format does not distinguish 0.0 and -0.0. */
@@ -197,7 +198,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Positive infinity. */
char *result;
int retval =
- my_asprintf (&result, "%a %d", 1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%a %d", Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "inf 33") == 0);
ASSERT (retval == strlen (result));
@@ -207,7 +208,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Negative infinity. */
char *result;
int retval =
- my_asprintf (&result, "%a %d", -1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%a %d", - Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "-inf 33") == 0);
ASSERT (retval == strlen (result));
@@ -231,7 +232,8 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
int retval =
my_asprintf (&result, "%.0a %d", 1.5, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strcmp (result, "0x2p+0 33") == 0
+ ASSERT (strcmp (result, "0x1p+0 33") == 0
+ || strcmp (result, "0x2p+0 33") == 0
|| strcmp (result, "0x3p-1 33") == 0
|| strcmp (result, "0x6p-2 33") == 0
|| strcmp (result, "0xcp-3 33") == 0);
@@ -244,7 +246,8 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
int retval =
my_asprintf (&result, "%.0a %d", 1.51, 33, 44, 55);
ASSERT (result != NULL);
- ASSERT (strcmp (result, "0x2p+0 33") == 0
+ ASSERT (strcmp (result, "0x1p+0 33") == 0
+ || strcmp (result, "0x2p+0 33") == 0
|| strcmp (result, "0x3p-1 33") == 0
|| strcmp (result, "0x6p-2 33") == 0
|| strcmp (result, "0xcp-3 33") == 0);
@@ -305,7 +308,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
}
{ /* Rounding can turn a ...FFF into a ...000.
- This shows a MacOS X 10.3.9 (Darwin 7.9) bug. */
+ This shows a Mac OS X 10.3.9 (Darwin 7.9) bug. */
char *result;
int retval =
my_asprintf (&result, "%.1a %d", 1.999, 33, 44, 55);
@@ -438,7 +441,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* FLAG_ZERO with infinite number. */
char *result;
int retval =
- my_asprintf (&result, "%010a %d", 1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%010a %d", Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
/* "0000000inf 33" is not a valid result; see
<http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
@@ -511,7 +514,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Positive infinity. */
char *result;
int retval =
- my_asprintf (&result, "%La %d", 1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%La %d", Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "inf 33") == 0);
ASSERT (retval == strlen (result));
@@ -521,7 +524,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Negative infinity. */
char *result;
int retval =
- my_asprintf (&result, "%La %d", -1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%La %d", - Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "-inf 33") == 0);
ASSERT (retval == strlen (result));
@@ -539,7 +542,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
ASSERT (retval == strlen (result));
free (result);
}
-#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_))
+#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
{ /* Quiet NaN. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
@@ -720,7 +723,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
}
{ /* Rounding can turn a ...FFF into a ...000.
- This shows a MacOS X 10.3.9 (Darwin 7.9) bug and a
+ This shows a Mac OS X 10.3.9 (Darwin 7.9) bug and a
glibc 2.4 bug <http://sourceware.org/bugzilla/show_bug.cgi?id=2908>. */
char *result;
int retval =
@@ -854,7 +857,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* FLAG_ZERO with infinite number. */
char *result;
int retval =
- my_asprintf (&result, "%010La %d", 1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%010La %d", Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
/* "0000000inf 33" is not a valid result; see
<http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
@@ -1024,7 +1027,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Positive infinity. */
char *result;
int retval =
- my_asprintf (&result, "%f %d", 1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%f %d", Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "inf 33") == 0
|| strcmp (result, "infinity 33") == 0);
@@ -1035,7 +1038,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Negative infinity. */
char *result;
int retval =
- my_asprintf (&result, "%f %d", -1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%f %d", - Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "-inf 33") == 0
|| strcmp (result, "-infinity 33") == 0);
@@ -1128,7 +1131,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* FLAG_ZERO with infinite number. */
char *result;
int retval =
- my_asprintf (&result, "%015f %d", -1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%015f %d", - Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, " -inf 33") == 0
|| strcmp (result, " -infinity 33") == 0);
@@ -1323,7 +1326,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Positive infinity. */
char *result;
int retval =
- my_asprintf (&result, "%Lf %d", 1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%Lf %d", Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "inf 33") == 0
|| strcmp (result, "infinity 33") == 0);
@@ -1334,7 +1337,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Negative infinity. */
char *result;
int retval =
- my_asprintf (&result, "%Lf %d", -1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%Lf %d", - Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "-inf 33") == 0
|| strcmp (result, "-infinity 33") == 0);
@@ -1353,7 +1356,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
ASSERT (retval == strlen (result));
free (result);
}
-#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_))
+#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
{ /* Quiet NaN. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
@@ -1528,7 +1531,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* FLAG_ZERO with infinite number. */
char *result;
int retval =
- my_asprintf (&result, "%015Lf %d", -1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%015Lf %d", - Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, " -inf 33") == 0
|| strcmp (result, " -infinity 33") == 0);
@@ -1634,7 +1637,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Positive infinity. */
char *result;
int retval =
- my_asprintf (&result, "%F %d", 1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%F %d", Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "INF 33") == 0
|| strcmp (result, "INFINITY 33") == 0);
@@ -1645,7 +1648,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Negative infinity. */
char *result;
int retval =
- my_asprintf (&result, "%F %d", -1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%F %d", - Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "-INF 33") == 0
|| strcmp (result, "-INFINITY 33") == 0);
@@ -1678,7 +1681,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* FLAG_ZERO with infinite number. */
char *result;
int retval =
- my_asprintf (&result, "%015F %d", -1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%015F %d", - Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, " -INF 33") == 0
|| strcmp (result, " -INFINITY 33") == 0);
@@ -1770,7 +1773,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Positive infinity. */
char *result;
int retval =
- my_asprintf (&result, "%LF %d", 1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%LF %d", Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "INF 33") == 0
|| strcmp (result, "INFINITY 33") == 0);
@@ -1781,7 +1784,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Negative infinity. */
char *result;
int retval =
- my_asprintf (&result, "%LF %d", -1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%LF %d", - Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "-INF 33") == 0
|| strcmp (result, "-INFINITY 33") == 0);
@@ -1814,7 +1817,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* FLAG_ZERO with infinite number. */
char *result;
int retval =
- my_asprintf (&result, "%015LF %d", -1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%015LF %d", - Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, " -INF 33") == 0
|| strcmp (result, " -INFINITY 33") == 0);
@@ -2012,7 +2015,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Positive infinity. */
char *result;
int retval =
- my_asprintf (&result, "%e %d", 1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%e %d", Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "inf 33") == 0
|| strcmp (result, "infinity 33") == 0);
@@ -2023,7 +2026,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Negative infinity. */
char *result;
int retval =
- my_asprintf (&result, "%e %d", -1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%e %d", - Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "-inf 33") == 0
|| strcmp (result, "-infinity 33") == 0);
@@ -2134,7 +2137,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* FLAG_ZERO with infinite number. */
char *result;
int retval =
- my_asprintf (&result, "%015e %d", -1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%015e %d", - Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, " -inf 33") == 0
|| strcmp (result, " -infinity 33") == 0);
@@ -2345,7 +2348,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Positive infinity. */
char *result;
int retval =
- my_asprintf (&result, "%Le %d", 1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%Le %d", Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "inf 33") == 0
|| strcmp (result, "infinity 33") == 0);
@@ -2356,7 +2359,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Negative infinity. */
char *result;
int retval =
- my_asprintf (&result, "%Le %d", -1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%Le %d", - Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "-inf 33") == 0
|| strcmp (result, "-infinity 33") == 0);
@@ -2375,7 +2378,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
ASSERT (retval == strlen (result));
free (result);
}
-#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_))
+#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
{ /* Quiet NaN. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
@@ -2568,7 +2571,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* FLAG_ZERO with infinite number. */
char *result;
int retval =
- my_asprintf (&result, "%015Le %d", -1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%015Le %d", - Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, " -inf 33") == 0
|| strcmp (result, " -infinity 33") == 0);
@@ -2778,7 +2781,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Positive infinity. */
char *result;
int retval =
- my_asprintf (&result, "%g %d", 1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%g %d", Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "inf 33") == 0
|| strcmp (result, "infinity 33") == 0);
@@ -2789,7 +2792,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Negative infinity. */
char *result;
int retval =
- my_asprintf (&result, "%g %d", -1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%g %d", - Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "-inf 33") == 0
|| strcmp (result, "-infinity 33") == 0);
@@ -2893,7 +2896,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* FLAG_ZERO with infinite number. */
char *result;
int retval =
- my_asprintf (&result, "%015g %d", -1.0 / 0.0, 33, 44, 55);
+ my_asprintf (&result, "%015g %d", - Infinityd (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, " -inf 33") == 0
|| strcmp (result, " -infinity 33") == 0);
@@ -3099,7 +3102,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Positive infinity. */
char *result;
int retval =
- my_asprintf (&result, "%Lg %d", 1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%Lg %d", Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "inf 33") == 0
|| strcmp (result, "infinity 33") == 0);
@@ -3110,7 +3113,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* Negative infinity. */
char *result;
int retval =
- my_asprintf (&result, "%Lg %d", -1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%Lg %d", - Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, "-inf 33") == 0
|| strcmp (result, "-infinity 33") == 0);
@@ -3129,7 +3132,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
ASSERT (retval == strlen (result));
free (result);
}
-#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_))
+#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
{ /* Quiet NaN. */
static union { unsigned int word[4]; long double value; } x =
{ LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
@@ -3315,7 +3318,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
{ /* FLAG_ZERO with infinite number. */
char *result;
int retval =
- my_asprintf (&result, "%015Lg %d", -1.0L / 0.0L, 33, 44, 55);
+ my_asprintf (&result, "%015Lg %d", - Infinityl (), 33, 44, 55);
ASSERT (result != NULL);
ASSERT (strcmp (result, " -inf 33") == 0
|| strcmp (result, " -infinity 33") == 0);
diff --git a/tests/test-vasprintf.c b/tests/test-vasprintf.c
index 6882d18..459b92d 100644
--- a/tests/test-vasprintf.c
+++ b/tests/test-vasprintf.c
@@ -1,5 +1,5 @@
/* Test of vasprintf() and asprintf() functions.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-vc-list-files-cvs.sh b/tests/test-vc-list-files-cvs.sh
index 531b269..1dbc532 100755
--- a/tests/test-vc-list-files-cvs.sh
+++ b/tests/test-vc-list-files-cvs.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Unit tests for vc-list-files
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2013 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
@@ -36,7 +36,6 @@ for i in with-cvsu without; do
ok=0
mkdir $tmpdir && cd $tmpdir &&
# without cvs, skip the test
- # The double use of 'exit' is needed for the reference to $? inside the trap.
{ ( cvs -Q -d "$repo" init ) > /dev/null 2>&1 \
|| skip_ "cvs not found in PATH"; } &&
mkdir w && cd w &&
diff --git a/tests/test-vc-list-files-git.sh b/tests/test-vc-list-files-git.sh
index 523b2a9..8cbd00b 100755
--- a/tests/test-vc-list-files-git.sh
+++ b/tests/test-vc-list-files-git.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Unit tests for vc-list-files
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2013 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-verify.c b/tests/test-verify.c
index 512c021..1056b4e 100644
--- a/tests/test-verify.c
+++ b/tests/test-verify.c
@@ -1,6 +1,6 @@
/* Test the "verify" module.
- Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -55,9 +55,9 @@ function (int n)
verify (1 == 1); verify (1 == 1); /* should be ok */
if (n)
- return ((void) verify_true (1 == 1), verify_true (1 == 1) + 7); /* should be ok */
+ return ((void) verify_expr (1 == 1, 1), verify_expr (1 == 1, 8)); /* should be ok */
#if EXP_FAIL == 5
- return (verify_true (1 == 2), 5); /* should give ERROR */
+ return verify_expr (1 == 2, 5); /* should give ERROR */
#endif
return 0;
}
diff --git a/tests/test-version-etc.c b/tests/test-version-etc.c
index 00a5d7c..66027f3 100644
--- a/tests/test-version-etc.c
+++ b/tests/test-version-etc.c
@@ -1,5 +1,5 @@
/* Test suite for version-etc.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This file is part of the GNUlib Library.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-version-etc.sh b/tests/test-version-etc.sh
index c1ed827..466c959 100755
--- a/tests/test-version-etc.sh
+++ b/tests/test-version-etc.sh
@@ -1,6 +1,6 @@
#! /bin/sh
# Test suite for version-etc.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-wchar-c++.cc b/tests/test-wchar-c++.cc
index 9b28e31..8ce0dea 100644
--- a/tests/test-wchar-c++.cc
+++ b/tests/test-wchar-c++.cc
@@ -1,5 +1,5 @@
/* Test of <wchar.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-wchar.c b/tests/test-wchar.c
index 2d3bad7..92ae8f2 100644
--- a/tests/test-wchar.c
+++ b/tests/test-wchar.c
@@ -1,5 +1,5 @@
/* Test of <wchar.h> substitute.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-wcrtomb-w32.c b/tests/test-wcrtomb-w32.c
index 0b09498..494bbd1 100644
--- a/tests/test-wcrtomb-w32.c
+++ b/tests/test-wcrtomb-w32.c
@@ -1,5 +1,5 @@
/* Test of conversion of wide character to multibyte character.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-wcrtomb.c b/tests/test-wcrtomb.c
index a50817f..c076973 100644
--- a/tests/test-wcrtomb.c
+++ b/tests/test-wcrtomb.c
@@ -1,5 +1,5 @@
/* Test of conversion of wide character to multibyte character.
- Copyright (C) 2008-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-wctype-h-c++.cc b/tests/test-wctype-h-c++.cc
index 7208382..cd34afc 100644
--- a/tests/test-wctype-h-c++.cc
+++ b/tests/test-wctype-h-c++.cc
@@ -1,5 +1,5 @@
/* Test of <wctype.h> substitute in C++ mode.
- Copyright (C) 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-wctype-h.c b/tests/test-wctype-h.c
index aed3b77..5ab5d0c 100644
--- a/tests/test-wctype-h.c
+++ b/tests/test-wctype-h.c
@@ -1,5 +1,5 @@
/* Test of <wctype.h> substitute.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-write.c b/tests/test-write.c
new file mode 100644
index 0000000..90e9a22
--- /dev/null
+++ b/tests/test-write.c
@@ -0,0 +1,79 @@
+/* Test the write() function.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (write, ssize_t, (int, const void *, size_t));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <string.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+ const char *filename = "test-write.tmp";
+ int fd;
+
+ /* Create a file with a simple contents. */
+ fd = open (filename, O_CREAT | O_WRONLY, 0600);
+ ASSERT (fd >= 0);
+ ASSERT (write (fd, "Hello World", 11) == 11);
+ ASSERT (close (fd) == 0);
+
+ /* Write into the middle of the file. */
+ fd = open (filename, O_WRONLY);
+ ASSERT (fd >= 0);
+ ASSERT (lseek (fd, 6, SEEK_SET) == 6);
+ ASSERT (write (fd, "fascination", 11) == 11);
+
+ /* Verify the contents of the file. */
+ {
+ char buf[64];
+ int rfd = open (filename, O_RDONLY);
+ ASSERT (rfd >= 0);
+ ASSERT (read (rfd, buf, sizeof (buf)) == 17);
+ ASSERT (close (rfd) == 0);
+ ASSERT (memcmp (buf, "Hello fascination", 17) == 0);
+ }
+
+ ASSERT (close (fd) == 0);
+
+ /* Test behaviour for invalid file descriptors. */
+ {
+ char byte = 'x';
+ errno = 0;
+ ASSERT (write (-1, &byte, 1) == -1);
+ ASSERT (errno == EBADF);
+ }
+ {
+ char byte = 'x';
+ close (99);
+ errno = 0;
+ ASSERT (write (99, &byte, 1) == -1);
+ ASSERT (errno == EBADF);
+ }
+
+ /* Clean up. */
+ unlink (filename);
+
+ return 0;
+}
diff --git a/tests/test-xalloc-die.c b/tests/test-xalloc-die.c
index d33e671..e6376f8 100644
--- a/tests/test-xalloc-die.c
+++ b/tests/test-xalloc-die.c
@@ -1,5 +1,5 @@
/* Test of xalloc_die() function.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/tests/test-xalloc-die.sh b/tests/test-xalloc-die.sh
index 399d249..920d222 100755
--- a/tests/test-xalloc-die.sh
+++ b/tests/test-xalloc-die.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Test suite for xalloc_die.
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
diff --git a/tests/test-xvasprintf.c b/tests/test-xvasprintf.c
index aeeb3e5..453ca58 100644
--- a/tests/test-xvasprintf.c
+++ b/tests/test-xvasprintf.c
@@ -1,5 +1,5 @@
/* Test of xvasprintf() and xasprintf() functions.
- Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -93,9 +93,11 @@ test_xasprintf (void)
}
{
- /* Silence gcc warning about zero-length format string. */
+ /* Silence gcc warning about zero-length format string,
+ and about "format not a string literal and no format"
+ (whatever that means) . */
const char *empty = "";
- result = xasprintf (empty);
+ result = xasprintf (empty, empty);
ASSERT (result != NULL);
ASSERT (strcmp (result, "") == 0);
free (result);
diff --git a/tests/unsetenv.c b/tests/unsetenv.c
index 215bba0..c58c82f 100644
--- a/tests/unsetenv.c
+++ b/tests/unsetenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2013 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
@@ -14,12 +14,12 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include <config.h>
-
/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
optimizes away the name == NULL test below. */
#define _GL_ARG_NONNULL(params)
+#include <config.h>
+
/* Specification. */
#include <stdlib.h>
@@ -36,7 +36,7 @@
#endif
#if _LIBC
-/* This lock protects against simultaneous modifications of `environ'. */
+/* This lock protects against simultaneous modifications of 'environ'. */
# include <bits/libc-lock.h>
__libc_lock_define_initialized (static, envlock)
# define LOCK __libc_lock_lock (envlock)
@@ -97,6 +97,13 @@ weak_alias (__unsetenv, unsetenv)
#else /* HAVE_UNSETENV */
# undef unsetenv
+# if !HAVE_DECL_UNSETENV
+# if VOID_UNSETENV
+extern void unsetenv (const char *);
+# else
+extern int unsetenv (const char *);
+# endif
+# endif
/* Call the underlying unsetenv, in case there is hidden bookkeeping
that needs updating beyond just modifying environ. */
diff --git a/tests/wctob.c b/tests/wctob.c
index cc26afc..508f896 100644
--- a/tests/wctob.c
+++ b/tests/wctob.c
@@ -1,5 +1,5 @@
/* Convert wide character to unibyte character.
- Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/wctomb-impl.h b/tests/wctomb-impl.h
index 4e95de6..60dc3b9 100644
--- a/tests/wctomb-impl.h
+++ b/tests/wctomb-impl.h
@@ -1,5 +1,5 @@
/* Convert wide character to multibyte character.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/wctomb.c b/tests/wctomb.c
index 889a3c6..3761108 100644
--- a/tests/wctomb.c
+++ b/tests/wctomb.c
@@ -1,5 +1,5 @@
/* Convert wide character to multibyte character.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2011.
This program is free software: you can redistribute it and/or modify
diff --git a/tests/write.c b/tests/write.c
new file mode 100644
index 0000000..2d20421
--- /dev/null
+++ b/tests/write.c
@@ -0,0 +1,145 @@
+/* POSIX compatible write() function.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2008.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <unistd.h>
+
+/* On native Windows platforms, SIGPIPE does not exist. When write() is
+ called on a pipe with no readers, WriteFile() fails with error
+ GetLastError() = ERROR_NO_DATA, and write() in consequence fails with
+ error EINVAL. */
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+# include <errno.h>
+# include <signal.h>
+# include <io.h>
+
+# define WIN32_LEAN_AND_MEAN /* avoid including junk */
+# include <windows.h>
+
+# include "msvc-inval.h"
+# include "msvc-nothrow.h"
+
+# undef write
+
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static ssize_t
+write_nothrow (int fd, const void *buf, size_t count)
+{
+ ssize_t result;
+
+ TRY_MSVC_INVAL
+ {
+ result = write (fd, buf, count);
+ }
+ CATCH_MSVC_INVAL
+ {
+ result = -1;
+ errno = EBADF;
+ }
+ DONE_MSVC_INVAL;
+
+ return result;
+}
+# else
+# define write_nothrow write
+# endif
+
+ssize_t
+rpl_write (int fd, const void *buf, size_t count)
+{
+ for (;;)
+ {
+ ssize_t ret = write_nothrow (fd, buf, count);
+
+ if (ret < 0)
+ {
+# if GNULIB_NONBLOCKING
+ if (errno == ENOSPC)
+ {
+ HANDLE h = (HANDLE) _get_osfhandle (fd);
+ if (GetFileType (h) == FILE_TYPE_PIPE)
+ {
+ /* h is a pipe or socket. */
+ DWORD state;
+ if (GetNamedPipeHandleState (h, &state, NULL, NULL, NULL,
+ NULL, 0)
+ && (state & PIPE_NOWAIT) != 0)
+ {
+ /* h is a pipe in non-blocking mode.
+ We can get here in four situations:
+ 1. When the pipe buffer is full.
+ 2. When count <= pipe_buf_size and the number of
+ free bytes in the pipe buffer is < count.
+ 3. When count > pipe_buf_size and the number of free
+ bytes in the pipe buffer is > 0, < pipe_buf_size.
+ 4. When count > pipe_buf_size and the pipe buffer is
+ entirely empty.
+ The cases 1 and 2 are POSIX compliant. In cases 3 and
+ 4 POSIX specifies that write() must split the request
+ and succeed with a partial write. We fix case 4.
+ We don't fix case 3 because it is not essential for
+ programs. */
+ DWORD out_size; /* size of the buffer for outgoing data */
+ DWORD in_size; /* size of the buffer for incoming data */
+ if (GetNamedPipeInfo (h, NULL, &out_size, &in_size, NULL))
+ {
+ size_t reduced_count = count;
+ /* In theory we need only one of out_size, in_size.
+ But I don't know which of the two. The description
+ is ambiguous. */
+ if (out_size != 0 && out_size < reduced_count)
+ reduced_count = out_size;
+ if (in_size != 0 && in_size < reduced_count)
+ reduced_count = in_size;
+ if (reduced_count < count)
+ {
+ /* Attempt to write only the first part. */
+ count = reduced_count;
+ continue;
+ }
+ }
+ /* Change errno from ENOSPC to EAGAIN. */
+ errno = EAGAIN;
+ }
+ }
+ }
+ else
+# endif
+ {
+# if GNULIB_SIGPIPE
+ if (GetLastError () == ERROR_NO_DATA
+ && GetFileType ((HANDLE) _get_osfhandle (fd))
+ == FILE_TYPE_PIPE)
+ {
+ /* Try to raise signal SIGPIPE. */
+ raise (SIGPIPE);
+ /* If it is currently blocked or ignored, change errno from
+ EINVAL to EPIPE. */
+ errno = EPIPE;
+ }
+# endif
+ }
+ }
+ return ret;
+ }
+}
+
+#endif
diff --git a/tests/zerosize-ptr.h b/tests/zerosize-ptr.h
index beeb3da..f0e6155 100644
--- a/tests/zerosize-ptr.h
+++ b/tests/zerosize-ptr.h
@@ -1,5 +1,5 @@
/* Return a pointer to a zero-size object in memory.
- Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by