libidn-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU libidn branch, master, updated. libidn-1-28-13-g56d9fbe


From: Simon Josefsson
Subject: [SCM] GNU libidn branch, master, updated. libidn-1-28-13-g56d9fbe
Date: Sun, 10 Aug 2014 21:09:53 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU libidn".

http://git.savannah.gnu.org/cgit/libidn.git/commit/?id=56d9fbe362540e6043c1038d6050b498554ff142

The branch, master has been updated
       via  56d9fbe362540e6043c1038d6050b498554ff142 (commit)
       via  ac89cc93882b4ab533048c4cfa58e59296c2b1ce (commit)
       via  fa172f26d5929407de7170d420675ead68cdb5b7 (commit)
       via  1ba543de7dad3b5cdf26b45a4103c9922b9608d4 (commit)
       via  3bf6b4e47923150a0c7e6da3d4698e81d4d93690 (commit)
       via  c606f897ecd747f9ef436c653e7a140abe8cc2e9 (commit)
       via  c0d2150001798b0d0aba0a43986111fea2677c6f (commit)
      from  26de03572cabf03376842084d361e361d37e5e99 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 56d9fbe362540e6043c1038d6050b498554ff142
Author: Simon Josefsson <address@hidden>
Date:   Sun Aug 10 22:49:30 2014 +0200

    Version 1.29.

commit ac89cc93882b4ab533048c4cfa58e59296c2b1ce
Author: Simon Josefsson <address@hidden>
Date:   Sun Aug 10 22:34:19 2014 +0200

    Ignore more.

commit fa172f26d5929407de7170d420675ead68cdb5b7
Author: Simon Josefsson <address@hidden>
Date:   Sun Aug 10 22:32:36 2014 +0200

    Sync with TP.

commit 1ba543de7dad3b5cdf26b45a4103c9922b9608d4
Author: Simon Josefsson <address@hidden>
Date:   Sun Aug 10 22:29:08 2014 +0200

    More copyright year updates.

commit 3bf6b4e47923150a0c7e6da3d4698e81d4d93690
Author: Simon Josefsson <address@hidden>
Date:   Sun Aug 10 22:24:56 2014 +0200

    Update PGP key.

commit c606f897ecd747f9ef436c653e7a140abe8cc2e9
Author: Simon Josefsson <address@hidden>
Date:   Sun Aug 10 22:24:05 2014 +0200

    Update copyright years.

commit c0d2150001798b0d0aba0a43986111fea2677c6f
Author: Simon Josefsson <address@hidden>
Date:   Sun Aug 10 22:10:16 2014 +0200

    Update gnulib files.

-----------------------------------------------------------------------

Summary of changes:
 .clcopying                                         |    2 +-
 .gitignore                                         |    1 +
 AUTHORS                                            |  794 +---
 COPYING                                            |    2 +-
 FAQ                                                |    2 +-
 GNUmakefile                                        |    2 +-
 HACKING                                            |    2 +-
 Makefile.am                                        |    2 +-
 NEWS                                               |    7 +-
 README                                             |    2 +-
 THANKS                                             |    2 +-
 TODO                                               |    2 +-
 build-aux/config.rpath                             |   18 +-
 build-aux/csharpcomp.sh.in                         |    2 +-
 build-aux/csharpexec.sh.in                         |    2 +-
 build-aux/gendocs.sh                               |   86 +-
 build-aux/gnupload                                 |    2 +-
 build-aux/pmccabe2html                             |    2 +-
 build-aux/snippet/arg-nonnull.h                    |    2 +-
 build-aux/snippet/c++defs.h                        |    2 +-
 build-aux/snippet/unused-parameter.h               |    2 +-
 build-aux/snippet/warn-on-use.h                    |    2 +-
 build-aux/update-copyright                         |    2 +-
 build-aux/useless-if-before-free                   |    2 +-
 build-aux/vc-list-files                            |    2 +-
 cfg.mk                                             |    6 +-
 configure.ac                                       |    2 +-
 contrib/README                                     |    2 +-
 contrib/doxygen/gdoc2doxygen                       |    2 +-
 contrib/java/Makefile.am                           |    2 +-
 contrib/java/README                                |    2 +-
 csharp/AssemblyInfo.cs                             |    2 +-
 csharp/IDNA.cs                                     |    2 +-
 csharp/IDNAException.cs                            |    2 +-
 csharp/Makefile.am                                 |    2 +-
 csharp/NFKC.cs                                     |    2 +-
 csharp/Punycode.cs                                 |    2 +-
 csharp/PunycodeException.cs                        |    2 +-
 csharp/Stringprep.cs                               |    2 +-
 csharp/StringprepException.cs                      |    2 +-
 csharp/generate/AssemblyInfo.cs                    |    2 +-
 csharp/generate/GenerateNFKC.cs                    |    2 +-
 csharp/generate/GenerateRFC3454.cs                 |    2 +-
 csharp/generate/HashSet.cs                         |    2 +-
 csharp/generate/Program.cs                         |    2 +-
 csharp/generate/Tokenizer.cs                       |    2 +-
 doc/Makefile.am                                    |    4 +-
 doc/cyclo/Makefile.am                              |    2 +-
 doc/gdoc                                           |    2 +-
 doc/gdoc.mk                                        |    2 +-
 doc/gendocs_template                               |   20 +-
 doc/java/Makefile.am                               |    2 +-
 doc/libidn.texi                                    |    2 +-
 doc/tld/Makefile.am                                |    2 +-
 doc/tld/README                                     |    2 +-
 doc/tld/fr.tld                                     |    2 +-
 doc/tld/no.tld                                     |    2 +-
 examples/Makefile.am                               |    2 +-
 examples/README                                    |    2 +-
 examples/example.c                                 |    2 +-
 examples/example2.c                                |    2 +-
 examples/example3.c                                |    2 +-
 examples/example4.c                                |    2 +-
 examples/example5.c                                |    2 +-
 gl/Makefile.am                                     |  641 +---
 gl/asnprintf.c                                     |   34 -
 gl/errno.in.h                                      |    2 +-
 gl/error.c                                         |   19 +-
 gl/error.h                                         |    2 +-
 gl/float+.h                                        |  147 -
 gl/float.c                                         |   33 -
 gl/float.in.h                                      |  188 -
 gl/fpucw.h                                         |  108 -
 gl/frexp.c                                         |  168 -
 gl/frexpl.c                                        |   35 -
 gl/fseterr.c                                       |   79 -
 gl/fseterr.h                                       |   45 -
 gl/getopt.c                                        |    2 +-
 gl/getopt.in.h                                     |    2 +-
 gl/getopt1.c                                       |    2 +-
 gl/getopt_int.h                                    |    2 +-
 gl/gettext.h                                       |    2 +-
 gl/intprops.h                                      |    5 +-
 gl/isnan.c                                         |  177 -
 gl/isnand-nolibm.h                                 |   33 -
 gl/isnand.c                                        |   19 -
 gl/isnanf-nolibm.h                                 |   40 -
 gl/isnanf.c                                        |   20 -
 gl/isnanl-nolibm.h                                 |   33 -
 gl/isnanl.c                                        |   20 -
 gl/itold.c                                         |   28 -
 gl/m4/00gnulib.m4                                  |   22 +-
 gl/m4/absolute-header.m4                           |  100 +-
 gl/m4/alloca.m4                                    |    2 +-
 gl/m4/autobuild.m4                                 |    2 +-
 gl/m4/close.m4                                     |    2 +-
 gl/m4/csharp.m4                                    |    2 +-
 gl/m4/csharpcomp.m4                                |    2 +-
 gl/m4/csharpexec.m4                                |    2 +-
 gl/m4/dup2.m4                                      |   14 +-
 gl/m4/eealloc.m4                                   |    2 +-
 gl/m4/environ.m4                                   |    2 +-
 gl/m4/errno_h.m4                                   |    2 +-
 gl/m4/error.m4                                     |    2 +-
 gl/m4/exponentd.m4                                 |  116 -
 gl/m4/exponentf.m4                                 |   92 -
 gl/m4/exponentl.m4                                 |   98 -
 gl/m4/extensions.m4                                |    2 +-
 gl/m4/extern-inline.m4                             |   47 +-
 gl/m4/fcntl-o.m4                                   |    2 +-
 gl/m4/fcntl_h.m4                                   |    2 +-
 gl/m4/fdopen.m4                                    |    2 +-
 gl/m4/float_h.m4                                   |   98 -
 gl/m4/fpieee.m4                                    |   54 -
 gl/m4/frexp.m4                                     |  172 -
 gl/m4/frexpl.m4                                    |  231 -
 gl/m4/fseterr.m4                                   |   10 -
 gl/m4/fstat.m4                                     |    2 +-
 gl/m4/getcwd.m4                                    |    2 +-
 gl/m4/getdtablesize.m4                             |    2 +-
 gl/m4/getopt.m4                                    |    2 +-
 gl/m4/getpagesize.m4                               |   32 -
 gl/m4/gettimeofday.m4                              |  138 +
 gl/m4/gnulib-cache.m4                              |    2 +-
 gl/m4/gnulib-common.m4                             |   74 +-
 gl/m4/gnulib-comp.m4                               |  238 +-
 gl/m4/gnulib-tool.m4                               |    2 +-
 gl/m4/include_next.m4                              |   55 +-
 gl/m4/intmax_t.m4                                  |   67 -
 gl/m4/inttypes-pri.m4                              |    2 +-
 gl/m4/inttypes.m4                                  |    2 +-
 gl/m4/inttypes_h.m4                                |   29 -
 gl/m4/isnand.m4                                    |   96 -
 gl/m4/isnanf.m4                                    |  188 -
 gl/m4/isnanl.m4                                    |  255 -
 gl/m4/largefile.m4                                 |    2 +-
 gl/m4/ldexpl.m4                                    |  133 -
 gl/m4/longlong.m4                                  |    2 +-
 gl/m4/lstat.m4                                     |    2 +-
 gl/m4/malloc.m4                                    |    2 +-
 gl/m4/malloca.m4                                   |    2 +-
 gl/m4/manywarnings.m4                              |    3 +-
 gl/m4/math_h.m4                                    |  353 --
 gl/m4/memchr.m4                                    |   88 -
 gl/m4/mmap-anon.m4                                 |   55 -
 gl/m4/mode_t.m4                                    |    2 +-
 gl/m4/msvc-inval.m4                                |    2 +-
 gl/m4/msvc-nothrow.m4                              |    2 +-
 gl/m4/multiarch.m4                                 |    2 +-
 gl/m4/nocrash.m4                                   |    2 +-
 gl/m4/off_t.m4                                     |    2 +-
 gl/m4/open.m4                                      |    2 +-
 gl/m4/pathmax.m4                                   |    2 +-
 gl/m4/printf-frexp.m4                              |   38 -
 gl/m4/printf-frexpl.m4                             |   48 -
 gl/m4/printf.m4                                    | 1570 ------
 gl/m4/putenv.m4                                    |    2 +-
 gl/m4/setenv.m4                                    |    2 +-
 gl/m4/signbit.m4                                   |  365 --
 gl/m4/size_max.m4                                  |   79 -
 gl/m4/ssize_t.m4                                   |    2 +-
 gl/m4/stat.m4                                      |    2 +-
 gl/m4/stdarg.m4                                    |    2 +-
 gl/m4/stdbool.m4                                   |    2 +-
 gl/m4/stddef_h.m4                                  |    2 +-
 gl/m4/stdint.m4                                    |    2 +-
 gl/m4/stdint_h.m4                                  |   27 -
 gl/m4/stdio_h.m4                                   |    2 +-
 gl/m4/stdlib_h.m4                                  |    2 +-
 gl/m4/strerror.m4                                  |    2 +-
 gl/m4/string_h.m4                                  |    2 +-
 gl/m4/symlink.m4                                   |    2 +-
 gl/m4/sys_socket_h.m4                              |    2 +-
 gl/m4/sys_stat_h.m4                                |    2 +-
 gl/m4/sys_time_h.m4                                |  110 +
 gl/m4/sys_types_h.m4                               |    2 +-
 gl/m4/time_h.m4                                    |   13 +-
 gl/m4/unistd_h.m4                                  |    2 +-
 gl/m4/valgrind-tests.m4                            |    6 +-
 gl/m4/vasnprintf.m4                                |  291 -
 gl/m4/version-etc.m4                               |    2 +-
 gl/m4/vfprintf-posix.m4                            |  110 -
 gl/m4/warn-on-use.m4                               |    2 +-
 gl/m4/warnings.m4                                  |    2 +-
 gl/m4/wchar_h.m4                                   |    2 +-
 gl/m4/wchar_t.m4                                   |    2 +-
 gl/m4/wint_t.m4                                    |    2 +-
 gl/m4/xsize.m4                                     |   12 -
 gl/math.c                                          |    3 -
 gl/math.in.h                                       | 2278 --------
 gl/memchr.c                                        |  172 -
 gl/memchr.valgrind                                 |   14 -
 gl/msvc-inval.c                                    |    2 +-
 gl/msvc-inval.h                                    |    2 +-
 gl/msvc-nothrow.c                                  |    2 +-
 gl/msvc-nothrow.h                                  |    2 +-
 gl/printf-args.c                                   |  187 -
 gl/printf-args.h                                   |  158 -
 gl/printf-frexp.c                                  |  190 -
 gl/printf-frexp.h                                  |   23 -
 gl/printf-frexpl.c                                 |   37 -
 gl/printf-frexpl.h                                 |   23 -
 gl/printf-parse.c                                  |  638 ---
 gl/printf-parse.h                                  |  193 -
 gl/progname.c                                      |    2 +-
 gl/progname.h                                      |    2 +-
 gl/signbitd.c                                      |   64 -
 gl/signbitf.c                                      |   64 -
 gl/signbitl.c                                      |   64 -
 gl/size_max.h                                      |   30 -
 gl/stdarg.in.h                                     |    2 +-
 gl/stddef.in.h                                     |    2 +-
 gl/stdio-impl.h                                    |  112 -
 gl/stdio.in.h                                      |    2 +-
 gl/strerror-override.c                             |    2 +-
 gl/strerror-override.h                             |    2 +-
 gl/strerror.c                                      |    2 +-
 gl/string.in.h                                     |    2 +-
 gl/sys_types.in.h                                  |    4 +-
 gl/unistd.in.h                                     |   17 +-
 gl/vasnprintf.c                                    | 5607 --------------------
 gl/vasnprintf.h                                    |   79 -
 gl/verify.h                                        |    2 +-
 gl/version-etc.c                                   |    4 +-
 gl/version-etc.h                                   |    2 +-
 gl/vfprintf.c                                      |   74 -
 gl/xsize.c                                         |    3 -
 gl/xsize.h                                         |  117 -
 gltests/Makefile.am                                |  372 +-
 {gl => gltests}/alloca.in.h                        |    2 +-
 gltests/binary-io.h                                |    2 +-
 gltests/close.c                                    |    2 +-
 gltests/dosname.h                                  |    2 +-
 gltests/dup2.c                                     |    2 +-
 gltests/fcntl.in.h                                 |   18 +-
 gltests/fd-hook.c                                  |    2 +-
 gltests/fd-hook.h                                  |    2 +-
 gltests/fdopen.c                                   |    2 +-
 gltests/fstat.c                                    |    2 +-
 gltests/getcwd-lgpl.c                              |    2 +-
 gltests/getdtablesize.c                            |   10 +-
 gltests/getpagesize.c                              |   39 -
 gltests/gettimeofday.c                             |  154 +
 gltests/ignore-value.h                             |   10 +-
 gltests/infinity.h                                 |   60 -
 gltests/init.sh                                    |    4 +-
 gltests/inttypes.in.h                              |    2 +-
 gltests/lstat.c                                    |    2 +-
 gltests/macros.h                                   |    2 +-
 gltests/malloc.c                                   |    2 +-
 gltests/malloca.c                                  |    2 +-
 gltests/malloca.h                                  |    2 +-
 gltests/minus-zero.h                               |   74 -
 gltests/nan.h                                      |   70 -
 gltests/open.c                                     |    2 +-
 gltests/pathmax.h                                  |    2 +-
 gltests/putenv.c                                   |    2 +-
 gltests/randomd.c                                  | 1028 ----
 gltests/randoml.c                                  | 1028 ----
 gltests/same-inode.h                               |    2 +-
 gltests/setenv.c                                   |    2 +-
 gltests/signature.h                                |    2 +-
 gltests/stat.c                                     |    2 +-
 gltests/stdbool.in.h                               |    2 +-
 {gl => gltests}/stdint.in.h                        |    5 +-
 gltests/stdlib.in.h                                |    2 +-
 gltests/symlink.c                                  |    2 +-
 gltests/sys_stat.in.h                              |    2 +-
 gltests/sys_time.in.h                              |  213 +
 gltests/test-alloca-opt.c                          |    2 +-
 gltests/test-binary-io.c                           |    2 +-
 gltests/test-close.c                               |    2 +-
 gltests/test-dup2.c                                |    2 +-
 gltests/test-environ.c                             |    2 +-
 gltests/test-errno.c                               |    2 +-
 gltests/test-fdopen.c                              |   39 +-
 gltests/test-fgetc.c                               |    2 +-
 gltests/test-float.c                               |  384 --
 gltests/test-fprintf-posix.h                       |  153 -
 gltests/test-fputc.c                               |    2 +-
 gltests/test-fread.c                               |    2 +-
 gltests/test-frexp.c                               |   67 -
 gltests/test-frexp.h                               |  179 -
 gltests/test-frexpl.c                              |   78 -
 gltests/test-fseterr.c                             |   44 -
 gltests/test-fstat.c                               |    2 +-
 gltests/test-fwrite.c                              |    2 +-
 gltests/test-getcwd-lgpl.c                         |    2 +-
 gltests/test-getdtablesize.c                       |    2 +-
 gltests/test-getopt.c                              |    2 +-
 gltests/test-getopt.h                              |    2 +-
 gltests/test-getopt_long.h                         |    2 +-
 gltests/test-gettimeofday.c                        |   47 +
 gltests/test-ignore-value.c                        |    2 +-
 gltests/test-init.sh                               |    2 +-
 gltests/test-intprops.c                            |    2 +-
 gltests/test-inttypes.c                            |    2 +-
 gltests/test-isnand-nolibm.c                       |   21 -
 gltests/test-isnand.h                              |   63 -
 gltests/test-isnanf-nolibm.c                       |   21 -
 gltests/test-isnanf.h                              |   65 -
 gltests/test-isnanl.h                              |  127 -
 gltests/test-lstat.c                               |    2 +-
 gltests/test-lstat.h                               |    2 +-
 gltests/test-malloca.c                             |    2 +-
 gltests/test-math.c                                |  104 -
 gltests/test-memchr.c                              |  132 -
 gltests/test-open.c                                |    2 +-
 gltests/test-open.h                                |   15 +-
 gltests/test-pathmax.c                             |    2 +-
 gltests/test-printf-frexp.c                        |  119 -
 gltests/test-printf-frexpl.c                       |  134 -
 gltests/test-printf-posix.output                   |   40 -
 gltests/test-setenv.c                              |    2 +-
 gltests/test-signbit.c                             |  177 -
 gltests/test-stat.c                                |    2 +-
 gltests/test-stat.h                                |    2 +-
 gltests/test-stdbool.c                             |    2 +-
 gltests/test-stddef.c                              |    2 +-
 gltests/test-stdint.c                              |    2 +-
 gltests/test-stdio.c                               |    2 +-
 gltests/test-strerror.c                            |    2 +-
 gltests/test-symlink.c                             |    2 +-
 gltests/test-symlink.h                             |    2 +-
 gltests/{test-isnanl-nolibm.c => test-sys_time.c}  |   19 +-
 gltests/test-sys_types.c                           |    2 +-
 gltests/test-unsetenv.c                            |    2 +-
 gltests/test-vasnprintf.c                          |   94 -
 gltests/test-vc-list-files-cvs.sh                  |    2 +-
 gltests/test-vc-list-files-git.sh                  |    2 +-
 gltests/test-verify.c                              |    2 +-
 gltests/test-version-etc.c                         |    2 +-
 gltests/test-version-etc.sh                        |    2 +-
 gltests/test-vfprintf-posix.c                      |   52 -
 gltests/test-vfprintf-posix.sh                     |   16 -
 gltests/time.in.h                                  |   46 +-
 gltests/unsetenv.c                                 |    2 +-
 gltests/version-etc-fsf.c                          |    2 +-
 {gl => gltests}/wchar.in.h                         |    2 +-
 gltests/zerosize-ptr.h                             |   68 -
 java/Makefile.am                                   |    2 +-
 java/src/Makefile.am                               |    2 +-
 java/src/main/Makefile.am                          |    2 +-
 java/src/main/java/Makefile.am                     |    2 +-
 java/src/main/java/gnu/Makefile.am                 |    2 +-
 java/src/main/java/gnu/inet/Makefile.am            |    2 +-
 java/src/main/java/gnu/inet/encoding/IDNA.java     |    2 +-
 .../main/java/gnu/inet/encoding/IDNAException.java |    2 +-
 java/src/main/java/gnu/inet/encoding/Makefile.am   |    2 +-
 java/src/main/java/gnu/inet/encoding/NFKC.java     |    2 +-
 java/src/main/java/gnu/inet/encoding/Punycode.java |    2 +-
 .../java/gnu/inet/encoding/PunycodeException.java  |    2 +-
 java/src/main/java/gnu/inet/encoding/RangeSet.java |    2 +-
 .../main/java/gnu/inet/encoding/Stringprep.java    |    2 +-
 .../gnu/inet/encoding/StringprepException.java     |    2 +-
 java/src/test/Makefile.am                          |    2 +-
 java/src/test/java/Makefile.am                     |    2 +-
 .../test/java/gnu/inet/encoding/RangeSetTest.java  |    2 +-
 .../java/gnu/inet/encoding/StringprepTest.java     |    2 +-
 .../inet/encoding/caliper/CaliperStringprep.java   |    2 +-
 java/src/util/Makefile.am                          |    2 +-
 java/src/util/java/GenerateNFKC.java               |    2 +-
 java/src/util/java/GenerateRFC3454.java            |    2 +-
 java/src/util/java/Makefile.am                     |    2 +-
 java/src/util/java/TestIDNA.java                   |    2 +-
 java/src/util/java/TestNFKC.java                   |    2 +-
 lib/Makefile.am                                    |    4 +-
 lib/gen-stringprep-tables.pl                       |    2 +-
 lib/gen-tld-tables.pl                              |    4 +-
 lib/gen-unicode-tables.pl                          |    2 +-
 lib/gl/Makefile.am                                 |   36 +-
 lib/gl/c-ctype.c                                   |    2 +-
 lib/gl/c-ctype.h                                   |    2 +-
 lib/gl/c-strcase.h                                 |    2 +-
 lib/gl/c-strcasecmp.c                              |    2 +-
 lib/gl/c-strncasecmp.c                             |    2 +-
 lib/gl/gettext.h                                   |    2 +-
 lib/gl/iconv.c                                     |    2 +-
 lib/gl/iconv.in.h                                  |    2 +-
 lib/gl/iconv_close.c                               |    2 +-
 lib/gl/iconv_open.c                                |    2 +-
 lib/gl/m4/00gnulib.m4                              |   22 +-
 lib/gl/m4/absolute-header.m4                       |  102 +
 lib/gl/m4/alloca.m4                                |    2 +-
 lib/gl/m4/codeset.m4                               |    2 +-
 lib/gl/m4/eealloc.m4                               |    2 +-
 lib/gl/m4/environ.m4                               |    2 +-
 lib/gl/m4/extensions.m4                            |    2 +-
 lib/gl/m4/extern-inline.m4                         |   47 +-
 lib/gl/m4/gnulib-cache.m4                          |    2 +-
 lib/gl/m4/gnulib-common.m4                         |   74 +-
 lib/gl/m4/gnulib-comp.m4                           |   12 +-
 lib/gl/m4/gnulib-tool.m4                           |    2 +-
 lib/gl/m4/iconv.m4                                 |    2 +-
 lib/gl/m4/iconv_h.m4                               |    2 +-
 lib/gl/m4/iconv_open.m4                            |    2 +-
 lib/gl/m4/include_next.m4                          |   55 +-
 lib/gl/m4/inline.m4                                |    2 +-
 lib/gl/m4/intlmacosx.m4                            |    2 +-
 lib/gl/m4/inttypes-pri.m4                          |    2 +-
 lib/gl/m4/inttypes.m4                              |    2 +-
 lib/gl/m4/lcmessage.m4                             |    2 +-
 lib/gl/m4/ld-output-def.m4                         |    2 +-
 lib/gl/m4/ld-version-script.m4                     |    2 +-
 lib/gl/m4/lib-ld.m4                                |    2 +-
 lib/gl/m4/lib-link.m4                              |    2 +-
 lib/gl/m4/lib-prefix.m4                            |    2 +-
 lib/gl/m4/libunistring-base.m4                     |    2 +-
 lib/gl/m4/locale-fr.m4                             |    2 +-
 lib/gl/m4/locale-ja.m4                             |    2 +-
 lib/gl/m4/locale-tr.m4                             |    2 +-
 lib/gl/m4/locale-zh.m4                             |    2 +-
 lib/gl/m4/locale_h.m4                              |    2 +-
 lib/gl/m4/localename.m4                            |    2 +-
 lib/gl/m4/lock.m4                                  |    2 +-
 lib/gl/m4/longlong.m4                              |    2 +-
 lib/gl/m4/malloc.m4                                |    2 +-
 lib/gl/m4/malloca.m4                               |    2 +-
 lib/gl/m4/multiarch.m4                             |    2 +-
 lib/gl/m4/off_t.m4                                 |    2 +-
 lib/gl/m4/putenv.m4                                |    2 +-
 lib/gl/m4/setenv.m4                                |    2 +-
 lib/gl/m4/setlocale.m4                             |    2 +-
 lib/gl/m4/ssize_t.m4                               |    2 +-
 lib/gl/m4/stdbool.m4                               |    2 +-
 lib/gl/m4/stddef_h.m4                              |    2 +-
 lib/gl/m4/stdint.m4                                |    2 +-
 lib/gl/m4/stdlib_h.m4                              |    2 +-
 lib/gl/m4/string_h.m4                              |    2 +-
 lib/gl/m4/strverscmp.m4                            |    2 +-
 lib/gl/m4/sys_types_h.m4                           |    2 +-
 lib/gl/m4/thread.m4                                |    2 +-
 lib/gl/m4/threadlib.m4                             |    2 +-
 lib/gl/m4/unistd_h.m4                              |    2 +-
 lib/gl/m4/visibility.m4                            |    2 +-
 lib/gl/m4/warn-on-use.m4                           |    2 +-
 lib/gl/m4/wchar_h.m4                               |    2 +-
 lib/gl/m4/wchar_t.m4                               |    2 +-
 lib/gl/m4/wint_t.m4                                |    2 +-
 lib/gl/m4/yield.m4                                 |    2 +-
 lib/gl/stdbool.in.h                                |    2 +-
 lib/gl/stddef.in.h                                 |    2 +-
 lib/gl/stdint.in.h                                 |    5 +-
 lib/gl/striconv.c                                  |    2 +-
 lib/gl/striconv.h                                  |    2 +-
 lib/gl/string.in.h                                 |    2 +-
 lib/gl/strverscmp.c                                |    2 +-
 lib/{gltests => gl}/sys_types.in.h                 |   12 +-
 lib/gl/unistr.in.h                                 |    2 +-
 lib/gl/unistr/u8-mbtoucr.c                         |    2 +-
 lib/gl/unistr/u8-uctomb-aux.c                      |    2 +-
 lib/gl/unistr/u8-uctomb.c                          |    2 +-
 lib/gl/unitypes.in.h                               |    2 +-
 lib/gltests/Makefile.am                            |   27 +-
 lib/gltests/alloca.in.h                            |    2 +-
 lib/gltests/glthread/lock.c                        |    2 +-
 lib/gltests/glthread/lock.h                        |    2 +-
 lib/gltests/glthread/thread.c                      |    2 +-
 lib/gltests/glthread/thread.h                      |    2 +-
 lib/gltests/glthread/threadlib.c                   |    2 +-
 lib/gltests/glthread/yield.h                       |    2 +-
 lib/gltests/init.sh                                |    4 +-
 lib/gltests/intprops.h                             |    5 +-
 lib/gltests/inttypes.in.h                          |    2 +-
 lib/gltests/locale.in.h                            |    2 +-
 lib/gltests/localename.c                           |  104 +-
 lib/gltests/localename.h                           |   10 +-
 lib/gltests/macros.h                               |    2 +-
 lib/gltests/malloc.c                               |    2 +-
 lib/gltests/malloca.c                              |    2 +-
 lib/gltests/malloca.h                              |    2 +-
 lib/gltests/putenv.c                               |    2 +-
 lib/gltests/setenv.c                               |    2 +-
 lib/gltests/setlocale.c                            |    2 +-
 lib/gltests/signature.h                            |    2 +-
 lib/gltests/stdlib.in.h                            |    2 +-
 lib/gltests/test-alloca-opt.c                      |    2 +-
 lib/gltests/test-c-ctype.c                         |    2 +-
 lib/gltests/test-c-strcasecmp.c                    |    2 +-
 lib/gltests/test-c-strncasecmp.c                   |    2 +-
 lib/gltests/test-environ.c                         |    2 +-
 lib/gltests/test-iconv.c                           |    2 +-
 lib/gltests/test-init.sh                           |    2 +-
 lib/gltests/test-intprops.c                        |    2 +-
 lib/gltests/test-inttypes.c                        |    2 +-
 lib/gltests/test-locale.c                          |    2 +-
 lib/gltests/test-localename.c                      |    2 +-
 lib/gltests/test-lock.c                            |    2 +-
 lib/gltests/test-malloca.c                         |    2 +-
 lib/gltests/test-setenv.c                          |    2 +-
 lib/gltests/test-setlocale1.c                      |    2 +-
 lib/gltests/test-setlocale2.c                      |    2 +-
 lib/gltests/test-stdbool.c                         |    2 +-
 lib/gltests/test-stddef.c                          |    2 +-
 lib/gltests/test-stdint.c                          |    2 +-
 lib/gltests/test-stdlib.c                          |    2 +-
 lib/gltests/test-striconv.c                        |    2 +-
 lib/gltests/test-strverscmp.c                      |    2 +-
 lib/gltests/test-sys_types.c                       |    2 +-
 lib/gltests/test-sys_wait.h                        |    2 +-
 lib/gltests/test-thread_create.c                   |    2 +-
 lib/gltests/test-thread_self.c                     |    2 +-
 lib/gltests/test-unistd.c                          |    2 +-
 lib/gltests/test-unsetenv.c                        |    2 +-
 lib/gltests/test-verify.c                          |    2 +-
 lib/gltests/unistd.in.h                            |   17 +-
 lib/gltests/unistr/test-u8-mbtoucr.c               |    2 +-
 lib/gltests/unistr/test-u8-uctomb.c                |    2 +-
 lib/gltests/unsetenv.c                             |    2 +-
 lib/gltests/verify.h                               |    2 +-
 lib/gltests/wchar.in.h                             |    2 +-
 lib/idn-free.c                                     |    2 +-
 lib/idn-free.h                                     |    2 +-
 lib/idna.c                                         |    2 +-
 lib/idna.h                                         |    2 +-
 lib/libidn.map                                     |    2 +-
 lib/nfkc.c                                         |    2 +-
 lib/pr29.c                                         |    2 +-
 lib/pr29.h                                         |    2 +-
 lib/profiles.c                                     |    2 +-
 lib/punycode.c                                     |    2 +-
 lib/punycode.h                                     |    2 +-
 lib/strerror-idna.c                                |    2 +-
 lib/strerror-pr29.c                                |    2 +-
 lib/strerror-punycode.c                            |    2 +-
 lib/strerror-stringprep.c                          |    2 +-
 lib/strerror-tld.c                                 |    2 +-
 lib/stringprep.c                                   |    2 +-
 lib/stringprep.h                                   |    2 +-
 lib/tld.c                                          |    4 +-
 lib/tld.h                                          |    4 +-
 lib/toutf8.c                                       |    2 +-
 lib/version.c                                      |    2 +-
 libc/README                                        |    2 +-
 libc/example.c                                     |    2 +-
 libc/getaddrinfo-idn.txt                           |    2 +-
 libidn.pc.in                                       |    2 +-
 m4/update-header-version.m4                        |    3 +-
 maint.mk                                           |   67 +-
 po/LINGUAS                                         |    1 +
 po/{hr.po.in => pt_BR.po.in}                       |  159 +-
 src/Makefile.am                                    |    2 +-
 src/idn.c                                          |    4 +-
 src/idn.ggo                                        |    2 +-
 src/idna.el                                        |    2 +-
 src/punycode.el                                    |    2 +-
 tests/Makefile.am                                  |    2 +-
 tests/libidn.supp                                  |    2 +-
 tests/tst_idna.c                                   |    2 +-
 tests/tst_idna2.c                                  |    2 +-
 tests/tst_idna3.c                                  |    2 +-
 tests/tst_idna4.c                                  |    2 +-
 tests/tst_nfkc.c                                   |    2 +-
 tests/tst_pr29.c                                   |    2 +-
 tests/tst_punycode.c                               |    2 +-
 tests/tst_strerror.c                               |    2 +-
 tests/tst_stringprep.c                             |    2 +-
 tests/tst_symbols.c                                |    2 +-
 tests/tst_tld.c                                    |    2 +-
 tests/tst_toutf8.c                                 |    2 +-
 tests/utils.c                                      |    2 +-
 tests/utils.h                                      |    2 +-
 windows/include/ac-stdint.h                        |    2 +-
 windows/include/config.h                           |    2 +-
 windows/include/idn-int.h                          |    2 +-
 windows/include/stdbool.h                          |    2 +-
 windows/libidn4win.mk                              |    2 +-
 567 files changed, 2470 insertions(+), 23013 deletions(-)
 delete mode 100644 gl/asnprintf.c
 delete mode 100644 gl/float+.h
 delete mode 100644 gl/float.c
 delete mode 100644 gl/float.in.h
 delete mode 100644 gl/fpucw.h
 delete mode 100644 gl/frexp.c
 delete mode 100644 gl/frexpl.c
 delete mode 100644 gl/fseterr.c
 delete mode 100644 gl/fseterr.h
 delete mode 100644 gl/isnan.c
 delete mode 100644 gl/isnand-nolibm.h
 delete mode 100644 gl/isnand.c
 delete mode 100644 gl/isnanf-nolibm.h
 delete mode 100644 gl/isnanf.c
 delete mode 100644 gl/isnanl-nolibm.h
 delete mode 100644 gl/isnanl.c
 delete mode 100644 gl/itold.c
 delete mode 100644 gl/m4/exponentd.m4
 delete mode 100644 gl/m4/exponentf.m4
 delete mode 100644 gl/m4/exponentl.m4
 delete mode 100644 gl/m4/float_h.m4
 delete mode 100644 gl/m4/fpieee.m4
 delete mode 100644 gl/m4/frexp.m4
 delete mode 100644 gl/m4/frexpl.m4
 delete mode 100644 gl/m4/fseterr.m4
 delete mode 100644 gl/m4/getpagesize.m4
 create mode 100644 gl/m4/gettimeofday.m4
 delete mode 100644 gl/m4/intmax_t.m4
 delete mode 100644 gl/m4/inttypes_h.m4
 delete mode 100644 gl/m4/isnand.m4
 delete mode 100644 gl/m4/isnanf.m4
 delete mode 100644 gl/m4/isnanl.m4
 delete mode 100644 gl/m4/ldexpl.m4
 delete mode 100644 gl/m4/math_h.m4
 delete mode 100644 gl/m4/memchr.m4
 delete mode 100644 gl/m4/mmap-anon.m4
 delete mode 100644 gl/m4/printf-frexp.m4
 delete mode 100644 gl/m4/printf-frexpl.m4
 delete mode 100644 gl/m4/printf.m4
 delete mode 100644 gl/m4/signbit.m4
 delete mode 100644 gl/m4/size_max.m4
 delete mode 100644 gl/m4/stdint_h.m4
 create mode 100644 gl/m4/sys_time_h.m4
 delete mode 100644 gl/m4/vasnprintf.m4
 delete mode 100644 gl/m4/vfprintf-posix.m4
 delete mode 100644 gl/m4/xsize.m4
 delete mode 100644 gl/math.c
 delete mode 100644 gl/math.in.h
 delete mode 100644 gl/memchr.c
 delete mode 100644 gl/memchr.valgrind
 delete mode 100644 gl/printf-args.c
 delete mode 100644 gl/printf-args.h
 delete mode 100644 gl/printf-frexp.c
 delete mode 100644 gl/printf-frexp.h
 delete mode 100644 gl/printf-frexpl.c
 delete mode 100644 gl/printf-frexpl.h
 delete mode 100644 gl/printf-parse.c
 delete mode 100644 gl/printf-parse.h
 delete mode 100644 gl/signbitd.c
 delete mode 100644 gl/signbitf.c
 delete mode 100644 gl/signbitl.c
 delete mode 100644 gl/size_max.h
 delete mode 100644 gl/stdio-impl.h
 delete mode 100644 gl/vasnprintf.c
 delete mode 100644 gl/vasnprintf.h
 delete mode 100644 gl/vfprintf.c
 delete mode 100644 gl/xsize.c
 delete mode 100644 gl/xsize.h
 rename {gl => gltests}/alloca.in.h (96%)
 delete mode 100644 gltests/getpagesize.c
 create mode 100644 gltests/gettimeofday.c
 delete mode 100644 gltests/infinity.h
 delete mode 100644 gltests/minus-zero.h
 delete mode 100644 gltests/nan.h
 delete mode 100644 gltests/randomd.c
 delete mode 100644 gltests/randoml.c
 rename {gl => gltests}/stdint.in.h (99%)
 create mode 100644 gltests/sys_time.in.h
 delete mode 100644 gltests/test-float.c
 delete mode 100644 gltests/test-fprintf-posix.h
 delete mode 100644 gltests/test-frexp.c
 delete mode 100644 gltests/test-frexp.h
 delete mode 100644 gltests/test-frexpl.c
 delete mode 100644 gltests/test-fseterr.c
 create mode 100644 gltests/test-gettimeofday.c
 delete mode 100644 gltests/test-isnand-nolibm.c
 delete mode 100644 gltests/test-isnand.h
 delete mode 100644 gltests/test-isnanf-nolibm.c
 delete mode 100644 gltests/test-isnanf.h
 delete mode 100644 gltests/test-isnanl.h
 delete mode 100644 gltests/test-math.c
 delete mode 100644 gltests/test-memchr.c
 delete mode 100644 gltests/test-printf-frexp.c
 delete mode 100644 gltests/test-printf-frexpl.c
 delete mode 100644 gltests/test-printf-posix.output
 delete mode 100644 gltests/test-signbit.c
 rename gltests/{test-isnanl-nolibm.c => test-sys_time.c} (64%)
 delete mode 100644 gltests/test-vasnprintf.c
 delete mode 100644 gltests/test-vfprintf-posix.c
 delete mode 100755 gltests/test-vfprintf-posix.sh
 rename {gl => gltests}/wchar.in.h (99%)
 delete mode 100644 gltests/zerosize-ptr.h
 create mode 100644 lib/gl/m4/absolute-header.m4
 rename lib/{gltests => gl}/sys_types.in.h (76%)
 copy po/{hr.po.in => pt_BR.po.in} (59%)

diff --git a/.clcopying b/.clcopying
index 7e45b47..ba79945 100644
--- a/.clcopying
+++ b/.clcopying
@@ -1,6 +1,6 @@
        -----
 
-       Copyright (C) 2002-2013 Simon Josefsson
+       Copyright (C) 2002-2014 Simon Josefsson
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice
diff --git a/.gitignore b/.gitignore
index d951866..125ef0e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -371,6 +371,7 @@ lib/gl/libgnu.la
 lib/gl/striconv.lo
 lib/gl/striconv.o
 lib/gl/string.h
+lib/gl/sys/
 lib/gl/unistr.h
 lib/gl/unistr/.deps/
 lib/gl/unistr/.dirstamp
diff --git a/AUTHORS b/AUTHORS
index 7d99b95..11b037b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,5 +1,5 @@
 Libidn AUTHORS -- Information about the authors.
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 Simon Josefsson <address@hidden>
@@ -22,700 +22,106 @@ Contributed Windows Visual Studio project files.
 
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 URL: http://josefsson.org/key.txt
-Comment: This 0xB565716F key is used to sign releases of Libidn.
+Comment: This 0x54265e8c key is used to sign releases of Libidn.
 
-mKsEPNUHKwEFALqJSBHn6Qk5ex138kwymxA3idCFoTi5Q6mVooEVVaYVfeDG+5uV
-T5rhTFDfDcT9SO0eIlfKOraSRnVEHyDDH2PAgJFxyneFELcmLUQ66D+m8z+ziGro
-6bcDSBBDMRkHIX6/kH/vnevjqivIld+j8WTcVX+SArcKyzgQ58uMTrfQdLqzh6D9
-sE/838+ZPZkabmKKWMVWccoaUbWGYOcNwO0ABim0JVNpbW9uIEpvc2Vmc3NvbiA8
-c2ltb25Aam9zZWZzc29uLm9yZz6I+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgEC
-F4AiGGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCTvm3NgUJFLfe
-CQAKCRDtoh6UtWVxb7BxBQC3UF6FW9nyukBsGUvz7clNOdAhPyfkvab049xuubjC
-+kHGJuS25IzpvvLPIIUik6zZ0cQIWRtzPM2/6rWuktABHFQ0sf0A/o6f7ApEMnna
-MXxNhR2ymWjzc2jSF1zjg/KjwPpzk68Irk6fHbT/vuZASrcXT7ORy+vjhoSoU1uO
-zemp4tO8tK1ehsGKXQN7pPKhWpsMO5zVzZHxAlNUzUsXiEYEExECAAYFAj1Y8sIA
-CgkQV5Mp08AbKiJmNwCgkgjjuS5TcZq4rVBWNYu1VwQlJWYAoJZf+pBNBvzT9xOg
-Hcs1cAMwT4FHiEwEExECAAwFAj1esHUFgwFXijYACgkQvLvElXGKklZXlwCfTWSl
-L2/3q5Od3zBVMKVHgpTo4asAnAtw7vVEIwp9pPuy1oKjTB/obqltiEYEExECAAYF
-AkEAyoIACgkQntdYP8FOsoK0XQCfRN1QBVk7/eu4YbFQBqH463dcHx4AoMp2QurM
-RXFDImswJ1Wi9K65dq66iEYEExECAAYFAkD/P4YACgkQlv+ZxCXA7Au9KACfYKMn
-MPmlbZDi5/Le4mcLCUlQ+SsAn2qOQ14l/ellraqWXbvacCJkOyNpiEwEEhECAAwF
-AkDgVz0FgwCTtOwACgkQyIHdR0rnq0csrwCgtL27/ndpjew28bGVYU9tBmIg2GUA
-oKFFKKHvJB2pVjRkRL4DjohSdIrkiEYEExECAAYFAkJJAYsACgkQj8NyXz1o1joW
-fwCgtb8mtlI8rg52vT5DRU+Ct3NuDfEAoL7IX823ezbe7HVegheirf3q7zmKiKIE
-EAECAAwFAkJG+cEFgwDmsQ4ACgkQv9buWFf3fwmuCwQAtAopBWKTnll1t4lFnR+C
-mvXdqui6g/MhMVjGlnGaxzKfdlXIDT3i6VEMQk639rCLUxNB5YiQZZm7aABg1dwt
-f10mFQUkm9dt4d852cu6ytmljXLJ4NIQFrhZQUrxvh8s8j41oN/hcwyLaX+FLI0G
-6Jehz0m0nPlEQf0sJ/4oCuqITAQTEQIADAUCQklECgWDABPOSgAKCRBmvnH/Z0ho
-g9kYAJ0QKz8Gt/kc7Q9Y/Ahh/wZO6vaQ9QCggcgpRYoJ6g1QXYWdTO/Hxve4Lu+I
-TAQQEQIADAUCQk2CtQWDAOAoGgAKCRA7jqQfgvYSQDh8AJ43bDTlK1p/aLXxJ2/1
-pFrHWFvncACgvVli4V9P6pVhP9p+H3APtQ+URVSJASIEEwECAAwFAkJhOZ0FgwDM
-cTIACgkQC3gy83PWLUFxowf/YLAopAmpU94kKSC4ECFsLXDivJ4LCOxgqZ0u7Fgi
-QgwWK1miJJnW9gME5vE/jMHlsjGwUKJDC3SfbgjOJj31ivrGIh4od8+zU0bwlwoJ
-ppDF/5cbzBheUiCsz+BVBZs8ii4OahnoELUzXbyVZITkMztmn/2+7DYXqqf1tCTy
-wIR/hQzFp6W7GNT/I73Ksz/cKop4jzxE5whkl+5NMBk9VYhfa2X49/S65nwXg4ii
-BPQN0UrhN0ZvrF+uKX6oVlOX+30CrPyT8FkcRk1AOhUpqblk2M2DblOebgxfF1ZV
-jXNNN/0fZhy4iTbYSggndO5PIybKMkMogVtO07F/8lvtC4hMBBMRAgAMBQJC2LCN
-BYMAVPpCAAoJEBhZ0B9ne6Hs7fEAn145gLDePrbxrfwN2dG5+IuvpvtYAJ4oRmRy
-hxwpwahGE+5281z2VTrQ9YhMBBMRAgAMBQJC2LCxBYMAVPoeAAoJEIHC9+viE7aS
-7sAAnRYuXokAy66xi04YD1ODtssYFw7nAJ4lqshFVn7NR5yznu0tioYLFwyc54hM
-BBMRAgAMBQJC2LDRBYMAVPn+AAoJEGtw7Nldw/Rz2iEAoJFrzoYjkR5ANZYbeX/o
-zQecQCmAAJwNCoPySmaxrwO6BiUd11bO80bPxYkCIgQTAQIADAUCQtiw8QWDAFT5
-3gAKCRCq4+bOZqFEaF90D/9xV8ua/ezhWOu5ADgHE1yeWMWQsecIx9TA5QVQg8pp
-jA3E2REe/lJbCweVhwfvSmuvuymRQw71cIdmqF1dz9R8mb62N1r07DcPxibhtHi4
-poENxIHqvEbtOR17Y6Ql4DW4PjK1ut9y2y58HK6XTiqCtbg43jEcbXk1r9qLJl2L
-gopYJQ1KJCwfn+DCVadRA2FgVclMGUGIdiiTwp12+E/70oYoMzLwm+7MUgbJUpRL
-ytsc5frhT91iX2lPoeylAHAQ0681WiawvexlqtAPto9Gjbtnw32oSOqIJcbbMhN8
-G87pkvBhk5wXfVM7kyutBFhIHcQFGeuGkZpgeXt40NcUJffn+KOfeXzgdQwmwNlo
-9K0arxNpIukgugvVeNtsKj1gtW7IkYcLmvlDyShz/cytguNEU+1W0ZeG73Tjphs8
-mCSlCKVcNWcy2l7z/DvB3VPibac525/Sw1ZIq7DShRHHv8x02/658LEW7gSvvZ4j
-3yuZSNgL2lgPzaYoQo+8ysHK9dqViVBXAHIwVZTmXptb5zxQcHtFUnR51IDSAfBG
-d7gjU5NJNfKKngLjDJy56nmJGMw/+13F5XFcjGPC9t6ZKoQud712K8TRIczWgGMn
-gkahyTl4KIwPxVzWnUN0IkcsO/5yO3JudWzzYB6r1QomCSAAA+uirstJwVtBWsCA
-54hGBBARAgAGBQJC8krrAAoJEG74r8KGV0rKoI4An0CQA/3wPCxskfqLhvN69ViN
-c9GhAJwMR5Nl4q7Y4c5j9BOG+9Yxaom2OYhMBBMRAgAMBQJC8cBwBYMAO+pfAAoJ
-ECmqKFIzPnwjCzsAmgIwd1uJC2Ka3bIgTCJukFjCcdWRAJ47P2tLKEcvatuPnnPT
-yWYuXGTBqIhGBBARAgAGBQJD+NOYAAoJEOFd2FexXDfRRVoAnj+kNh2yJiIAI9JE
-Vccgdv8cdElgAJ9jZHFa4KIdIsdGQZ5G4qS0YkHwKojYBBMBAgAiAhsDBAsHAwID
-FQIDAxYCAQIeAQIXgAUCPr1HRAUJAtWOGQAKCRDtoh6UtWVxb3F2BP9Whe+ArZn6
-WlbpHF+37Rqr+KmXL2fLI0b+phneaieRvACsOmPD3jDpvxz/xVf8s49SJ2+a23Ia
-iCA8Boyws9sBxn5N+yWhdYYjfDbH3JUOQz7BKN/9o8EAYuU8pmQtEN0q4+QiNsU0
-a8qLAV3qmEOwLfkB4z4H+aDZxe/p7vIYP4QmzTn3ZQ0mYR5mxpc52pF82KVyNWWJ
-vmcirPwKSckEiNgEEwECACICGwMECwcDAgMVAgMDFgIBAh4BAheABQI/pCtUBQkD
-vHImAAoJEO2iHpS1ZXFvPREE/j3fX+cLxCCZNTjMhThGFujiT7ty4x1jVc91J6QO
-A+Jp+78NIIeyg3JTeR3WIv7/WFNzLKJXJEEcga+0ViPjoLfvGsHMAnwXqPYAxu1c
-DY4jId0bCYgoVlnfF9gwOWxebtotLpCiuXGL/168zEAXWJpPg6r2MfPhAKUJ9G8q
-52OOWJW3cObxoZ2gyXjuWOFtygZ1vUAqP/8UGeZNdajHD5uI2AQTAQIAIgIbAwQL
-BwMCAxUCAwMWAgECHgECF4AFAkCGvikFCQSfBP4ACgkQ7aIelLVlcW9oqwT/a2nW
-kFFy1q16WURE8vp+Tqu6i4r5mTdyHjbhQeZh5Pub5DEJiFuWXxE73JVrnNozacQb
-Vbsnn54B4Xv6tuEDMxaTXSjreDY6D08urM8A0gnUHCAOwxtmepm9wxk/l3WAXWwz
-QoQaqZ2PSPFGW4Epk8+JwWKoLv1O2i9NbycGEccF9rr6I12319Vzk+P4P3FOgCwa
-dAQHSGS3Y6hlLm/RGIjYBBMBAgAiAhsDBAsHAwIDFQIDAxYCAQIeAQIXgAUCQW/E
-VgUJBYgLKQAKCRDtoh6UtWVxb8gUBP9Oiapzi+7qCcpj8Yy55jQvgpXkhe9g5DuT
-lRiHYjP5vTvXJNF7pDOOPj1pSUxumC3viv/pxUaWKp3tSOjsT0ZVgy4ah6rUdjyy
-bLAOAiPmAP3ryStzURF5/RnQbbzrSGZJRfeQIxY2871hWg241/wslRtNpsxYSPCI
-PHMVB4SSFYzzbKRgUU7SXsVQYBAlRU644UE+dB+b17slv1xvagOUiNgEEwECACIF
-Aj0lzz0CGwMFCQHhM4AECwcDAgMVAgMDFgIBAh4BAheAAAoJEO2iHpS1ZXFvt3ME
-/ijwFJCSNoY1AfCEm3AX6vRKUbjiy0MdemsqajXF6awcbIaeCwk3wVr9JOs1usu2
-/AQQDvz0sf/hEv6c3sMTYspD6+QzrRMUVbLm0fp+pRZKyaW1tO+/JIoOl8qsOwod
-kXPQ7CYFvSZhhkxdUwVOa6UtL6kOdCjQAy7DDQTzdcC/GxHQNVUNF5KcBWC7LMN6
-iAt0dAFEMaQz4t37CHq+DCyI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4Ai
-GGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCQkBc0AUJBlijpAAK
-CRDtoh6UtWVxb9EIBP4pk/ztQF+XV5L4krXEmbjAsGb9C+I+4OoRUY/mWDvNAjGp
-pkhFD+8Q3oQvg+1dcPsJ5rQHSXgA2w1bOsTknK9DamyY35LHd9T0ZSllXOUX9q3Q
-eKiDBYc2KB35ZtxKNIA4Lt5qDgYbSgtlERxDY94BCSy4YApdwATei3O32t5IoR+B
-roeIr+w+zn9mVulkn3pRXByYDX/scxcTtWwRL+UNiPsEEwECAEUCGwMECwcDAgMV
-AgMDFgIBAh4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNFUlQF
-AkMVrNEFCQcvRSYACgkQ7aIelLVlcW+ahgUAnWORH5p6Cdk/zhen4sUwwnzsFyAO
-Z7vaVPrQPq58Czl2FymLm5kJgsGXH8b6KLxVMo8hjTZnsm+zO6XTLXsnnK7nXk70
-gBJ0AAM0XGlG53qDvvQmq3RkfFMHuSmxL+zL8pXTmnywIlEpgDHPVKbPKF3c508H
-FEPKFnDjuyRwPgq3q2mhC/qYYBRvw9hjjeRCqDTdC5wHuWLzs5MCLeG+3YhGBBAR
-AgAGBQJEc4b8AAoJEAixI47drUe278gAn15puEaeLjlpaTndlvxT+LAH/951AJ9b
-0Hlo7Py6F9c1liLsMNWNDnyvZ4j7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIX
-gCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJD8ykBBQkIC2/U
-AAoJEO2iHpS1ZXFvrF0FAJLVqSWQ2fYNGCvBH4xRS4n2LruzdubmzNuCIZrc75M+
-RfTvYeHwCNDY8H+PggYuXMT8armHvFvyL7jln864M9LTX4TwROrqKlkNgOkfxdSg
-Oz4QE9RHxxooF1GMl1yhxCoumixYE5w0z0LGYRKy/Xzd3+VMcUaFXvEqY6Q+cnQo
-qChCvKRmsIFhF4b4SAqzRePdx6U3PBpC4FbIlkQkpbaIRgQQEQIABgUCRYwLkgAK
-CRApqihSMz58I53iAJ47ZGEOrZrMqV6WKmfKa8+5907zeQCeI9LFETr1SK3IHx/7
-S7RlQhoqAzeI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1v
-bi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCRObocwUJCP8vSAAKCRDtoh6UtWVx
-b9fhBQCRE0dBfP855Vv2fPCzIxnu1I0GM9BjmAC4uMNdW6o7I4yQMXNYpP8RdxDz
-PTon1JYQZqQW77EdqtwjFeguScudF8+85I2FtKDmzl0NNubmX6ckxdCbuUmOk2Vu
-H0IQ8O0f1htk0h4dQB97YA8zu9AtqyASkdCDbRC7RgoaeUaV7N7v8RM3KpEJm6pc
-eQT1DLqOQIFAp/cDa76xXK2Xrd4IiGsEEBECACsFAkXhdvUFgwKHjGMeGmh0dHA6
-Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1YbgMAnj34VvAwJhWn
-Z79fbgSY9O7CIBJFAKCJEs0DbASutepLJhiysH3J61b5D4hGBBARAgAGBQJF4sLA
-AAoJEKrPs4YhG27v90UAoKBHaY3RXOkwk5YL58jSYoOWltJ/AKDTwdKSURBZ3RTe
-GkriWGZRy2sfd4kCHAQQAQIABgUCReGU9AAKCRAmSeYoxdNNBWHAD/4+/J4V7cM1
-dMrr6rpaggfgRa7d121f4n+KVn69fmxBr6vMkGP+8Aor4xMGvkL6HYJvOMRK752H
-wXij7TM0HdGqU0S6cisOXiS/LOPQOayz6HuvliIhJeyDF4wfI358ZH8gVTKTn+1l
-tqWmggd8KVbU2pEvNte+lD0VIxK0wrUT0nFEYoJsDlTUVpnmM4PxP8TwoIRwo/h9
-NnL8zeh+5sj0D5tZW4DsTC1AVPH1WYUN4aY2lv49twDh63oXbzXZQ+xKWJeiByao
-DeEOFtouwTb7RbmDBB1i0aeb7gWCryUiHD4p2zf+R+4ikcwcG0LzR7DC3WFdlPnb
-NII/G31ZDacpPqkk5S3LL2jIXKhpD15ilbXGjkqsBAkOJpO7rehVbxEGUfGh+2TZ
-cCvLHeh9ckgjimFlZywk230H/tkQJpnHaTOmhNbBbowUkIdCjTBLkqyW99sM2heD
-kmkYh9jJTj2BLVED4HrgyMp+dXGeDM7nVGDCPfbaFTTz6It+ODndAC2Q0d0N59Sz
-x2Xb8LYfngezdhV0q0GgGXl+vh9zvZnpHV7Bef6ABTq0IOQri83IZv3HlyBeK6KP
-JTx+ll32ByQ8JcMuAAaVqWXI914J/fD9bvsTzJNQsPEa8yBta22Ww+jcnHBBhAbU
-Kfw5FKNDrqYr4VGY9+am80YmnIRQIt7Fu4hGBBARAgAGBQJF4fboAAoJEE1EwCDF
-wFuuzREAn11W3gtaynmEAcxw/WxLdndmL0mmAKCsf55yO8kTmKoohRXpfo+jn4HB
-XYhGBBARAgAGBQJF4gz4AAoJEFUVYHaRYekRxxwAmwVy1T7YQQtP7xXNdM+EVUxL
-nteTAJ9AzaxlVV4dO/OZTG9QDbqztagH54hGBBARAgAGBQJF4grQAAoJEMfZMCWd
-/6rUv38An3mkvCWcxGKhN6/PgQ2+W4zpFQPDAKCxweB0Xh/TQDjQ/dSaoj/BccNK
-LIhGBBARAgAGBQJF4hFCAAoJEOVE3gebfDKNJ4sAn3owtLwwEWtpw9VQxTc66cmd
-oFqPAJ4r2z3VgRa/Ns/uWMxV0Zlee/f2M4hGBBARAgAGBQJF4i3gAAoJEHZJQAVJ
-ruv2v54AoJCl4M0ClZrwxyTkOXJs7xeQjtDtAJ485636UH2u71nZdIyGTMqQkszm
-BohGBBARAgAGBQJF4sNEAAoJEH5OpU/Qq0B1NE8AoOJY9VXq8PPDDPjRPaJLahjO
-ykz+AKDN3jXgHvqD26euQ1ksEBc8Vn6zF4hMBBARAgAMBQJF4sR8BYMChj7cAAoJ
-EHMcr9NTwaMv9/EAn35hATWBiY7ra8Z2bjy+GZ4eSLQmAKDX1GfInkT57/rzmpkx
-n+IQlikCMIhGBBARAgAGBQJF4s6iAAoJENoZYjcCOz9PA5IAoIZucQg6PaqLETbG
-ch/y2UM6BhZ2AJ92fj8dOvoKNxn9Rh4UcTSSiPXNDohGBBARAgAGBQJF4eL3AAoJ
-EHhn1Tx0eTXduhcAn2LWbAgZcRRU7PJtIO3zqsIm6keDAKCeZgrQaUd1GSNW4AzZ
-LuT/XXiWW4kCHAQQAQIABgUCReLO2gAKCRBSIlPD1yc5gYUMD/0ah8KqI6rjyi7p
-WqPPcPKy9ZCnPJv2JJllu1wx4dqRZnUVA3rmHAUpzQp7HsfMXWLgjxOnUEvzjZkP
-PamYnczdE65l5M8zah1WNjfR8Vk4/XaeolVXe3a5R8Vxj27QRa+T5yEHprb5hPo4
-uFWkPlJgJd+qcXCIc28135QngN5uRRQK4NnM/oTtv2nv15L4M4qiH6V+We5IW+Tj
-t74O0mSEekg1bB/XKlF/XcgyO8rEZgqwufZ4cHbzWYXw3C+CKkhDSDItGUw9HesO
-u1FS+Mf/Js4+/kFjW8ZJPFO+A2z3gYTDzaXGq2zlvbqw1gYId5pbukVM6PRqQrlq
-tI2Kza7/CY85b+DVU9Zwe/Hr+yYnEJdG+eWkshmB0mIXgQlSaf/sglsAncrmxA/g
-m5IxaE3TIRW/mtizuCUwq+gigIUEANAsNwR5a/RAekc8aNaO1cSj8izlGqrl6cuQ
-5jyizUJB5AcOV4CUDiazITOasbt4+xx9MTsciqWIkMLYRloVuqXgsoKOTxTT6Zq+
-lPEGRyYds7OEdaXHWPO0OJ2ZPCagb3OvqxJc123Xf7XXySGkGXzZgoA6D4BwIB0b
-5WQFq8722b0tJPktH2a5clKJio3SMir1bpPT6b/CM/Mrk3kIFKJpmvEBYrKTCfhJ
-nDI2GJ4Z/f6rUDhiyQ5yj5Rop2zot4hGBBARAgAGBQJF4vk5AAoJEItKxIGsHnFe
-eYYAnRbZnnFoSrbo5E908zFdUPwfVfUoAJ9Dgo1WuGHPD+89PSqsyMshK1qavIhG
-BBARAgAGBQJF4y0kAAoJELOx+BoCeHiA9a0An0E0Zyjequ/iRSSB+YolhRqc87tp
-AJ9PeRbv8Ce1TY6qCoyIO76zYScX5YhGBBARAgAGBQJF40D2AAoJEDiaVjzCcqEm
-vrkAnimr8D1OTH8O8+E3A2VOoxLhG8PTAJ93AR9hPTBxVBY+TqzapQz12ROtjohG
-BBARAgAGBQJF40DdAAoJEB9/MmoS7vYqmnUAnjcrUSIjc8jjfdxLhJES9yDBTP/g
-AJ9ZSpKAG4kvVjZqcSBhudGIw2NkQokBHAQQAQIABgUCReM6egAKCRDo4GL2DcsE
-MZKUB/9bQd/kyhettf5FPhSPgtVgZanF2kI0WnDWUGXbbn8vLs7GNGsb6eyuUDEM
-kL/f6xtVHNPC44HarRbawhph/m0P25KQlaHX4120gdYzPR7mnUMk9g7P2ycNrcND
-730oJMS3f8FBhe9fnt4adPU8mp5fgU2zTsdVHpa2zUVZHNh84iuEoxoZJEWEyHHJ
-ke/avbbc/G6JmMD+8vOV8nKHbuzNOAfA09kPJWAPcfR/grCpEMZ8SkB9F4FvPEjU
-2HxeFKx1vWNTamkr6ygUVlX7bBwLCe9p+7ue1rMeKOMsJF7UnAkOthEC2IeyhPn1
-gyErrjYzQOX+3+YPCSO73fBxSG6liEYEEBECAAYFAkXjS5cACgkQKJz/wOY81tb5
-TwCeLd//hOBTT9hnSkZFuxLso9J3cToAoKnsSW/csdFyRJLh024CqSzu3/QXiEYE
-ExECAAYFAkXjRMAACgkQjCXuDw3At9aUHQCglgCi6nNiupwbEfwEsvd4MRYVzGsA
-niDj36LSv47TIbmUQJlR/qiNJ+phiEYEEBECAAYFAkXjVQEACgkQmEvTgKxfcAxE
-EACgmX4IGrSutcvAs9Pfr6JYEE3hdsYAn1yLt/tyLO9laWWhLKhNH7MPHc0xiEYE
-EBECAAYFAkXjT0YACgkQIae1O4AJae8N+ACfXCp09XmUQQ/xvA4LipoTAoyqX+oA
-n3aZHFSOKENXaHthrpt0FFaPVNEJiEYEEBECAAYFAkXjfaMACgkQzxI0fJaL1Yct
-2gCdEw43ra6oy0cwLX+zwRzTXazKQn0An0FuDnGs6J5+x6hlK3MFjyfRYZc5iEYE
-EBECAAYFAkXkGvoACgkQZDZDYQnzQCR0eACfWdtadQLH9Bbi/YPOcheMmavmCrUA
-n1fBKs46WOq7jppufBXwcncegfxHiEYEEBECAAYFAkXlgbQACgkQeQ6MlGH/2qvD
-yQCffMAMRUHCPKIbbz59BVNmgpyvSmYAnRMspmLYF0gk0xfHoIFaS3nwt3DgiQIc
-BBABAgAGBQJF6Vo/AAoJEFeTDasLhrBnakQP/1Z460aR3KyxrCrEcDJ/Vzf7vsbq
-1DQnmoRuIgpKmR87N3qRLb2p94ffRYYxlWcFj1jiYT3Wq2bxjHyCZPgcAM2bQuuJ
-MFxQo2xgwobyNqesIafgdbMjdUEAVy+NTyJfdmM3I57lkrleGz6lk9ojMLoIDa/t
-R1C+uoLuSWMj0Xk/nCT+WnN3/xqZyPIa+i6MN8fuI6Nsa/C1jiNw2FnZy721hl+P
-1Bhx+i9aiXCR0qz/3AOAOz25F0OXNKKdzOgdo5mCkelbUaey4gPpvb2oZ30rh6VT
-elOOlGU6WbEO3DQBuOGAxJ1Ux801przITs1923bZU8EPyfDZyZWINkpl7M4En4bq
-GKQkjTIfE8GrSSCp9rsLg1siK38yMYodegSzSJ7ZWWGlyuKvrim1eQw8svSzRphs
-ujaDJG8Oy3Dlc3qBbA/CGx1OtyML5G/w5C5b2Wz/BkMgHnOfOJSVjGlJJrxGyydR
-qThibZ88yRcZ8130COubR4Rr2I+TD+FZLhGtzQGia4gDQ9QG5td6LS5yLPc3Y52N
-cwWsbMHWzLTQ2k3O7PcsetRPLpduiq1eZUZZveY0MSjH+uH3xzp6qfj9I4FDtK6e
-pHQ0F9Dw8kK9qBAhiqrKxsUUbalx5Pup0gIkzNe1vzjByS2P/j2VMhbinhG5FZl0
-O2mPcIXHeHlAJdGCiEYEEBECAAYFAkXt5LkACgkQMGnpIbeahxy4RwCggxD0dEmG
-z7ipFrmwbIGTxuxIS+IAoKfxzxjiT2m3AEvfkL/xNuqgenPViEYEEBECAAYFAkXk
-wVwACgkQcLIDITr1nRa4rQCfZvrXaoYQ8TeX/lhuJfmsPb7kIRcAniKy+cTGNExR
-mZutFX/OcnatDZExiEYEEBECAAYFAkXqoaAACgkQL5UVCKrmAi7oEwCgu/2cheN4
-mU+yFFIG6HmLrbeIc5IAoI2I4eLWJdmLpJleOYgF7CtTGIKxiEYEEBECAAYFAkX/
-bGMACgkQOpD/wRQI1/HBUwCglcM0b6fl1oP8iofWeovuhSk4+5sAmQHrgf2pbqFW
-1oTBNS60dNQjA7VdiEYEEBECAAYFAka12CoACgkQXeJJllsDWKIizACgqk7R3Bhn
-GgzraKbcP9qSMhbYBr8An2Xah3bURySnK2QBDx4GzNM/vCTqiEYEEBECAAYFAkdZ
-tOwACgkQcgQ2cL3l8e4/XACg2opaihfpMLeOKb2bNSD7cLpI3N0An2A2r+PcOgUD
-t3qIIZ8i24HAhBnSiEYEEBECAAYFAkdZt8kACgkQ4Q56CecvefrAfgCfU/NbkK4w
-CiFMyviXo/F8tOEGyqkAnAgNaSmDzLkYZxHlM0SXosfHfV9diEYEExECAAYFAkda
-cyUACgkQaGtW3WCKJJsOKwCeLKhorr01GCKnXR8QaGvImLVOm98AoJpyR9WMJ0cs
-X+CuEdzGJDTlD8pxiEYEEBECAAYFAkddIIAACgkQt5wosOl/hW0OtwCgposF7nuk
-dTQ1nsQd1AGHb0CkQzYAn06bBOKMXsPcN2VvMiO2hiv9FLhniHoEExECADoFAkdc
-k2IzGmh0dHA6Ly93d3cuaGVucmlrbm9yZHN0cm9tLm5ldC9zaWduLXBvbGljeS0y
-MDA2LTEwAAoJEOdekMA5zDPbZ9IAnRTxxJl2Rtv1ZbnGsOuPJ6musP+5AJ9b8b3Y
-9BL7PRHzWgQjzALVVXRrdIhGBBARAgAGBQJHXR/KAAoJEPG6TB7RyLqP7nYAn048
-cLE/iNKJFxl/RwkY9VcRedkrAJ9+Y6u67OnG6HneUhzqGvMDbaGmAohGBBARAgAG
-BQJHXYVBAAoJEIUGW1nVLdGnUJ0AnjF43FY5SwhcW2JmuPVu1YnWfrwwAJ990zkv
-mIQtRCrxMzMgThz4jVaoEIhGBBARAgAGBQJHXAvSAAoJEO2/HhEm8iS4g2YAoMWb
-nnF/sbeM8+WToKO0nnoJrXVAAJ9iX3wXtSwAqrK+3X5imRfXGTxh8ohGBBMRAgAG
-BQJHXuTeAAoJEIXCJ+WlVzjy4fQAoKz8piSTCDPkv0qeNq0bdoDs9mOxAJ4lO8Hp
-GDqjYheaAvKG7tFZ1fsZjIj7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIY
-ZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJF1dVYBQkLk/wtAAoJ
-EO2iHpS1ZXFvjEQE/1HviHOOSHv0ZuOd+H6SVlkwnhmx4g6fpyeeOa49lywggMBL
-8zddB/928PMYFQQ+pvYmECkOK+O6sVO2NkubopZwE/hUjt5sc0XTYQ9Lvxp40N/K
-UR8fSR5FvLQSWYGYRDXkK3t3Cta83ZeJk2IK43DpgVoFWMN6x69DlRGTyRWbB2Vd
-RvSZz3ZKp86p5cnwMT++K+pNxq+eY0UJorLRj+SIRgQQEQIABgUCSES5dgAKCRBQ
-LE8plp8qHbO7AKCPmi7Ri8FKIY/Wf9Ksa2NFDxUnRwCcCdAwwG67ZmplFNtZlVDW
-wFEcvT+IRgQSEQIABgUCSFlvKwAKCRAk0yv5qpXDSUwfAJ0TPD78S3J8UvoziG+b
-TCLTlPz1XwCgnWlV3PBKvOxuGSAdm/DOMlY1ogKJAaAEEAECAAYFAkkGvzkACgkQ
-Ke5YuZaGUXFYtgwgx9yOo8cCR2a0d/0J8Ux8wAnjLI8m68BCiKW6HmAzXx/mNX2e
-zicSEyqcvv4q5XdpvSrcA2kmlREBpu7mmnyerUuWWsTLMbi9clXaKRZ6yQJQBbrR
-YwrXtzdFziHqFjw+hC19uVXlPhXYa/8YL6aCO4JUlzWWgVF8xHupfRTIeXuGLkC+
-sWww2VmSm8Fg0FBG9jpIt4wYxNMI77so4szE/hoFQSdRtY1lC18jjluNiygGNQQP
-n7r5OKwrK9hX1gGZA2tGYVX0ZoYASRPZcUUzaYPH5cZ86SAg15zzroVD4etmk/2i
-I4sdzR9PyKr0zUp5FNSAFRey6avPAhaTNsyVDRiKmK3PnZF9H9HaRLJJnQEcvevN
-04Vg10VW/O3zCFMFi8zuxUP6ygoDdWZT9jR4wbzVEyFY7AUwXnStDd39p3oamTb9
-XtlngTJjmVBZIOlap4vmKsm0t2xviaxto6uR+656Ya49+SoXp+u5+dGDT2o0kFlN
-aC5r9zovItqdDYUHtn7DsIhGBBARAgAGBQJJZyWPAAoJEEc46iFldJl61+EAn1jp
-iTpjqq/l1oKwJQYDB0WsqGd+AKDEiDHvrN46b58gzQKdVbs472bFS4j7BBMBAgBF
-AhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/
-dHlwZT1DRVJUBQJIYfmJBQkNGHReAAoJEO2iHpS1ZXFvdAwFAIshSBfY4Zn4BQfa
-p1gTIjjcRy/v/bBnNMf8gMXkfm1FLTAaanO+n+lHsTNErPtaEfx8dyjvEg+wmOba
-qAJYoR75pXBFbLKdiN/P1Tp5Wd/C0t+cTT2datz2PL5XFKAMRko9rST8C1MWOiri
-H8akc6U6M+1Vy/dYcO2Tf3DxrXDLTFyrkfV9oREMsRFZu6W8P7UT578Epin/sTYY
-A619IXOI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1vbi5q
-b3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCSaEuAAUJDq1aTgAKCRDtoh6UtWVxb4pU
-BP9f7+9yeYZCJTvILOWlsYIvl7J2P0em2qYn3NbDUS1yq+BUO8udTYNWwyxX9zGT
-5obhX9bhcWgms/UbGMsvlZcOT+e438P0t1q5q8u+FOgZtfkgZvyacCFvT4Fnd00B
-+RaaGZ2atnodvhN8qpzHIf8GVrhzULEtdA55BRw+x5f6ORdSD14IFWirQ4WWKaXT
-URx5LIRxs6twYJawkumU6m4KiNgEEwECACICGwMECwcDAgMVAgMDFgIBAh4BAheA
-BQJAhr4rBQkEnwT+AAoJEO2iHpS1ZXFvkxgE/2ZfCBqYKIe3SDM0tOVNrIeSZuVN
-Uyn2xoqRKK4VomvTI1eMShfGa0twPVlBB5xXHt06yRbwjobJykmDc/Hmteel+FVW
-OcehnXq8T22gLENlEM0CUZellosNwFwdnWGOHGZs/B4BVCh2pzsCra6di7MKCznZ
-DOHX3TBLoqVHjWzCldxtwc6Y7fAsEtrLVos4+0JvjQoYYgHQyril5ywHYs+InAQQ
-AQIABgUCSw6cnwAKCRD1TYragIIf6syABACYfsh56PcvpDJ3pGPoylowLFW4DEP1
-4dFlADmaZd+SedFZqXI/Vv+7fT19W1cx/HqG46WwmSQjPYSqI3IMpB4IYMnsDYDn
-is9GIXLZyy/s4i8WBiiuRkuG69Q+SOjyF4X7MBh3UB2zkelpHHe1OTknOQ+7qzpZ
-rp6YhpAMSmSx8ohGBBARAgAGBQJF6qGjAAoJEC+VFQiq5gIukCUAn2UXazhZrEHL
-vZH0c56N2LdNHYI6AJ4zZnN8vY09pgpA6p7+YGQfnjuyBohGBBARAgAGBQJK/ASb
-AAoJENG84OKPoRoVuxQAnRhqvmMVRkSQiHLSQEnXu4zO2SiXAJ4l9/uWrMqAKUPe
-BcxbT7xrnru0zIhGBBARAgAGBQJK/BdwAAoJEHJZXrGBcEuTMP4AoKtme6FdYL53
-bVxbHklI8QwQEx6jAKCPSXqJmdslSfamkqA0dTncqUAZPohGBBARAgAGBQJLASuc
-AAoJEBgFUbrZWjw1PeIAn3GHmjiGSmkJzDAKpovoGEviB4DQAJ4+tap00n1o0q+b
-+8YjEN9tCt/VZohGBBARAgAGBQJLDEARAAoJEHfdleLqUuz0LZMAn3fBmDQzpfUX
-yhciz6dUirKC0L6aAJ9IbQB4y0s1o8eR2ZxRXy5cYB30FIhGBBARAgAGBQJLDbh7
-AAoJEI53TMap06Pgx1gAnArZ857v7THGYpmTCjbwBz1oh7+4AJ9CNLFSBqnrZ+9p
-YKH12RiFHLmuLYhMBBMRAgAMBQI9XrB1BYMBV4o2AAoJELy7xJVxipJWGZ0Anjly
-M5hKGecjlTcoKYWJlMDjf0vCAJ99oFg8mkzKasg3CREHi3Y3Fu26EohGBBARAgAG
-BQJLHGQ7AAoJEMcaTGXwWbHRLcgAn2h+moRVxidIb1mADTBGcOy0DjFjAJ9JLJMZ
-gCvnQEmvyZcIssqTJ8Gx4YhWBBARCwAGBQJLEp4JAAoJEPKthaweQrNnE7UA3jYY
-Ov08+w9dAdbxBmwnL+Lev2ZdSP8M+YS1pXIA31NNq1SYUuqb2CVCGUmMo8m/a5uS
-Z/0c2Yyr5OSI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1v
-bi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCSe3n2gUJDvoUKwAKCRDtoh6UtWVx
-b8gaBP0SDiN4gn0EUY2PPLQvFNkvZ96dIpHbMpjfjkmYSJF0zhgcD7bxWXjXDNng
-BblX3JMs3yhg1GfQLvLVpQ64FakTT/XLCo9VecyFxILzq4aSQHyxG6OcAKyq9ibp
-Y4YtUutwV+jiO1/Zos8cdtsyDdn5RYYe6v27omKYRKrGHNlk8NjAQC2pONY8MfPz
-MohWOcGhwdVYatAZXYENCo7hvlruiEYEEBECAAYFAkt731IACgkQchi8veCamme7
-FQCgkuR72TM4Ii1XM3gNK/u1j3B38NwAn3GgZ51dtypPDikroOtv+W3J/bI+iEYE
-EBECAAYFAksBnFgACgkQ2yYwJIHdsGU/+gCff51YjGdTyDHizwOHy35NzqcJMVoA
-n3olfNMrg1kyD1ALOsJrRzgNyBkhiEYEEBECAAYFAkxL87YACgkQgxIgkKLogl4D
-uQCgvZr657F1MuZpnNSIjkwcd2ptvXgAn3eAnUDlROcQMZ0mRLYU9CX2yfdZiEYE
-EBECAAYFAkxN8UgACgkQZR3zUj0j8l2XwgCgtRkGwT5aWUYbHugdou4OuCN5LzIA
-niyPXGVOll6eMmtikWqz2BvJC5dqiEYEEBECAAYFAkxN99oACgkQv2Bwi0hCbH4U
-TQCdGh2w9AKqGWfgM80p2l0bS7kRwIEAn3NoyUgMmxR2RCscRlymHiAO27adiGsE
-EBECACsFAk29TNoFgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhw
-AAoJENK7DQFl0P1YOFcAnjf2t4YAmxXRd3d0H7huUtVBqhtsAJ4uiqVhIskY+of4
-xIMhO5JSw4GRKIj7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNp
-bW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJLg+AvBQkQvjD/AAoJEO2iHpS1
-ZXFvNrAFAJhV4iJili/lBcZSvLUOTgVd5CO7Av33Cu/zOYT7MUW2bWWY4aB83xRL
-lMCIcwGFU8Tyvjow/lZLu82nih/15MMEBcjqi7XmZSszrrB0TULWWP8C6XIpSoap
-nVDo+irjiUjxiVnXK+ML7z5zVGeJbqfzSQdKUWBiYuxEJ6x/1E7hXW/WCgCjz9Fc
-NbSuXNyMIpE03BlAzpILz9n1AY1ynVWJAiIEEwECAAwFAkLYsPEFgwBU+d4ACgkQ
-quPmzmahRGhfdA//cVfLmv3s4VjruQA4BxNcnljFkLHnCMfUwOUFUIPKaYwNxNkR
-Hv5SWwsHlYcH70prr7spkUMO9XCHZqhdXc/UfJm+tjda9Ow3D8Ym4bR4uKaBDcSB
-6rxG7Tkde2OkJeA1uD4ytbrfctsufByul04qgrW4ON4xHG15Na/aiyZdi4KKWCUN
-SiQsH5/gwlWnUQNhYFXJTBlBiHYok8KddvhP+9KGKDMy8JvuzFIGyVKUS8rbHOX6
-4U/dYl9pT6HspQBwENOvNVomsL3sZarQD7aPRo27Z8N9qEjqiCXG2zITfBvO6ZLw
-YZOcF31TO5MrrQRYSB3EBRnrhpGaYHl7eNDXFCX35/ijn3l84HUMJsDZaPStGq8T
-aSLpILoL1XjbbCo9YLVuyJGHC5r5Q8koc/3MrYLjRFPtVtGXhu9046YbPJgkpQil
-XDVnMtpe8/w7wd1T4m2nOduf0sNWSKuw0oURx7/MdNv+ufCxFu4Er72eI98rmUjY
-C9pYD82mKEKPvMrByvXalYlQVwByMFWU5l6bW+c8UHB7RVJ0edSA0gHwRne4I1OT
-STXyip4C4wycuep5iRjMP/tdxeVxXIxjwvbemSqELne9divE0SHM1oBjJ4JGock5
-eCiMD8Vc1p1DdCJHLDv+cjtybnVs82Aeq9UKJgkgAAProq7LScFbQVrAgOeI+wQT
-AQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1vbi5qb3NlZnNzb24u
-b3JnP3R5cGU9Q0VSVAUCQkBc0AUJBlijpAAKCRDtoh6UtWVxb9EIBP4pk/ztQF+X
-V5L4krXEmbjAsGb9C+I+4OoRUY/mWDvNAjGppkhFD+8Q3oQvg+1dcPsJ5rQHSXgA
-2w1bOsTknK9DamyY35LHd9T0ZSllXOUX9q3QeKiDBYc2KB35ZtxKNIA4Lt5qDgYb
-SgtlERxDY94BCSy4YApdwATei3O32t5IoR+BroeIr+w+zn9mVulkn3pRXByYDX/s
-cxcTtWwRL+UNiEwEExECAAwFAkLYsNEFgwBU+f4ACgkQa3Ds2V3D9HPaIQCgkWvO
-hiORHkA1lht5f+jNB5xAKYAAnA0Kg/JKZrGvA7oGJR3XVs7zRs/FiEwEExECAAwF
-AkLYsLEFgwBU+h4ACgkQgcL36+ITtpLuwACdFi5eiQDLrrGLThgPU4O2yxgXDucA
-niWqyEVWfs1HnLOe7S2KhgsXDJzniEwEExECAAwFAkLYsI0FgwBU+kIACgkQGFnQ
-H2d7oezt8QCfXjmAsN4+tvGt/A3Z0bn4i6+m+1gAnihGZHKHHCnBqEYT7nbzXPZV
-OtD1iEwEExECAAwFAkJJRAoFgwATzkoACgkQZr5x/2dIaIPZGACdECs/Brf5HO0P
-WPwIYf8GTur2kPUAoIHIKUWKCeoNUF2FnUzvx8b3uC7viEwEEBECAAwFAkJNgrUF
-gwDgKBoACgkQO46kH4L2EkA4fACeN2w05Staf2i18Sdv9aRax1hb53AAoL1ZYuFf
-T+qVYT/afh9wD7UPlEVUiEYEExECAAYFAkJJAYsACgkQj8NyXz1o1joWfwCgtb8m
-tlI8rg52vT5DRU+Ct3NuDfEAoL7IX823ezbe7HVegheirf3q7zmKiQIcBBMBCAAG
-BQJOXJv+AAoJEH/Z/MsAC+7uMLUP/ihuyOK3rCtKqNdP3FrR5lJJ1WMTLx+r1iMT
-X5we1RfOADPtl7rwlHdOGEI1jvae2iEFVyIiBy6eKn5L9A2HhBJ7wqZsXlqmrJgR
-49RzhHx00UksFmS9uat1YfX+bOH5nuytaeZDCYwBA6/sSmtbeyfSiO6YASFnIO5F
-gM5ZCLrCFQUAb9mFAMUTI+IpYLoPanzHcQ2LvJsfqMc2U6OlyzZJl+UOPbA0jv3h
-hEBJBZB//HYsNjHzLk2BIq/3Ff+VZXMXdmUdqL7eIoIEZz6ep4L0KpUGdK5Zrubg
-D8yLf+qtxX6B+igQ8UGONki3bBggtO7CknJg+qQB24kuSRrA8wTkY4Trxvi6hywx
-eFCuR+205Aakjhbz0Y7dTdZp7zJIPlFz9dfwPfEgTlZx5g6cmG0SJ9JHYG648wFQ
-omcv09cA4P/na7W8DzB+wL7lRjLE4OuTWN1FMN2ZzWudJf4ruPdRRtSZV4kCElSj
-Ht+6NpvqgWeDH0Rnm5sjFxGSwpWqPOkYEGae7KVkB5xoVUe7htBdTiIL9eNabthj
-R/pSaeQD70nTIkoSQwxEnQIPq3gDDxyy+hvCUM2e2u2V150NErLW6BkORtpL71Ja
-yHhPhCgPcYHcYrhg0HcTqNDQJUPXpJ7ATmrfFqxjSreIuJ47YSISawW4xG3qeKRy
-MW28oNSeiEYEEBECAAYFAk5XxfMACgkQB5GvjMAzY/TEAACfXfWm6e7MyFL6snIl
-EmOWw/RRr/EAn0e2W0SRyLRrjMWJk6RIVAOxW1o1iQIcBBABAgAGBQJOYMgJAAoJ
-EFKbqWJpCnCxDv0QANhAtHg6TFyqERlQwz9zz4eragH7e3VlU4hLRURjjJP5zy6R
-IuJYBzm97rpegOtt51eLkMDOjYrnwEkY58elSfOyPLQmcQX06KCF6QH2iwJyCxsB
-5oCQB9IBrmK/4rs9Co2HUwxI1rw6+rfaUAsr4aT6SBylbDcMP/XwBt3MA/kjaI53
-ivrTsMFjH36ffRT3LfeVafdYwux1vtYPDCDQAq7KuWCo7Dkt8bTdoyegnnqfXhvM
-Wokxto1e+fkl4fLmjypWt1/W0fR/jXq2/oiNk6zS6EkVxyjq5m3q06v7AR6GIRaY
-N4ZQOEmHlLkXlQkHiyhvlv2JbjElr5D/jb4TqUid/GrzUosDJrv+RBd7gkccGokd
-zIPw8D53zT38O+geT+ek6iNSVByfqCkG2emuVGjWsUfj79vrsWeyYIxksyYptx0u
-OHWa1ORYyRhZ80uogo0h0MvvY90j4uzJQKfdAAfF01a4MgmBDBN2YqprRqB3kInL
-P9GxM9zgf2lv3jYBfNBjoLZxKlaFH5ISTNHbW0ud8SfTEQTKkX6vS0zkvHCv4Uea
-GQ0qIgDHps88n0Jqk+9apb4Ms1aKkL0E5AJY63Z18IsehdbekgFMvg2FZiA+6J+I
-UvCCnG+mWQbDbcs0aaIiiN58f3gpmSDq15iPyrEwSzOSBKbWmskMd6iX+fk6tCFT
-aW1vbiBKb3NlZnNzb24gPGphc0BleHR1bmRvLmNvbT6IRQQQEQIABgUCSWcljwAK
-CRBHOOohZXSZeiUYAJdfCtm1Aij3dVLTBpyIS1lk5iYrAJ4qXN9eQAJwFC28VZgu
-U+VVCPg2z4hGBBARAgAGBQJC8kruAAoJEG74r8KGV0rKw/0Anj3miI06v5jOKbRJ
-t6wwLINA7N6RAJ9pdfC+4JZ+SMq0w9cO3NKGEsJ12ohGBBARAgAGBQJD+NOWAAoJ
-EOFd2FexXDfRuzYAn2jjBwZqp6NfIRZM+cPQFWosanMIAJ9gZGuZXqOGcRHDYo1V
-wUK7Kg8anYhGBBARAgAGBQJD+NOYAAoJEOFd2FexXDfRRVoAnj+kNh2yJiIAI9JE
-Vccgdv8cdElgAJ9jZHFa4KIdIsdGQZ5G4qS0YkHwKohGBBARAgAGBQJEc4b8AAoJ
-EAixI47drUe278gAn15puEaeLjlpaTndlvxT+LAH/951AJ9b0Hlo7Py6F9c1liLs
-MNWNDnyvZ4hGBBARAgAGBQJEc4cAAAoJEAixI47drUe2X7kAn2STeXyx0720Av+k
-aloy7DBcbQ9PAKCeHu+tG0BJiaFJ5PlFL9z7YTf6KohGBBARAgAGBQJFjAuOAAoJ
-ECmqKFIzPnwjjEMAn1PGwa5O+Wkrfj8P+kUbrNDbQ4njAJwNHA9EwqAhV/iunGMk
-eXqyYR4ESohGBBARAgAGBQJF4eL6AAoJEHhn1Tx0eTXdNRYAoNE99BYi7z6tVqND
-nq2+59mx8xSqAJ93ptV7L/TCXEUfcG4poHiZpSgzO4hGBBARAgAGBQJF4fboAAoJ
-EE1EwCDFwFuumAsAoKvDeDQF6vBxmsDQDRAyaX2hZz81AJ0fENkdFcOUkpvetayT
-WsiPUq9mxIhGBBARAgAGBQJF4grUAAoJEMfZMCWd/6rUgIwAnAq+iewnfvQpYXMR
-QPQHFQ1Q4oIWAKCbUj2FEFUlU6cFznPqIMnUzc2Az4hGBBARAgAGBQJF4gz6AAoJ
-EFUVYHaRYekRoGAAoLkeCD2erYxzbJSjia1ifnlNnSbPAJ9S5mNGOnmLTAYxGOVJ
-AgAXAtZtxIhGBBARAgAGBQJF4hFDAAoJEOVE3gebfDKN370An1/jE3l8uC/UzrtY
-4E8FzB1pavjwAJ4sE44wMa8Bidx6SJny2pLFYxicZ4hGBBARAgAGBQJF4i3iAAoJ
-EHZJQAVJruv27z8AoL1S0MZUyWBxb0qLdQBtaDnOEDwDAKDFehqTzLa4GI1XBWnM
-7+5vreKy3ohGBBARAgAGBQJF4ltVAAoJEFuTwC+eSpyd5QkAn0InDM3Ef74GDEeg
-EJi9CyV68RozAJ47ClCsb4r7WGCYJoplsFHvvGdWGohGBBARAgAGBQJF4sLGAAoJ
-EKrPs4YhG27vaK8AoO3ONc4vHoteNr4J1uO/saI/vuMDAKD4FSdsGU0DcMUzZwIx
-+HT74UcxRohGBBARAgAGBQJF4sNGAAoJEH5OpU/Qq0B1hCIAn3odxjrFGyc9x8KC
-aeBYXPcM4nN4AKDc7V60rCdebbhtFhEzdw8uw2TH34hGBBARAgAGBQJF4s6iAAoJ
-ENoZYjcCOz9PL7wAn2GeQZncnl0YvUhMebrsLnO6mHCYAJ4+dnk7nGWFch4j4Pz7
-PUkakSavTYhGBBARAgAGBQJF4vk7AAoJEItKxIGsHnFex+0AniZ4F5qmExcEh9I3
-3H/iGtQ5QKGpAJ4+FJNR7fD2hCbEb+bzWLfB5DU+74hGBBARAgAGBQJF4yKoAAoJ
-ENOjcASuTRzUKTYAoJeMX1gnPVKfjKvcCF2XOOFrhlaUAKDfb/kQ6DYI/0iz2qoz
-s2anY4cAE4hGBBARAgAGBQJF4y0qAAoJELOx+BoCeHiAVAEAnAhbHFmonRhodwe6
-FSak7SPDeFxKAJ4w73sJn9Zb36S2jjtnOYgmrfgLKIhGBBARAgAGBQJF40DdAAoJ
-EB9/MmoS7vYqpcIAoKxAoqVD+73ldkTmVoMa8SGgRczZAJ4kyDtzFs+bsxU87qr1
-QnAbJC47vYhGBBARAgAGBQJF40D3AAoJEDiaVjzCcqEmX2wAni+Nw8JZMW2jdHxu
-YV92EyNvMXZ0AKCUTA6JJ39mCUtXEpSgBy2zlApjyohGBBARAgAGBQJF40uXAAoJ
-ECic/8DmPNbWs4IAn0vpU3ALdg8yT0aq4qQJdX1oVi5bAJ9EVqkfOkE6WqPIaA5p
-nodCaTIddIhGBBARAgAGBQJF409IAAoJECGntTuACWnvwD8An2FF/JEayVKOL++9
-YbNLXpBVeRxaAJ44hot3GOOSS2OIZZ9L/nw4ZRiHWohGBBARAgAGBQJF41UFAAoJ
-EJhL04CsX3AMMy8AoNI1odP+fQA6h4CLWjaEK1qndHhlAKDNY25jsLzqCcJn0JqQ
-aNN3gkvNx4hGBBARAgAGBQJF432jAAoJEM8SNHyWi9WHevAAn2TcTFyH84jOpejO
-mDSTrK30xQx1AJ46kGnM5mgIVuqSDrl/1R4PmrYN44hGBBARAgAGBQJF5Br+AAoJ
-EGQ2Q2EJ80AkeQwAniuGytBx5JvGcFJV5NBliOGfxhs0AJ0be5jI/yWjK/bn88x2
-wmNp3mcA44hGBBARAgAGBQJF5MFdAAoJEHCyAyE69Z0W5t8AoLgQz3ZhGe/hzwQ2
-bBTMeV12AyzhAJ0QWg/BHvHseBde5/14a+V8pt0SXYhGBBARAgAGBQJF5YG2AAoJ
-EHkOjJRh/9qrW5QAniwa6vfWlEt1H8oeUOjJCyp7Ad4GAJ44QWVps5BWoeNpJWcS
-3m4cIFYEXYhGBBARAgAGBQJF6qGjAAoJEC+VFQiq5gIukCUAn2UXazhZrEHLvZH0
-c56N2LdNHYI6AJ4zZnN8vY09pgpA6p7+YGQfnjuyBohGBBARAgAGBQJF7eS5AAoJ
-EDBp6SG3moccZusAnRbuB1slbRLAebBjUhTlyvgSdsibAJ0V/NfekMsvwX6e6my5
-KBTFY4WyuohGBBARAgAGBQJF/2xwAAoJEDqQ/8EUCNfxSUEAoIDQQMHKQdtsKlcQ
-KL3du2kBeaj+AJ0WEKNgRh8NgrcnppW2TpOygvQqM4hGBBARAgAGBQJGtdgxAAoJ
-EF3iSZZbA1iisQsAoJ4LWFLNtSwDA4bNi+qIAHIVkEsbAKCW86SWOi3QcT/cZ+ed
-MZdqTTXeRohGBBARAgAGBQJHWbTuAAoJEHIENnC95fHuRb8An2E3kaGysE5hsrKB
-fkIBlco2Sb2IAJ91er1Yq2k8VOpUsBie/dysvgsYh4hGBBARAgAGBQJHWbfMAAoJ
-EOEOegnnL3n6TYwAn2rA+SuEU9y0LUzxr55/wc6ayG+MAJ0TsyBrQBwA5tj9xg27
-dqvkZy+RYohGBBARAgAGBQJHXAvSAAoJEO2/HhEm8iS4E9oAmgImQfzgb6MQ4drV
-6xO1FrGkP2g4AKCs9bCw4TPhsjuoVLLwnOgzE6+EPYhGBBARAgAGBQJHXR/OAAoJ
-EPG6TB7RyLqPJVAAn0ck2xBfVEwOXIAvYfiotTAAzAsFAKCgmHeAr0iUrC6YICas
-URoecVoJgYhGBBARAgAGBQJHXSCAAAoJELecKLDpf4VtzC4AoNG5vj9Xz/ivXays
-7uOd6aqhapRBAKCMpQuXSYePOXDCEkiGG+YDtoe5mYhGBBARAgAGBQJHXYVEAAoJ
-EIUGW1nVLdGn4mkAoJUnzThPYZZ+i51IjmXANTqr7ys1AJ9pDllBNW6SdJ0/H/fK
-3o9Mda/Pq4hGBBARAgAGBQJIRLl4AAoJEFAsTymWnyod1UAAn2eE7xX2Tm0cJTuG
-M86y/DTgYEWOAJwLQTb+RmtjruSpboc4HQ+HHP4T9ohGBBARAgAGBQJK/ASbAAoJ
-ENG84OKPoRoVgpAAn0UxXXsO8AC23hNCfuvgjSaA9kYnAJ4u5O69pG6D9X0ZmxSj
-BVSxv6VD2YhGBBARAgAGBQJK/BdwAAoJEHJZXrGBcEuTggAAoN5Z9FTq5ZsRFYBM
-q4pM1IIi5TbhAKCNUYEW6JV1TeYtU216eCIVuOV8Q4hGBBARAgAGBQJLASucAAoJ
-EBgFUbrZWjw1BBAAoI0+3cP62FnI3Z1TRcf+OHU9VnSZAKCA2suW6DOY2I/dKl6c
-P44NTvUc0YhGBBARAgAGBQJLAZxYAAoJENsmMCSB3bBl61oAnRtDOz1x35Hloibx
-wa5A9TC7tGprAJ9Enw3pbl149CBC4ebPdXkfG3HFwIhGBBARAgAGBQJLDEARAAoJ
-EHfdleLqUuz0thAAnRssFLNOymUkbXRMV2xCTBxX/MpfAKCYjyOzjPSVoS5eNl+V
-lRSOAM1Gv4hGBBARAgAGBQJLHGRGAAoJEMcaTGXwWbHRgkUAnRLnoCpmX6989NXj
-LRnSNS/dzq2UAJ0QHa6xy3Sn2641FpQ4LLsXwLrZwYhGBBARAgAGBQJLe99SAAoJ
-EHIYvL3gmppngOUAoL/gZ4GkR/ECCqkEeJCUzppwhvcuAJ9KMET7MeaihS3CHw97
-4wVY0hEzI4hGBBARAgAGBQJMS/O2AAoJEIMSIJCi6IJev30AoI/sfMGmBnWu+UNU
-gQN22/V8c5NqAJ9eWEaU2hdXCP8MsbBUwIxzUAlXMYhGBBARAgAGBQJMTfFIAAoJ
-EGUd81I9I/JdI28AoMbAB2wCwsanUZwRLvw9Hs7iCyz8AKCeXydwOVIUAX47I/wy
-OwHwjZVi24hGBBARAgAGBQJMTffaAAoJEL9gcItIQmx+ngAAn3pzLNJ2gaHihWR5
-KIFZuM5rjZVkAJ9Wq8/Vq8CthN5QAtXLwqEmiJCeVYhGBBIRAgAGBQJIWW8rAAoJ
-ECTTK/mqlcNJLoYAnjT3gs2YZrIjXS+XrW8VGc1W013uAKCophfcMkBjGBdHkDUN
-WvDce6uGJohGBBMRAgAGBQI9WPK/AAoJEFeTKdPAGyoiF/cAn0dqzIl3Ss2QfeWn
-AOWEkODC0MsoAJ9Tb+zN+kgKH0f+91o6pT6VQEPn0YhGBBMRAgAGBQJA/z93AAoJ
-EJb/mcQlwOwLW7EAoLqAEMsXFUj3ScAXDYcvQaR+5lN7AKDPPs/9tixtWkuHbW9S
-PuaUfDizQYhGBBMRAgAGBQJBAMp9AAoJEJ7XWD/BTrKC96AAn1wDNEETZX6vDoCY
-dUGpV8NUiyWVAKCgKBgAABm+xdRzvY2ytKMCCPLLHohGBBMRAgAGBQJCSQGLAAoJ
-EI/Dcl89aNY6Fn8AoLW/JrZSPK4Odr0+Q0VPgrdzbg3xAKC+yF/Nt3s23ux1XoIX
-oq396u85iohGBBMRAgAGBQJCSQGQAAoJEI/Dcl89aNY667EAoKu5aEpTLn2dplFP
-Pc7+ojRJc+vVAKDcmOrKUKjImZWIh+Y/vJLwOHYi84hGBBMRAgAGBQJF40TIAAoJ
-EIwl7g8NwLfW7wgAnjB0msHMLIjZvK8oSH0kWpPxmiCGAKDKaUqkSvY0y87IizLQ
-YijodqQvDIhGBBMRAgAGBQJHWnMlAAoJEGhrVt1giiSbLcoAnRgf744XS2aZvXzX
-pdkvqJo8QDZ1AJ0aBMP918C88Tf5Nd1sEIg+t39hdohGBBMRAgAGBQJHXuTeAAoJ
-EIXCJ+WlVzjy1CQAn11r9MoJ0GKP4+b3es9SmnZGyWr3AKCnGQnlg2tgJrChzJ9p
-A97GwdkosohMBBARAgAMBQJCTYK1BYMA4CgaAAoJEDuOpB+C9hJABNIAoM+b0ThD
-6p/FUCWdw+nRYV0CEo2qAKC+QaW6C+mZcFBFIx6AfGyRkE8SEIhMBBARAgAMBQJC
-TYK1BYMA4CgaAAoJEDuOpB+C9hJAOHwAnjdsNOUrWn9otfEnb/WkWsdYW+dwAKC9
-WWLhX0/qlWE/2n4fcA+1D5RFVIhMBBARAgAMBQJF4sR8BYMChj7cAAoJEHMcr9NT
-waMvI8YAoMfRnlA0X1QwWBSFe8ZHXyZX4hAwAKCQz64vRmNK7+9cbAzpFCotaw+h
-i4hMBBIRAgAMBQJA4Fc9BYMAk7TsAAoJEMiB3UdK56tHYAgAoKntYOktDGj5H5u9
-hfIqE9YIayhHAJ9PdLPDyKM6C01fd002zQe/eapsj4hMBBIRAgAMBQJCHfAjBYMA
-PyIxAAoJEBgoK2tFOUoBYsoAnjEtckRH/RlpC18blWLwEYDTSgw7AKClQUzPgy9K
-Nf3j7/MsP/Emrl4+SIhMBBMRAgAMBQI9XrB1BYMBV4o2AAoJELy7xJVxipJWGZ0A
-njlyM5hKGecjlTcoKYWJlMDjf0vCAJ99oFg8mkzKasg3CREHi3Y3Fu26EohMBBMR
-AgAMBQJCSUQKBYMAE85KAAoJEGa+cf9nSGiDgwsAn3jgiKCQHBL3u0JnYrJ61zrp
-257PAJ9aWgtpDW2H3FnjuFzpx3oJT1cOR4hMBBMRAgAMBQJCSUQKBYMAE85KAAoJ
-EGa+cf9nSGiD2RgAnRArPwa3+RztD1j8CGH/Bk7q9pD1AKCByClFignqDVBdhZ1M
-78fG97gu74hMBBMRAgAMBQJC2LCNBYMAVPpCAAoJEBhZ0B9ne6HsQUsAn2Ln//Ts
-mEqIL/bcLtt8Vz82lqjCAJ9a5TbLuUOp4+h43F2CJjrUBL7CK4hMBBMRAgAMBQJC
-2LCNBYMAVPpCAAoJEBhZ0B9ne6Hs7fEAn145gLDePrbxrfwN2dG5+IuvpvtYAJ4o
-RmRyhxwpwahGE+5281z2VTrQ9YhMBBMRAgAMBQJC2LCxBYMAVPoeAAoJEIHC9+vi
-E7aSucUAn0cfeij+j8djU6jDPm/trQHL5/KoAJ4ySAysyVQ8U3fZ+OY3XfYKXPfV
-KIhMBBMRAgAMBQJC2LCxBYMAVPoeAAoJEIHC9+viE7aS7sAAnRYuXokAy66xi04Y
-D1ODtssYFw7nAJ4lqshFVn7NR5yznu0tioYLFwyc54hMBBMRAgAMBQJC2LDRBYMA
-VPn+AAoJEGtw7Nldw/RzYR8An1jLVjT/3xOU0Xd9TV1ON39qxJetAKD6GoejRHaD
-XO2KBoQnrGVgp9wVUIhMBBMRAgAMBQJC2LDRBYMAVPn+AAoJEGtw7Nldw/Rz2iEA
-oJFrzoYjkR5ANZYbeX/ozQecQCmAAJwNCoPySmaxrwO6BiUd11bO80bPxYhMBBMR
-AgAMBQJC8cBwBYMAO+pfAAoJECmqKFIzPnwjf58AoIpuzzaOyGF3g2Ky9dV9vqEC
-BNs1AJ4jRU27Zwovy/hznIR9q+o+euIjoIhWBBARCwAGBQJLEp4JAAoJEPKthawe
-QrNnybMA3ixjtagoUDd5XAO9addD51xRSP6tBBnSpzAniPcA31KUOXObtU+ns4gD
-rv81TxB+LJdJZMdYJkvC8aGIawQQEQIAKwUCReF29QWDAoeMYx4aaHR0cDovL3d3
-dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsNAWXQ/VgiLQCgiPqK/6keqoRc1gY4
-ezjVthcLdboAnjD5FfICPgGIaPM2+7HKj/FrcSJHiHoEExECADoFAkdck2IzGmh0
-dHA6Ly93d3cuaGVucmlrbm9yZHN0cm9tLm5ldC9zaWduLXBvbGljeS0yMDA2LTEw
-AAoJEOdekMA5zDPbiTQAn3DRwnGevBwyDnhC8QwFVHLOjoXtAJ0W6gyPcHIha72N
-zQYU3+Wa1q6dOYicBBABAgAGBQJLDpyfAAoJEPVNitqAgh/qT4AEAIUmlRr9EnWT
-vdNqDHoVQoThJU/wN2V8nICTngZ5C6A0zP6VTUdF24dBlIoI6k13vkXC1/67lXU/
-a9TTpi4IEzRjrb0tF5iRvFBQUlduByzbNJdGgWkkVzmsBQjSD+WeVk6ApDpdw6s5
-5Tg7s/643H6eKHr54AvWIekMB0C9lOnniKIEEAECAAwFAkJG+cEFgwDmsQ4ACgkQ
-v9buWFf3fwmU8gP+IEINaym7K7FUvZWuCkdJcHshCGVBlTOqI9YB1CTY8LNdRHp8
-jrRXBZFZODPAziH/1ZoiSQjsgTg88BUpxLLSgJHZOqhuPMWlLwa6WsytKGTkuFCn
-Z+mkmHKe7LVnjSKr8OrP7y5OhFtdVqb5dgi9SIeK2ass1Xo+9EWZbco+v/OI2AQT
-AQIAIgIbAwQLBwMCAxUCAwMWAgECHgECF4AFAj69R0YFCQLVjhkACgkQ7aIelLVl
-cW8Y2QT+PjSaIJj37ijex+wJ/HBLkyydqWYVZhuTPTVMLst6DQModRBj3Xi7UYlg
-g7lJ6tRxarVuF/eYW6Zv4jx5FePxKLBeAG+H4FRQH+ogIXeBlDx41X7L25wjSxxP
-hQ4CwBNMmSKckD84LdQiPrygbX8JQLsJ08XuTzDG7740d0RotqxizGhYP0QJTD67
-VvffoQ0gLtB5chw7Pc9osT1+j4yizojYBBMBAgAiAhsDBAsHAwIDFQIDAxYCAQIe
-AQIXgAUCP6QrUQUJA7xyJgAKCRDtoh6UtWVxbwueBP4uh9ZEOuSjt2n5OpfuAabl
-srRzhlgPfluBMfjHNynEFsGjn81l81TCqStRln7wDUj95ZufSi3YvoYSFG1jffGM
-k/k2trgINtT3kxaGkfns6dykBuV7Ki2wWqdJkTe1ibyai+RCqt+J1ldSUuHdfQZ5
-wALPJQRb4Hqi7M29azFHcfxbMLf3yGYyBuKC7eBVNVaR58UTFK6r0CX3T7eGuk8b
-iNgEEwECACICGwMECwcDAgMVAgMDFgIBAh4BAheABQJAhr4rBQkEnwT+AAoJEO2i
-HpS1ZXFvkxgE/2ZfCBqYKIe3SDM0tOVNrIeSZuVNUyn2xoqRKK4VomvTI1eMShfG
-a0twPVlBB5xXHt06yRbwjobJykmDc/Hmteel+FVWOcehnXq8T22gLENlEM0CUZel
-losNwFwdnWGOHGZs/B4BVCh2pzsCra6di7MKCznZDOHX3TBLoqVHjWzCldxtwc6Y
-7fAsEtrLVos4+0JvjQoYYgHQyril5ywHYs+I2AQTAQIAIgIbAwQLBwMCAxUCAwMW
-AgECHgECF4AFAkFvxFQFCQWICykACgkQ7aIelLVlcW/xbgT8CO3clOxFv4L9gsJt
-xe6lRUISlvmjoiQigmw8PIQwGfTCRYA5oK4Mja47+1PzbqzY1AlEi3JyFpIQMDCp
-RhkhfHGjOVH2vap3aGXxSFr8JGM0SO1Z5+88uNo9N7RAi4koaykIy+GYKypoyF9U
-LGj5QL/bUYgzLLG8etNasmE/Dl88mEXhY3wuPwaeIEbcv/HDHBymbv7VplP/3Vht
-ANfOz4jYBBMBAgAiBQI81QcrAhsDBQkB4TOABAsHAwIDFQIDAxYCAQIeAQIXgAAK
-CRDtoh6UtWVxb4jyBP0arTNzMTakDhO8BCE03d0iru6sCFJ2qQeh4UAFXy8KZ5yb
-tWJxFT/Q7xn0uXKujJ99cXhuy7icDR13wWkRKG20IjKiNv9yzQaNR36+m58mjZu1
-UDnGVm2PT9bELYmKTVoumi44QWgU5lgq5KZfWhsA5BQEqS5tp9k4CBBg36JCwjYx
-HfnWxymA1hSyMKPmgmPm6aFd+Lv9d3h5oTVs9TBOiOAEEwECACICGwMECwcDAgMV
-AgMDFgIBAh4BAheABQI/pCtRBQkDvHImABIJEO2iHpS1ZXFvB2VHUEcAAQELngT+
-LofWRDrko7dp+TqX7gGm5bK0c4ZYD35bgTH4xzcpxBbBo5/NZfNUwqkrUZZ+8A1I
-/eWbn0ot2L6GEhRtY33xjJP5Nra4CDbU95MWhpH57OncpAbleyotsFqnSZE3tYm8
-movkQqrfidZXUlLh3X0GecACzyUEW+B6ouzNvWsxR3H8WzC398hmMgbigu3gVTVW
-kefFExSuq9Al90+3hrpPG4j7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIY
-ZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJCQFzPBQkGWKOkAAoJ
-EO2iHpS1ZXFvLfME+QHcoVJUM3FqCzf/d+JhZvM5O0wtZ5qBxO793rsE7psgAcHV
-Ie5f87QZNtDp7ZmrnugyBhC67H2FrQKr8lqsIvKbaSzjro8yUoQtswVSef/OrhqS
-gEqs08Aifa66sowT1ZWO181m4BCC7aoNRovx8Huy0P+Y1Z2btPA+uu6UvZLh2iKq
-MP+95zloNHNHZWooG5THFQl0RdCJtybyDmLpn+uI+wQTAQIARQIbAwQLBwMCAxUC
-AwMWAgECHgECF4AiGGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUC
-QkBc0AUJBlijpAAKCRDtoh6UtWVxb9EIBP4pk/ztQF+XV5L4krXEmbjAsGb9C+I+
-4OoRUY/mWDvNAjGppkhFD+8Q3oQvg+1dcPsJ5rQHSXgA2w1bOsTknK9DamyY35LH
-d9T0ZSllXOUX9q3QeKiDBYc2KB35ZtxKNIA4Lt5qDgYbSgtlERxDY94BCSy4YApd
-wATei3O32t5IoR+BroeIr+w+zn9mVulkn3pRXByYDX/scxcTtWwRL+UNiPsEEwEC
-AEUCGwMECwcDAgMVAgMDFgIBAh4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9y
-Zz90eXBlPUNFUlQFAkMVrNIFCQcvRSYACgkQ7aIelLVlcW/4KQT+IqyFzH4FIELZ
-3kQrbgPDDqwEM80Xg/maosIx9rZVsZ5Zl99VCUaAl4t9O3aa0gAZGgLJpRrNaOPb
-TorjU5/sbRlUV4LJ8/KMG0oWXA0uuMxbPuQAa0u1cX9sqezgyveUHwpckqI5OPm4
-Uj2b5vl6YAwNcnJAbcOdr9ZFx6Ckj66uudHQ91mFgG9g89jqCBy0uxe18vcT9t6z
-VcuzItbNI4j7BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9u
-Lmpvc2Vmc3Nvbi5vcmc/dHlwZT1DRVJUBQJD8yj/BQkIC2/UAAoJEO2iHpS1ZXFv
-nC8E/2m35x5385TCfpBBULbxdISP5DZcTlM9O30L+XZnn1lFVAFDQes7ZtLJfQtG
-UYzSPoA110G7ckq8YmLN46h++tV1cEdUNC/+pq+Z+hb+wGTdXL9z2cGYXH4YyUTP
-FYgqAvegFEpUQb2ApP9tOfnNlAu3gu74GUBN4AM1SVSOdyCApJdene5hCCFaplAe
-sSze2TQ3DMHFg9b3sOa1hyNI1pCI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgEC
-F4AiGGRuczpzaW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCRObodQUJCP8v
-SAAKCRDtoh6UtWVxb4FkBP9tBDCSdedRv15ohfH5pJsB6g7mByjDIXOWByKdpTIe
-7on/WiA7CKWShA+zGGBEToD+6eTdlpyS8GvOk3abD1idUZEL41z2q55FYoWEF8o1
-QXAwJylUjLUiMJH98DPXGVXiSknlBBfls97xNhSp8pFLqF9ZG8Fl3RJS4LWzXkjK
-qAqr1FkRCersY7PJC8xtIF5GStvga69kh3B1tH6oPY+ZiPsEEwECAEUCGwMECwcD
-AgMVAgMDFgIBAh4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNF
-UlQFAkXV1VgFCQuT/C0ACgkQ7aIelLVlcW/oNAT7BnY+otbWxp6nuX2aKTnnmXVs
-VXS1DWFXLPplGwAp6b2rdlrm8pdj1BsXr9J4mLTBPdGmcJq7Yt7Srw9o/Lb3j9Lq
-cZYBIQP108oUMOQoDAgxgxln9ES0CucRAbFrrjeIFeZ9WM3ceoo4nmcDSXxOHTiz
-jODgj5GmhNvSYtE1V/wZxEgT1s91v0dNBYw3XP5deHgTuTpZskFf8wCk/kdLQYj7
-BBMBAgBFAhsDBAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nv
-bi5vcmc/dHlwZT1DRVJUBQJIYfmJBQkNGHReAAoJEO2iHpS1ZXFvPh4E+wePsiIA
-/rMdtwMewEcEyNKmfcdRvbSWLJVykJ76BIMUTe2gBArDmk8IT+a38ydbYX7XfH+M
-mIDtKfTuGsZMmTjslEVSX0HCc9hDabhZpdSvIzpb2Ss4pYkyyTCn0MZqd73TCZMX
-/HtMw0cGT3wPtp1fdFj7TvH7IeMDkc/vCSPcZcxJuVpRvgqzHcKKGrxoO98IeF0X
-La5zEBp0JtNuHeKI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpz
-aW1vbi5qb3NlZnNzb24ub3JnP3R5cGU9Q0VSVAUCSaEuAAUJDq1aTgAKCRDtoh6U
-tWVxb+lEBP9fygV0LopkxFO6SKll/LZynbNBaZiz3dPki2vlWupTiQbMjJ4aliUh
-L7uMPX+MguMrcNhAtenA05/cAHC6UthhN5flKYeTkomGL9RbTn1fq05nqWmlbbh9
-Ev3c7NfqBUEcamPip+KsvMzt6r5XIl/3eF7zOdg5Yn+/LeZdr9B0wuYgvV4L5nYD
-Ky6WkMA54gPNBtA2ps8yg2uZw7pWdnIdiPsEEwECAEUCGwMECwcDAgMVAgMDFgIB
-Ah4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNFUlQFAknt59oF
-CQ76FCsACgkQ7aIelLVlcW9HKQT+N9SWzP9QXtBIA/eYqH6hMfSKoVF6edhFQk/7
-FejAX3VE6ZVo7M1iPd70e++3nwlUYU9iUp7TaeOPLKjdCAUsDbpwNGSuj9oc2/Ba
-zRdjzjBqncZaOa76IzsIvBpLN9TPCcuzRMaggu1pAQMiGReFmApThaxCkOGwjFdm
-cWbydb0ngO4kbeHi6BXOzy1BTTRdK3Y7ThcRFvfYodeFRZDWVoj7BBMBAgBFAhsD
-BAsHAwIDFQIDAxYCAQIeAQIXgCIYZG5zOnNpbW9uLmpvc2Vmc3Nvbi5vcmc/dHlw
-ZT1DRVJUBQJLg+AxBQkQvjD/AAoJEO2iHpS1ZXFvDAgE/AzYH40Oe01TlvH651jU
-uR2PI2EJXOgo+2SdNekXdrWjKDnjix7TIULeCbhRCGA3VT7T6prGOVzeLUPt0Dow
-NLE5D9sjeq4bRvfBT0Qd+tQDsWPhw63rhRAaOT0eKRJ1GAcybsP2l/Vh/J7seYRO
-taeUAuipWTBHf39W5IOQjjk/pRTMrgnIop+ApncuzxQHfDXImGqzjCTIu77zKkSX
-tMGI+wQTAQIARQIbAwQLBwMCAxUCAwMWAgECHgECF4AiGGRuczpzaW1vbi5qb3Nl
-ZnNzb24ub3JnP3R5cGU9Q0VSVAUCTvm3NgUJFLfeCQAKCRDtoh6UtWVxb9AiBQCx
-rKdLFfVUXx4h7RAUGJAqQU1SKqURDywpwkaD8LRxGRpIRi0nd01A6PZXGqalhHb7
-829MvArqLnsB90BCcQ2cJWzsZblTe1zzNOgi6682sEpW40YisLj0Rwyl+3DmvNRm
-J6jqWEuaKaJpSjoHrllKYQeiZ0zgke5cS0U2x2NTwXgKrrF6po67ZxXgX/9h9if3
-nBEuuCqThZhEvPUis6qGiQEcBBABAgAGBQJF4zp6AAoJEOjgYvYNywQx7e0H/juf
-UUzX7Yw7sX2iFVN4sCIFbPJ13km/75+W63NRH6WhBnTa1z1h7w8v7ugEWd/OhuRe
-Hc9xG+JLoGgPvz+KdKTyJkZnokUYHMr6QE3RBfv2O/O3YZJf31bOv6Iy8ewauS6T
-sR7PUmSI4cV5HT80tOk9Hac1dog1WxlM9ZmS/LskBdHptc5XaIrMMxdPIKOJKFnh
-K17WQMtCobubqfLAyEmlFp5tlQx6xS3a/Dxc6VL/Gd+HvlzYolaD/fPXROhsdqoA
-YZkf6a8WOeCQsTIf3rL00S43/XM3t7dTyPNJiv5Jqds7FSLHdUiHcPn482HeGcw4
-uIAPJ+uE5b+YJXRp+QyJASIEEwECAAwFAkJhOZ0FgwDMcTIACgkQC3gy83PWLUH2
-Bgf9GHMCCYb349m66855EyPkJmlVRGI5Qi6m37rjRmvAjL+aBSFYoAYyUKefTyv3
-TsJ8l+bAQsoaRU6wbn7uc/LwoJUTByXFj7rPOoITxx6Sa3VP1nYdXjCtarKmjzQT
-YU1cWwfKUbEA3fSgs4gpd801l6C21F+DbSmP8CbOtGb62Nv1Ux1CXiWn2r8VUy5A
-VWZ0VD4qvxxIGGn58R0vLxKC5gGFids9JdMhJd1SHQ0mFkZp/NpNOnbw2A0tfhaF
-spdQAoDEjOHTr9fs0PAUBrt5YcP2W+iNZ9KPfN2c707p/3vErSPxQZCoXBmnN2LA
-5weNIVWZnKuJPUeyQ5FwH9orPokBoAQQAQIABgUCSQa/OQAKCRAp7li5loZRcRIv
-DCCoP0WynVZn3xtmZbozv1qkW0O2WjDdR5Kxs3ti31vK5HoVf+Qyii0U9AR/OJ26
-Rcjj1TOBR7975vNn4dMgw58ensBZRoBnO6L5i4xw5bSO/DsrRBZirfzu0jN748rc
-9f/17fa7ZWlg64QNrZzBEN/cQOwK8bcqUcsIXOddNxbp/udWVEoBhsyZZFCmpvP5
-APG+g9FPsd2cGXAcy3wVvj+oJ3nNr2RKID8cbpGD67S20RNma1BtFNUbm1F7u+n5
-+LbqyAd2meLxXQmN2pf8QSJIOieZVtXc0XPr2PE3/aZ9/4CscoBOtSJtO/2/KQCi
-yQRHLqJsyJ/pVkuJ6dzuIeh61ThUkFv/+MSueYlOxfZ1ZqUAMJo9vdUpeyrMKdLH
-+DQyec7qOIgxaEVCo77XnBu7NXUQU9dA2ppKr6tTyArEDeudKE4UGg8PlQ4pi9YV
-UcDlHc1CM/gJCuUkcz+g3t54bmMTKUm8acQjkLmBj+W1IQdt0Y4CcFnqq9uESGRq
-mxDQ/aLRiQIcBBABAgAGBQJF4ZT5AAoJECZJ5ijF000FiXAP/1cQ9iih1PuCQpzB
-zALS0Md+vzJQcKhho1V+PmQII/c893bTj/aGHh/lOV0AltG8lW6p8mHQ1tMOblHL
-aSrcTrUUt4wkZszw9mr36Vto53oO8pX43iEJ59xJZLdbMbt0Ikn7xcRYMOBnyRiL
-NP534TueKjhl+fqDIrWryYjQutIRie4Pk6BGTpjV5FktbPd0s3/PDm8ubusbUaKm
-DsS54+pAOYj2EpddMs/qKYq65QpsYfbMI7+9xfLronmwjoiTLjDZ0DYP/oJAZT+U
-1Awquxwop4jZ9dDwjtQU8aiYOKw7WXGvPlBD7PVXHqdwjm7mKs2McUVg+Wyru0Xg
-mDJVfXmxOmwAcwEAleGQT1/wLVjGy00qc/0XQm1zOorhsUXVtWhoTkfQinw40t92
-gF6az1CXoGC8bJAz3ifqtNhWeWHLH0870suEXyRT8GmU9wDz5w82QHXTG4rjzMzy
-q+tKiEH9AdSjjoffcnY90x0WNkzgqrO04kLYOw84TwvpZkEwJy8xd5M5N2go+ZxG
-148AoX5rNQdY55ykCRdIorsfMnBlbI2tBaNcSLmnlaMS5QYUGAWYaVvOLsAtgsqP
-OMcMW8EOdvZ1lbMu2zA90r90QxyhWW9lRCOljQDOES47o0VDrGJwczP3rea9qzW4
-VWGaV1yNPbZ/W7ggpL76nMQyUpXqiQIcBBABAgAGBQJF4s7iAAoJEFIiU8PXJzmB
-ZVcP/2j+knr/TnAy18so2tzJd6vxF3tHXiIGcS7pyyXL/Yq0p624P34dsmcaIJ20
-iwTHQVEQNkCtdt2sF1Ho+yboIZ9Up1C74tvzqiOfqawVeEMdK1PQaJsBEBPr1h0v
-9KhZnNMPiM6KAQtD14VSPbU7z6v7yjK20i4gZcasOhJMrH3EYByCHsaTzQfZDA+G
-G6E70x1zksabYWN4dHoToZ0XosOuwkBt9AjEF3T6dNbrx/OuehdwgOSxoU7/k/qx
-gHCfEhYkoYxfnF1jpSOw7QhX44S/w/UvVINkljIoKM+GBPmrdNUhs7NGoYoxf3I3
-1uvExv5gcQVxebmN60VNO3/dvZLNqDMvpfZ6VT8HA7yrGB8DaL7TeDOcEuVFqYF+
-pCOGTz1fp52p9hVKjQnGSPfqVLMjrxCI7HWZBly4Mi+Vmjd9Q4WTc/cjFhiTmjR5
-UaXQ5vHT16Zzz6FxSpuzt4cmpkltZoymjDxtjzIoApR9Sn5yuZGNg/xvs9X5OZDO
-RLPh/sz8ksQzLKdyL8BPpHQCBZapWv2PuiENpmwG2kc88zqwddvmKTX5Amz5qUGT
-D93LtWCIHSf2frq3RNJ0nqR3/soC+1rrOmn1D+RlhRTXtgUiUf+hXHdq/j1ew1P7
-oYWwLusqhECVN/1+Bg8MM78cUMke/QviWKXqIOf4AM3VmvtpiQIcBBABAgAGBQJF
-6VpOAAoJEFeTDasLhrBn9ZcP/R2FJvi8q5fQfpncTK+V6FiuNlQqO/y1P4HQ5aa9
-7G5QQLpW1o8Z1XRschYiLsCOKNOC3BEOxPqouD43zB8DN8aWgIrPsECIXZSBqn9f
-QnBsRerQ6BLMnQtTl+wcEyP0FvakdWZlWrKUmmm6ExKdDiloRy1+rcuzRQmyU2Ea
-1+UATqIhqywilmojxpl8G0LoBYeTsCxSX8xDgaXGSY2ZU0mgFC3yHsMQrTYA6rAE
-tisc1LKoGWaPP3QJ3erwyeyHV3vTb40lkXYi4aOpIC/kTZpY0JlDbOSgyE4ZOWo+
-yUTMiFvsb9rQjbbanHwO0DNhfykoDTMtX7hbTqks6tuqI8Q4EI8TjC3y3+M2u3Rt
-WDeGsvpJ/7cBimAMbctcSuEZsRw9Ow5FR5AxZwa1ot8oKzb0GWflYFWB6IkAO/e3
-vDgQwUGPmBWUdq41sPOKnir36LcHhaOZuqTsc6l+bGWI4oQhfpooT1J95wle1rsD
-Wmi07ymDQuV7O5+M3vbLc9JQhrRWep0wBXJhcxhQ+68BOUWvSpZ/PCqXl38nvM2K
-AXNcJbSIGW/mCpOmion5vJmvZFR20L9DbKZY/j9wBxJwWtHhqcOd+I6oF44ZAHLt
-x5h3gNZ3fw8FT5+fhn2ufwd8hGUnfLYKLucuzBtunfwYuBhjCra2M2jG4av/j69v
-xzfLiQIiBBMBAgAMBQJC2LDxBYMAVPneAAoJEKrj5s5moURoX3QP/3FXy5r97OFY
-67kAOAcTXJ5YxZCx5wjH1MDlBVCDymmMDcTZER7+UlsLB5WHB+9Ka6+7KZFDDvVw
-h2aoXV3P1HyZvrY3WvTsNw/GJuG0eLimgQ3Egeq8Ru05HXtjpCXgNbg+MrW633Lb
-LnwcrpdOKoK1uDjeMRxteTWv2osmXYuCilglDUokLB+f4MJVp1EDYWBVyUwZQYh2
-KJPCnXb4T/vShigzMvCb7sxSBslSlEvK2xzl+uFP3WJfaU+h7KUAcBDTrzVaJrC9
-7GWq0A+2j0aNu2fDfahI6oglxtsyE3wbzumS8GGTnBd9UzuTK60EWEgdxAUZ64aR
-mmB5e3jQ1xQl9+f4o595fOB1DCbA2Wj0rRqvE2ki6SC6C9V422wqPWC1bsiRhwua
-+UPJKHP9zK2C40RT7VbRl4bvdOOmGzyYJKUIpVw1ZzLaXvP8O8HdU+Jtpznbn9LD
-VkirsNKFEce/zHTb/rnwsRbuBK+9niPfK5lI2AvaWA/NpihCj7zKwcr12pWJUFcA
-cjBVlOZem1vnPFBwe0VSdHnUgNIB8EZ3uCNTk0k18oqeAuMMnLnqeYkYzD/7XcXl
-cVyMY8L23pkqhC53vXYrxNEhzNaAYyeCRqHJOXgojA/FXNadQ3QiRyw7/nI7cm51
-bPNgHqvVCiYJIAAD66Kuy0nBW0FawIDniQIiBBMBAgAMBQJC2LDxBYMAVPneAAoJ
-EKrj5s5moURoo2EP+QENiDYVYrAiRIyXPQplagAXCg725RaqtsXvPyDBkqU4Zb2C
-9wXQ49ijK/LT3het2p20bwjYmop9iClo+vuMVTdWJpjUyvzBA+rF9ya4qWwJ9mMP
-EppgfHhUpOILkhcniC4x5OWrNtPHeudNkubRJ7J6GZAN8g9NpxV6JIAzRYscTPR8
-8jnBggErugNlDJIi2VFII4mYirlMQZURv0Hnsil7Nbg7RbBGoTqHDxNOfum4wcd1
-Osjw9LJ2g8DBJGZTFXynYQvhliBNNSu3O/SZN4bs93NT1hzZMXc5cnARPWhqR7Q8
-0uGuJrIOp1WW+zWHYXUoQgCi24wpdF3wKJREqWdqGPt5a23chWKvw92gHNEC1Pf4
-mbwRLfbH9N1dDwoO3XA+z/R6QsxwjPIAhJbqBWL7q61SlO9RcxD+D+xBlePZitFN
-KME0U/paYTiE9zWHcm4mbQFvBcHRzyMTrRgQZ3QAdImA852+tr0B428xTp2fpzRO
-zVuhXTfkO9NmFO1QBv2QBz9Pmi40PCbyCyihvsTTZQVF+EwijRmqPkGfaYLRAKdJ
-v0/wvULpsBtkQVd79Sucf54oGv5gximFMhZZn8JJmEnAFpUMUIvOqv1n86KsQtIQ
-koJwbRXLGiKBB8eYfoJGMz0rgiYnavmuvgUpPfDzwa63Gz3KllbpcSFD1OPZiQIc
-BBMBCAAGBQJOXJv+AAoJEH/Z/MsAC+7uocwP/0FZCPeaUYR1HCW9E55ro+Thz4Kf
-o2F/nO83JQu86Z8oFSrT1e9klZ7N115nab2C+3+fe+P2Ehyy7KKMOcYTKbgMnacj
-vk2DY3lfsPSyR/4zKjgNHBhmQrGwyiR9nIKZVVU8DY49ed3wnj7cMYQjnvtKNyBo
-xKLNfQNShnsTyOFyxlHKz/m2bIaeGqEJod47QCuvEj09/vX4roMY5Lo+4GL540AM
-/UPdmorUzPz5TUzZTMvcoyxeGMrgfWb0mgeTO3SjzMjZzPcQ50xqbz40fZzqaEYu
-KrxqHFis7+nnCIp4yLjJjH3NPjw0XQsHFGRxYpNMTN7GGVDzviCVgnNHEupef4YW
-ra5+LUXw1wFXRRIavvEX97jEu0OCbBmG4vRafx1fR5TXP5f5TKn+0QjU9l5eBjxf
-7Z42pWkXezNOrz2iBw7sTa6dTLyTafTZCfDsYAj/OMU/IBsKb1Bgo7udlN/0G4kg
-lY+sr2LKsJnSdVs5bXKBx1B7urlEOuWbguIV3cGmNiQxaycHNLMnxKps9s722W7L
-xMBGEP4hna9q3tzjCohTP8Ipws2nQL1qD6Usl9zfh/uDQUeXKlp4+TBPyTfzptaD
-i7d5OverTrnWmaSv+xiZpIdojNdZRIkqcVhIHaE03t51E64IYz1D9DMdatnm7SaY
-1xNyJCpEPs+vlxuWiEYEEBECAAYFAk5XxfMACgkQB5GvjMAzY/SqbQCght31VjCN
-rCkPSpQVT5TFsj0DQpMAn1PXdwJ8Qhnc+011in9A9QeSn49wiQIcBBABAgAGBQJO
-YMgJAAoJEFKbqWJpCnCxJg4P/j10P3pZyGQLMW96EKr6fMY64j3EgnoceYezi5Gn
-HYGZ3uLa0+9uWwFwHZ62FtAlZocyWCLSNn0ny0abQRXhRbf2h1IEphv1Gw3B714b
-XdeI7RJqgLXo6C4eXmVawKpabII9hGdVrm8YFev2ihwMNnhD6eBjnd34t6xo1Kd2
-6n8cj6h8a+nqMMaofNxCKugnhcn2KQ8ewOA9zGJLtRDQhuDFix4DN944g2cXnPNm
-1tRpdUqzFN17GCOYXrxUVLaQTr6fY6GxLgEaGYz466+zQ6OnlgwPbVxjG4S0V1nQ
-t+WN2o3lF9jR79X90hzWv6tZz8y/BhaJ9IGIHpW7VCSnUnm2UfTHDTUhGkPgwV1G
-oxThas7cnGPK/2W5jrF1xUujbJLzADOQywZGkcc7b001qUSBkQXJG7aXwBbFSGmA
-dtaGKq8M8JEWaXgHjbs6tcCElsuA5ebhxOgT14WbSFndt+9+38hJyfyI285D02M7
-ZmYK3dsReD2CZTsFDW8/7BJFqqOgyBx5aVatrVqMDNfcNBTHjWBPfyGIFED7zm4J
-UgrJfzTrSsFZwaE27UQKKInZfobZXf4RlfcRYfSNRM8vfk8hTQ9G+ZzFHJzci4+H
-pP7VYA/jHTAXg+OiUqi57dU8bxtiUEDvHJJwXrzVfzkP6wagdReTNfSpEKyGaet2
-jf3UiQIiBBMBAgAMBQJC2LDxBYMAVPneAAoJEKrj5s5moURoX3QP/3FXy5r97OFY
-67kAOAcTXJ5YxZCx5wjH1MDlBVCDymmMDcTZER7+UlsLB5WHB+9Ka6+7KZFDDvVw
-h2aoXV3P1HyZvrY3WvTsNw/GJuG0eLimgQ3Egeq8Ru05HXtjpCXgNbg+MrW633Lb
-LnwcrpdOKoK1uDjeMRxteTWv2osmXYuCilglDUokLB+f4MJVp1EDYWBVyUwZQYh2
-KJPCnXb4T/vShigzMvCb7sxSBslSlEvK2xzl+uFP3WJfaU+h7KUAcBDTrzVaJrC9
-7GWq0A+2j0aNu2fDfahI6oglxtsyE3wbzumS8GGTnBd9UzuTK60EWEgdxAUZ64aR
-mmB5e3jQ1xQl9+f4o595fOB1DCbA2Wj0rRqvE2ki6SC6C9V422wqPWC1bsiRhwua
-+UPJKHP9zK2C40RT7VbRl4bvdOOmGzyYJKUIpVw1ZzLaXvP8O8HdU+Jtpznbn9LD
-VkirsNKFEce/zHTb/rnwsRbuBK+9niPfK5lI2AvaWA/NpihCj7zKwcr12pWJUFcA
-cjBVlOZem1vnPFBwe0VSdHnUgNIB8EZ3uCNTk0k18oqeAuMMnLnqeYkYzD/7XcXl
-cVyMY8L23pkqhC53vXYrxNEhzNaAYyeCRqHJOXgojA/FXNadQ3QiRyw7/nI7cm51
-bPNgHqvVCiYJIAAD66Kuy0nBW0FawIDniPsEEwECAEUCGwMECwcDAgMVAgMDFgIB
-Ah4BAheAIhhkbnM6c2ltb24uam9zZWZzc29uLm9yZz90eXBlPUNFUlQFAkJAXNAF
-CQZYo6QACgkQ7aIelLVlcW/RCAT+KZP87UBfl1eS+JK1xJm4wLBm/QviPuDqEVGP
-5lg7zQIxqaZIRQ/vEN6EL4PtXXD7Cea0B0l4ANsNWzrE5JyvQ2psmN+Sx3fU9GUp
-ZVzlF/at0HiogwWHNigd+WbcSjSAOC7eag4GG0oLZREcQ2PeAQksuGAKXcAE3otz
-t9reSKEfga6HiK/sPs5/ZlbpZJ96UVwcmA1/7HMXE7VsES/lDYhMBBMRAgAMBQJC
-2LDRBYMAVPn+AAoJEGtw7Nldw/Rz2iEAoJFrzoYjkR5ANZYbeX/ozQecQCmAAJwN
-CoPySmaxrwO6BiUd11bO80bPxYhMBBMRAgAMBQJC2LCxBYMAVPoeAAoJEIHC9+vi
-E7aS7sAAnRYuXokAy66xi04YD1ODtssYFw7nAJ4lqshFVn7NR5yznu0tioYLFwyc
-54hMBBMRAgAMBQJC2LCNBYMAVPpCAAoJEBhZ0B9ne6Hs7fEAn145gLDePrbxrfwN
-2dG5+IuvpvtYAJ4oRmRyhxwpwahGE+5281z2VTrQ9YhMBBMRAgAMBQJCSUQKBYMA
-E85KAAoJEGa+cf9nSGiD2RgAnRArPwa3+RztD1j8CGH/Bk7q9pD1AKCByClFignq
-DVBdhZ1M78fG97gu74hMBBARAgAMBQJCTYK1BYMA4CgaAAoJEDuOpB+C9hJAOHwA
-njdsNOUrWn9otfEnb/WkWsdYW+dwAKC9WWLhX0/qlWE/2n4fcA+1D5RFVIhGBBMR
-AgAGBQJCSQGLAAoJEI/Dcl89aNY6Fn8AoLW/JrZSPK4Odr0+Q0VPgrdzbg3xAKC+
-yF/Nt3s23ux1XoIXoq396u85irirBDzVB3sBBQDY9NqhPxE2QUOVftQI4H29pEXG
-tf503uXpA747QyDt1V2Mi0SdppiQn6vgtd5wjjseiCxQYTFF0NgZPQOrtpnwaQLh
-Qo9dzerYpZDeJvfCPeqcIabchf8jbj3J1gsDNDJaoxbT3AsHm/GE+LjKN63gVMZa
-a1hSUbMNvv7pVmKVhFO3LS+EUXhxVeU7ZH6+A/EUy9RzujxYYOdDeLJYCLORAAYp
-iMUEGAECAA8CGwwFAk75tzsFCRS33b8ACgkQ7aIelLVlcW8bUAUAjDBNYESwwzuo
-vzIN99U5AQCmZK04SvFIKLOnVX7TysvEciB1KcMlWTb6oiUtfVrlq471i9YbNO0C
-wcRuF+wXEvd4gr35p1EV7xUSJtQbL1Zk1W45S6WkyqOjrajN7TDsLnGGs5EvnhPr
-DfKsXA9RtL8BKQ31yjOl61BN9nhVDCPBv0+d6s/dIVsDt9AGJ901RpulJF23iGRL
-k4fc22qR9riOBEQcLesBBADmhtD1sFupeGfp1H+G37V8mngf47BsBS93RI+3mZjN
-dq9Mx4+yYUCWvW12SLD2EbaBiKColY2e0K9qG8LS8kEZfyPSy+K/vBUW28YbQhe4
-Dn3g7T/Q18JrNNyWPk9vVhOlnQQ9trXTW2xYCAHPXGVgHs4fDwz9AaymqwCu36tw
-BQAgzc7kYYjFBBgBAgAPAhsgBQJLR0FnBQkJvkF4AAoJEO2iHpS1ZXFvVWwFAIlV
-hh+psc/tyvhl0cACgI4SsZK6DNfTGhzLBTdVyWmv7nclhlZ5zVp9N8MC4l6v3lbX
-iA8aZ8FYXoK7ka38uNzpY3zlr+VXWUi+oJOQGdYOntv79To87ITU9/PfXFNBch2u
-kCf9t/0X04xqQYIsPfz/q9gnsTirQxiyIcflN+HtGyiqWqWs5gGFSp5w5mLMqTSp
-KQdkUF03M7RHPh+onlq4jgREHC7SAQQArB4IoJfse8rCqRNkVzYmbtxvzzrtyl3L
-rluNgS7N4rTOLgCQeUJ8lgqEr2h3KEZ8PjGBWNYww3rj/MnX64jv/Ybq9XxJc/vk
-FBRYT1ISqGszeFc3P0KTXnVahF5xG4MaQ6mhy4PgMq3/NETdPH+TJ+I3OL//KOa0
-MpGjwmtnGrsAILXz8IeJAZIEGAECAA8CGwIFAktHQXkFCQm+QKUA18ALIAQZAQIA
-NAUCRPM4Ey0UgAAAAAAVAA9wa2EtYWRkcmVzc0BnbnVwZy5vcmdqYXNAZXh0dW5k
-by5jb20ACgkQpycTyKq7H3t8KAP/YWnPIkW4kfAWU5E93P/0R9DHa1ly7zP3JWbp
-m7Lxe+2ESOJwPn3GWSn3h+Ty+3UhOIsqIEM0ISQ+SPAG/ltaghcT/XUWnUtolcb6
-YUVBcjQt58wpxRWZwEfwQR58aTfJHBDDHXWTq58N9YoalwTCFSviF/UzyHAysp3d
-Bje77/AJEO2iHpS1ZXFvoJ0E+wWuL4AbuDBrJLsjYfUCFUGc4adGy9xv37pVr6uB
-PzZrVJXL+JQ23Xok9IC53g33Ar8r11tT9W1uyLqs3xX5K6xB88trH4DJN/e4galU
-BbO+yRUKogSngkwj42kmdkm/woMC2DqV8389zS1SBqm8Xw5RsH0d9MsAukyyr+qH
-8aK6nEtY+2/37V1uqbu1R7MEQhqZjuizvxqpdTaGclqEk0W4jgREHC8JAQQAxCLe
-mYxwWqGwXBUqMX74GTQULkvtSc82sXWixyrhPNyaxYKuAvlKO0nkXGEAwS/YMC4m
-+gJ7iTiskG9iWPfoXPK5S81AjRX7NA8B34BAb5rJbW2eHypOLQ99MUUBYzuNLLqp
-wBZTeumoaz7DgoIHNpMpD4x/Irw1mX83xNhQ6F8AIKatOU2IxQQYAQIADwIbDAUC
-S0dBggUJCb5AdwAKCRDtoh6UtWVxb+UQBQCWYZv+oxNKpH+uH/e8J293gaJcJ9nD
-kENb8Tiu8st7EXaQm8OqyrnpZyNz+c5t8VxygolhmwquonxAas5CHxfff/1hMZjn
-ijP2pxqJ/N2zxVxiKUfEonQ/zfnSl2OumOKD3rla8DPIaRDTxPnh02wUF64PHQOL
-JibEtwSMb4NMHIeiN+p+12iqwLX/s6Wq4LfwQ5aBu6tTKyulkD4oZ8QM
-=oc2d
+mQHhBFOnKoEBDqCoGZ7KIeZI1cbNFHIVxywetihLsA24nv3bJa/kd7kgkjfxdlcl
+JNlJZPbQIttl4HE7M+mxPUVtvlJeIggI2xd6uyv/XrM9Wdy48hskNHX5umZ55yIP
+C+T1VYXIJYhFFJgTaahtfCrf6/gQKnC0TNhYiWw4GP33S1UgVTz5IBEr85W/QmN/
+iUtM75wyq12ntRR+LSxSEmnEF5pzoP5SgVUXdAZAJQVvLcu8L9opAdHj4C3IcvvS
+HKvp4h2zvnOwRwjjiObKxRTtNaxHO8Sfofxw5aiifL39bxAKuJl6Rrhd09xKIvqb
+qu/m8GqWiSyO6N8tTDgxBKGfgba3D1AQ+J+VkFj31Obm3R3GEpFRo1i1mQLgKqbq
+Gs0aoZqVMkP3fItzkw+pOuldgL4P94IoXJsWjt0x7F0ojX0CWYbQ9rYHrBCe01Mn
+Rgn6j8glZj6hQs7sSMW5eGA0HNew6g0WEYGC2IsDQV2rGpsLnbx7r9P/qIA+q42o
+VjxxNMaa6WXfQf6eBiOSYa/9HsophhdK4+eJOoD/n85Vb4qvT0yEjQQurfBnbGte
+bIsakyX+eLpfwD6RpDAe7irZaBSOBKWdKOlbCdIezblK8JuSJS/LLMAfPVsasgMA
+EQEAAbQlU2ltb24gSm9zZWZzc29uIDxzaW1vbkBqb3NlZnNzb24ub3JnPokCEQQT
+AQoAJwIbAwUJAIPWAAgLCQgHDQwLCgUVCgkICwIeAQIXgAUCU6crKgIZAQAKCRAG
+ZKdpVCZejL6ODp9AHgC04sxWhI1K84mFfRZVriVVUDUm4K9wxfCDSK36PyNCL2TR
+CCYYaQqqBZucKil/tSbJyA/qwulgT0P87YqtqCDk9dd6vKlwat1QhkeO5HQVMmVY
+zk4bQ97OmxWFPV/hCFCGOj7Bol8MBIhXmqAZLuWUq4pLEjQUJB5Ji3XNBwHFaZJE
+aKj9T7aiv8EHpPNXwoCwMg3LD71H9P9eaCSUmUVUTtpUDfI2Hml6PSr4AfeAAXwA
+/HpQmRQDJpDp22nEX93xkHpmt3BteC7KuG0Tzorvaf/++Xq+fcyPbcu+l3BmcjtD
+NauZgM2/7DYeBbCXrmUFcW3crzLfS31npCjZXetYEnDOju0WprfiHa5HPkgOhpP8
+mor1eeciWoikZsR5Ob8OILIrsJ38ivRv0gzh6lWf9euMY83V5dRmqDmbGiqu0mwR
+Mj1aGSvPskNWz1ffnzLAR/OS1Lyr6KiSSBQqC64dEMEU2e3O7wl6tuZXa6jq1cKH
+PRkfUwD+t74lcbvQKB7i727q2u3JVZuajT+nRu+X5JDf0+HRO970DBklPhquHmUk
+VNRWiLtampm4ADxmv7ht0LXQvX7CxJKpnVIXEOYrfRycR9Tf5Fo6nxJ4yI0jRi+I
+vAQQAQIABgUCU6cyowAKCRDtoh6UtWVxbyi0BP4yGWSKUvoTzj/xJVkOH5Q5xOU+
+SKYewWjXwxf8GhfJiUYVTXwrrOLbhlInjGNHKwEJNoywPaerf7Yxkx/pvuOKGICC
+ulXMBzA7/QvTxivGjlpCdsyTgSoHH3ZcWbUK1qTbXuNpXlEcDtqYLIlBAYNFge1r
+Vcph7wgJUjnLTl1Nf4NW9wXckEPPDh1Cm9ap7cbyMc3axIyv8SLr5SUKYmFQtCJT
+aW1vbiBKb3NlZnNzb24gPHNpbW9uQHl1Ymljby5jb20+iQIOBBMBCgAkBQJTpysh
+AhsDBQkAg9YACAsJCAcNDAsKBRUKCQgLAh4BAheAAAoJEAZkp2lUJl6Mxh8OmQEz
+Ydxc/7vhr+kcAbLsUllsUw3nFwrWGrnzbLDcDf9XHg6cnuMZoejnJXsCzc+GPhUL
+Wyp+30Ov9r1LwX8yag1AcoFpTx8Js7RW1bPm7XneoCUcdE1MG9v0/Mc34mn/yNz+
+8X7ZTLc6fY8rWL21hxW4JW3rRCIxn4ooztwHyaGFwlLOnhy7BU2RzYbsQA8Inxc6
+jzTKl/Y8fdVwU5DkBnCntgqhZUSImsFNTFKarvW4PYvCUxqdyUCSZocO9N9SNJK2
+KZKKur4jE0cFZ4GLGXZH3FSMAjk0JC/ju6DmHlIHaINKwCMAzk2Btf3pX2chjKBC
+Jn6T5l2Is7KcoxGiH6iRc79bqOjNBnu2K/dbqPakKAd/OqDxvLfw+jfh8X8ggJ8V
+7HS/HZ167D4rXtLUA8WQvqiFl94Lo+bP8ZuEvbCAuDzYSbnwZ2lV5lAmYcbl2xuW
+909onX5pKmtqGuwr8iSRpdjVQcl6KiFhCrPb+Ou4A8YcBNAOQBrvGKdzo/MmHH/t
+SZuDA3VgZcF+yjT3RJEN5rWNSoVZmbINRS+pX6IOL7kjNL43yZj064ooGa1o711E
+tb9WmXYGCxfNU9NWFmdOHYd3OJbuzj7Mv7qJp4X6p6seCIi8BBABAgAGBQJTpzKj
+AAoJEO2iHpS1ZXFvlnwFAKajFYcoF/HVza29tvcJ5ZVqpypshxq1cNUZPeX1z1Q6
+GAlLBxcZXxuXCC4SyRsqhq1eYB5ttHM5lxWZJix0+ZQtqdq+gjOcx+POefmAdX+Y
+FpiaayvQ6oU77okElkZd2Suup7+Halt1V8S+kbMtcA2iEj1g8r1WoUFOgxAUmILR
+7HoDpGT8dqHV0JShFFvyL0uL/mpKJVbOGsTKOS+THjK5AQ0EU6csKAEIALl32+31
+PwbxCWK3Rres++dOOYRyC5B+K9PQ/dtCO41G49vPu3wgBvV6m+e7KZFI0NLQhQjW
+yH3C9Slzog0Nrm0T6nhDTtTKVoYMPbNpXe0UMkJ2vIEtqR30zRhIPuXpvsdUrQgJ
+nEhDlKdXCEwe/tBYwSvJC5BdbW/z1+nSc/Ge3utgWWQmeP1vs8cUAamKdPFza+KZ
+1RMt/am+pmDuxKH4TX7A9TzfJho9EKfIyFYcFmsx+2yjPDuSOWzNgL+FLwsOHGDT
+fGo0FiyLcx1cqQWRcZvdtLEMRsOrwzt8RVyARHnnYWWtjBo/nWDGQ1gAiHnRv3m5
+AEuiyDeeI1XXCFMAEQEAAYkDGAQYAQoADwUCU6csKAIbAgUJAIPWAAEpCRAGZKdp
+VCZejMBdIAQZAQoABgUCU6csKAAKCRCGC3+7MvgRnZbbB/9OnkUj3x1OYZ7UX3Dx
+wJFqRWtkW80qJ37Y51YnF2LnF3Atdrbb6zaz4UCvhxlnYZnXoir4UJL43qa4swd2
+7KfSKoFH87wbFiCQTaQrvGN6xnrz/ac6aeSGZ7nhWOhxPANe7qrxNvprDRxVnOXO
+9fiAJv0v4Z7GEGO3JKHyTEfTNd+mi9LvDWkb3yPW5yh6ftEFdzv1o29BxcIzBgzv
+K5c6IiCTx71W548/xIcY9m3IaWgQV4dR25wR/Y95I5K57F5LKwSbT2ZWDkwoDLgK
+MK+ypwftIwEmOQlFzuveSWSV07CCXBn+/S35Lv5GozfMkYJW+7raCNL+Wyc3JpYR
+jhrEpuQOn2Zqo2tFz91cwtGCAdNedqveF4G6GrvnprUbjqyS4IIGngT/1/VNO68J
+imBRxjX/hJ54aLVOEjEyhVGh6q/CPEzJUrj6SQ1l9wRUHAogLQS82vQWPKX3RgHP
+4GPi+zkzVUJ+Vm6lJC1JpNv8OSGCfsIvtL2GqbOP+BexOVy1gYzBAqlf3kHKxo57
+ePRRJizJ2D5oKwGl8js66rmoLmj8jqRLs0j5Mnlb7TY4mLKNB7yf/lLNgKkUu6hP
+kjR2LRta/yBFcLbT5Ah9BFKpKGK832rwgmI+bB0EUNV3cyD+eSgDiqeeApXUjke4
+dXW9rAHuE1qVeJrk1cmVpeC5ZMJ0CNSSYtoZ7fkFX0pNxaD0MfoXCvqXL/QR2WhZ
++C1tRuwjeCo+a7VSvZPO/OaAmaxNdE3qNViPbwS0ll3uQoMxKf0nRJKTGPEI4mxl
+wSpLo7b/V+u/hp8SsfA2FeooO/xt/P3Wp4MqMR1UK3P5Z3WwQIEXOOur5R6bO62d
+xP3MfiADSzgO8asbvOmF72CpEz9eD+893b+OVS9Vo/9b/0Xnivt6AAeE2b+5qK/G
+hkdWCAZIosCK/t01JvNUmcJ38u9Tj7Piv0P6YSM/1JbVoWU6cL2FNDmFybkBDQRT
+pyw4AQgA1JDxrfqNiJx1JjS6rdYlQ55oihq2sjpr/A6bMx0D2EZv8Nfn0ssb4RSL
+CAQ0RAxVqW+grSfd0nizhl1Wcv8Xw5TyC9MD2GhIjTvg+5NmjJ35/TX5SgaGjfPd
+oBQAs4VWiilpa7+y8/plx1qQDvojfVZxX1aztmDyJBQFRrEulQcH8aJY05vE/6Oi
+qyU6Gpy1T3hhHvbdOmlZTE6kT6vsL/Ur/dl3ZME+EO4KBaXFpqLPInHe/HLGzLoW
+9lIChNQWQ0zN/McIbhb143NhER2ektP7DXejdKtgC+XgtDa/a+SbZVL2sm0xJUJY
+/sEE+Ay1yrT6DERyEACtCgaD1boKLwARAQABiQH5BBgBCgAPBQJTpyw4AhsMBQkA
+g9YAAAoJEAZkp2lUJl6MHskOnA0zaqmIenEhcIZssQZmhDlvJmOpYCWdZwfxsHW3
+VFym+g4pDSIoYXJQWhtZDasPBm8sLEXNjRCRDAuBhTKzqfOyqIVW4te4S++dUugn
+hru3eOTkN8TWNiAtO/GnytIMgAPwoQoIpvYCaabKWirEJK5xMjt3lLXD8KSYmAsa
+6st0phDhElgqHHIqxoYASp84qrT5MkusTiySij3N8/Y5MnsjuMNDEcQ+N3za8WXO
+82t1uooTV8VhdHiQNAkU8R83CGVDe4ckaz57hl4dZ6N9KpQBSnBLdZ/fi4oSe73w
+9FjkLDOmW39IoSlGge+skDhhJiYrftKE3pFlm4vtHPGtzO1HtlYDGWkzvfSz7kT6
+dBhjGsiIeSSCd0SoEyK3TpKJZfOxPfsSKM2GG2fU1PKEljvhOU8X92AWzDQrMCzH
+WlbJ4ZgzvQpuhXnO+oHuGgJZQPMHvo5r1mZheecGPdx1EX0tJJwm0rR3omn4JWyw
+Ugazcb7CaXRYypmlSXCEr/3AYCj8RecZM7TiKRlgHKZP8cwH3907jX5Jg6xWHKkA
+mlW/wq7jDnMQKURBi8KGYNIY7IhJ2tGxWZL2EopDSCbPISRmUGe/yVjBRNXposB8
+YLuqeOpiiLkBDQRTpyxNAQgAxT/lDk2Sfjl8naZmypnRjlaCSc/LHu5TLNd/U/kz
+S68pNxBFhfhqmweFYM8c6xo8ADEo3kJADG+0m5/laWyX9SQzxQR6GCUJoOgl+JBU
+WhmU+gx22I4ImufVpHZBGE7Qeyj5GxVpXqP0WU9rt3/Hk3naz+3YUl9GszdJQ7rv
+8Aa8Hnc0lfgIj69dK0Ggk6dVfLCm4c+a8jlx0FtBnKbOia2kczFvqKChV95T6tKW
+Wu6i/RerBOLAxb7TnW0SaGUtW/PGmaxDRsfCkq3DMwEavVAZ9aZbBBuP9wUb/wYB
+x2hfnfe28udkdFVciF6S5ZHadVJOA/XEKbYGh+FAMiNb6wARAQABiQH5BBgBCgAP
+BQJTpyxNAhsgBQkAg9YAAAoJEAZkp2lUJl6M/TYOmwVbSgyfRWp1twmk9pDX33pJ
+m2u3tXBsd6W4YoRmTHXZnnsXKqLQ0OWoTafYYfoCY10J4Zk3PFl/R9V/JPdtd54t
+hklGvzv24yb/4l/9BuxRHbHPxN1jjOa8gSXU86Qc3XcBmp630d2GOuxsQg4ZFs5U
+6AtWGZunsAcd2eC0c4g9Dn01b6cV/Y8gct2l5RJtucKLYM3tzEJE2ch7mcvd6izR
+dqlIxIB5cr1prwmsFq40odh41yS9tPvTnV5TWM+dE4VvMNbjBV7nHSinpul7Ew7i
+JIbpcNumLFC7ohddF7BMxbNYFZfvPp9PzDvEGEHr9q6CKlBmeMvV04Naqd/FDHuS
+LF5oeRSq0p/PLXHoA+i5RyiL8vEC4t52PG9WfNMPpz7CMAypQImv6+n0WgSTzX/z
+EwKIp0d95rzWDTtJiKecXGofEGZdUiElv108+huHRqgqOehy+OFcDFZ5ImLI+Cyh
+wUGhguQuF3Nxo93zsq0CC9n/nG5nVb5sSe0iMkm+GBoqYkNSWp2AypKmSPFmb6Nl
+cpQpEyG4mEbEpnXRQK7oWvbU8CAAXlTo7E39eqwQEK9FH4wKtJbc38kKDjfoIw/j
+TkUqdI7MlHuxWdiWCVluXE7VmQ==
+=eB3/
 -----END PGP PUBLIC KEY BLOCK-----
 
 ----------------------------------------------------------------------
diff --git a/COPYING b/COPYING
index f67abb1..5034b2a 100644
--- a/COPYING
+++ b/COPYING
@@ -1,5 +1,5 @@
 Libidn COPYING -- Explanation of licensing conditions.
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 The source code for the C library (libidn.a or libidn.so), the C#
diff --git a/FAQ b/FAQ
index 06377dc..24eb1d0 100644
--- a/FAQ
+++ b/FAQ
@@ -1,5 +1,5 @@
 Libidn FAQ -- Anticipated Frequently Asked Questions.
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 Q#1: Why doesn't Libidn use a separate library for the Unicode
diff --git a/GNUmakefile b/GNUmakefile
index 8759034..4ab6429 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -5,7 +5,7 @@
 # It is necessary if you want to build targets usually of interest
 # only to the maintainer.
 
-# Copyright (C) 2001, 2003, 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2006-2014 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/HACKING b/HACKING
index f395ee9..f5fc424 100644
--- a/HACKING
+++ b/HACKING
@@ -1,5 +1,5 @@
 Libidn HACKING -- Information for contributors.                 -*- outline -*-
-Copyright (C) 2009-2013 Simon Josefsson
+Copyright (C) 2009-2014 Simon Josefsson
 See the end for copying conditions.
 
 This file contains instructions for developers and advanced users that
diff --git a/Makefile.am b/Makefile.am
index 973188e..c05921a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson
+# Copyright (C) 2002-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/NEWS b/NEWS
index 3e75dfa..007cf62 100644
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,8 @@
 Libidn NEWS -- History of user-visible changes.                 -*- outline -*-
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
-* Version 1.29 (unreleased) [stable]
+* Version 1.29 (released 2014-08-10) [stable]
 
 ** libidn: Mark internal variable "g_utf8_skip" as static.
 Reported by Thomas Dineen <address@hidden>.
@@ -10,6 +10,9 @@ Reported by Thomas Dineen <address@hidden>.
 ** idn: Flush stdout to simplify for tools that buffer too heavily.
 Tiny patch from Hugh Daschbach <address@hidden>.
 
+** i18n: Added Brazilian Portuguese translation.
+Thanks to Rafael Ferreira.
+
 ** Update gnulib files.
 
 ** API and ABI is backwards compatible with the previous version.
diff --git a/README b/README
index 007166c..09336b5 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 Libidn README -- Important introductory notes.
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 Libidn is a package for internationalized string handling based on the
diff --git a/THANKS b/THANKS
index c51d633..7b00763 100644
--- a/THANKS
+++ b/THANKS
@@ -1,5 +1,5 @@
 Libidn THANKS -- Acknowledgements.
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 The punycode code was taken from the IETF IDN Punycode specification,
diff --git a/TODO b/TODO
index e2010f2..d3732e0 100644
--- a/TODO
+++ b/TODO
@@ -1,5 +1,5 @@
 Libidn TODO -- Future directions.
-Copyright (C) 2002-2013 Simon Josefsson
+Copyright (C) 2002-2014 Simon Josefsson
 See the end for copying conditions.
 
 If you like to start working on anything, please let me know so work
diff --git a/build-aux/config.rpath b/build-aux/config.rpath
index c38b914..b625621 100755
--- a/build-aux/config.rpath
+++ b/build-aux/config.rpath
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2013 Free Software Foundation, Inc.
+#   Copyright 1996-2014 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <address@hidden>, 1996
 #
@@ -367,11 +367,7 @@ else
     dgux*)
       hardcode_libdir_flag_spec='-L$libdir'
       ;;
-    freebsd2.2*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    freebsd2*)
+    freebsd2.[01]*)
       hardcode_direct=yes
       hardcode_minus_L=yes
       ;;
@@ -548,13 +544,11 @@ case "$host_os" in
   dgux*)
     library_names_spec='$libname$shrext'
     ;;
+  freebsd[23].*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
   freebsd* | dragonfly*)
-    case "$host_os" in
-      freebsd[123]*)
-        library_names_spec='$libname$shrext$versuffix' ;;
-      *)
-        library_names_spec='$libname$shrext' ;;
-    esac
+    library_names_spec='$libname$shrext'
     ;;
   gnu*)
     library_names_spec='$libname$shrext'
diff --git a/build-aux/csharpcomp.sh.in b/build-aux/csharpcomp.sh.in
index 7e02c1d..8e89d68 100644
--- a/build-aux/csharpcomp.sh.in
+++ b/build-aux/csharpcomp.sh.in
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Compile a C# program.
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 # Written by Bruno Haible <address@hidden>, 2003.
 #
 # This program is free software: you can redistribute it and/or modify
diff --git a/build-aux/csharpexec.sh.in b/build-aux/csharpexec.sh.in
index 19dff73..e940294 100644
--- a/build-aux/csharpexec.sh.in
+++ b/build-aux/csharpexec.sh.in
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Execute a C# program.
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 # Written by Bruno Haible <address@hidden>, 2003.
 #
 # This program is free software: you can redistribute it and/or modify
diff --git a/build-aux/gendocs.sh b/build-aux/gendocs.sh
index 98c7523..b2e7b09 100755
--- a/build-aux/gendocs.sh
+++ b/build-aux/gendocs.sh
@@ -2,7 +2,7 @@
 # gendocs.sh -- generate a GNU manual in many formats.  This script is
 #   mentioned in maintain.texi.  See the help message below for usage details.
 
-scriptversion=2013-03-08.15
+scriptversion=2014-05-01.10
 
 # Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
 # Free Software Foundation, Inc.
@@ -78,6 +78,9 @@ Options:
   --html ARG   pass ARG to makeinfo or texi2html for HTML targets.
   --info ARG   pass ARG to makeinfo for Info, instead of --no-split.
   --no-ascii   skip generating the plain text output.
+  --no-html    skip generating the html output.
+  --no-info    skip generating the info output.
+  --no-tex     skip generating the dvi and pdf output.
   --source ARG include ARG in tar archive of sources.
   --split HOW  make split HTML by node, section, chapter; default node.
 
@@ -139,10 +142,13 @@ PACKAGE=
 address@hidden  # please override with --email
 commonarg= # passed to all makeinfo/texi2html invcations.
 dirargs=   # passed to all tools (-I dir).
-dirs=      # -I's directories.
+dirs=      # -I directories.
 htmlarg=
 infoarg=--no-split
 generate_ascii=true
+generate_html=true
+generate_info=true
+generate_tex=true
 outdir=manual
 source_extra=
 split=node
@@ -159,6 +165,9 @@ while test $# -gt 0; do
     --html)      shift; htmlarg=$1;;
     --info)      shift; infoarg=$1;;
     --no-ascii)  generate_ascii=false;;
+    --no-html)   generate_ascii=false;;
+    --no-info)   generate_info=false;;
+    --no-tex)    generate_tex=false;;
     --source)    shift; source_extra=$1;;
     --split)     shift; split=$1;;
     --texi2html) use_texi2html=1;;
@@ -221,8 +230,9 @@ calcsize()
 
 # copy_images OUTDIR HTML-FILE...
 # -------------------------------
-# Copy all the images needed by the HTML-FILEs into OUTDIR.  Look
-# for them in the -I directories.
+# Copy all the images needed by the HTML-FILEs into OUTDIR.
+# Look for them in . and the -I directories; this is simpler than what
+# makeinfo supports with -I, but hopefully it will suffice.
 copy_images()
 {
   local odir
@@ -232,7 +242,7 @@ copy_images()
 BEGIN {
   \$me = '$prog';
   \$odir = '$odir';
-  @dirs = qw($dirs);
+  @dirs = qw(. $dirs);
 }
 " -e '
 /<img src="(.*?)"/g && ++$need{$1};
@@ -270,31 +280,39 @@ echo "Making output for $srcfile"
 echo " in `pwd`"
 mkdir -p "$outdir/"
 
-cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\""
-echo "Generating info... ($cmd)"
-eval "$cmd"
-tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info*
-ls -l "$outdir/$PACKAGE.info.tar.gz"
-info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
-# do not mv the info files, there's no point in having them available
-# separately on the web.
-
-cmd="$SETLANG $TEXI2DVI $dirargs \"$srcfile\""
-printf "\nGenerating dvi... ($cmd)\n"
-eval "$cmd"
-# compress/finish dvi:
-gzip -f -9 $PACKAGE.dvi
-dvi_gz_size=`calcsize $PACKAGE.dvi.gz`
-mv $PACKAGE.dvi.gz "$outdir/"
-ls -l "$outdir/$PACKAGE.dvi.gz"
-
-cmd="$SETLANG $TEXI2DVI --pdf $dirargs \"$srcfile\""
-printf "\nGenerating pdf... ($cmd)\n"
-eval "$cmd"
-pdf_size=`calcsize $PACKAGE.pdf`
-mv $PACKAGE.pdf "$outdir/"
-ls -l "$outdir/$PACKAGE.pdf"
+# 
+if $generate_info; then
+  cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\""
+  echo "Generating info... ($cmd)"
+  rm -f $PACKAGE.info* # get rid of any strays
+  eval "$cmd"
+  tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info*
+  ls -l "$outdir/$PACKAGE.info.tar.gz"
+  info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
+  # do not mv the info files, there's no point in having them available
+  # separately on the web.
+fi  # end info
+
+# 
+if $generate_tex; then
+  cmd="$SETLANG $TEXI2DVI $dirargs \"$srcfile\""
+  printf "\nGenerating dvi... ($cmd)\n"
+  eval "$cmd"
+  # compress/finish dvi:
+  gzip -f -9 $PACKAGE.dvi
+  dvi_gz_size=`calcsize $PACKAGE.dvi.gz`
+  mv $PACKAGE.dvi.gz "$outdir/"
+  ls -l "$outdir/$PACKAGE.dvi.gz"
+
+  cmd="$SETLANG $TEXI2DVI --pdf $dirargs \"$srcfile\""
+  printf "\nGenerating pdf... ($cmd)\n"
+  eval "$cmd"
+  pdf_size=`calcsize $PACKAGE.pdf`
+  mv $PACKAGE.pdf "$outdir/"
+  ls -l "$outdir/$PACKAGE.pdf"
+fi # end tex (dvi + pdf)
 
+# 
 if $generate_ascii; then
   opt="-o $PACKAGE.txt --no-split --no-headers $commonarg"
   cmd="$SETLANG $MAKEINFO $opt \"$srcfile\""
@@ -307,6 +325,9 @@ if $generate_ascii; then
   ls -l "$outdir/$PACKAGE.txt" "$outdir/$PACKAGE.txt.gz"
 fi
 
+# 
+
+if $generate_html; then
 # Split HTML at level $1.  Used for texi2html.
 html_split()
 {
@@ -381,7 +402,9 @@ else # use texi2html:
   html_split chapter
   html_split section
 fi
+fi # end html
 
+# 
 printf "\nMaking .tar.gz for sources...\n"
 d=`dirname $srcfile`
 (
@@ -392,6 +415,8 @@ d=`dirname $srcfile`
 )
 texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"`
 
+# 
+# Do everything again through docbook.
 if test -n "$docbook"; then
   opt="-o - --docbook $commonarg"
   cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml"
@@ -430,7 +455,8 @@ if test -n "$docbook"; then
   mv $PACKAGE-db.pdf "$outdir/"
 fi
 
-printf "\nMaking index file...\n"
+# 
+printf "\nMaking index.html for $PACKAGE...\n"
 if test -z "$use_texi2html"; then
   CONDS="/%%IF  *HTML_SECTION%%/,/%%ENDIF  *HTML_SECTION%%/d;\
          /%%IF  *HTML_CHAPTER%%/,/%%ENDIF  *HTML_CHAPTER%%/d"
diff --git a/build-aux/gnupload b/build-aux/gnupload
index 7a137c1..2da97d8 100755
--- a/build-aux/gnupload
+++ b/build-aux/gnupload
@@ -3,7 +3,7 @@
 
 scriptversion=2013-03-19.17; # UTC
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 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/build-aux/pmccabe2html b/build-aux/pmccabe2html
index ffd0788..81dd932 100644
--- a/build-aux/pmccabe2html
+++ b/build-aux/pmccabe2html
@@ -1,6 +1,6 @@
 # pmccabe2html - AWK script to convert pmccabe output to html       -*- awk -*-
 
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 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/build-aux/snippet/arg-nonnull.h b/build-aux/snippet/arg-nonnull.h
index 8ea2a47..9ee8b15 100644
--- a/build-aux/snippet/arg-nonnull.h
+++ b/build-aux/snippet/arg-nonnull.h
@@ -1,5 +1,5 @@
 /* A C macro for declaring that specific arguments must not be NULL.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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
diff --git a/build-aux/snippet/c++defs.h b/build-aux/snippet/c++defs.h
index b35b933..67b1233 100644
--- a/build-aux/snippet/c++defs.h
+++ b/build-aux/snippet/c++defs.h
@@ -1,5 +1,5 @@
 /* C++ compatible function declaration macros.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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
diff --git a/build-aux/snippet/unused-parameter.h 
b/build-aux/snippet/unused-parameter.h
index 1347c27..41d9510 100644
--- a/build-aux/snippet/unused-parameter.h
+++ b/build-aux/snippet/unused-parameter.h
@@ -1,5 +1,5 @@
 /* A C macro for declaring that specific function parameters are not used.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h
index 1736a1b..1c4d7bd 100644
--- a/build-aux/snippet/warn-on-use.h
+++ b/build-aux/snippet/warn-on-use.h
@@ -1,5 +1,5 @@
 /* A C macro for emitting warnings if a function is used.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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
diff --git a/build-aux/update-copyright b/build-aux/update-copyright
index c72d0e6..90624e9 100755
--- a/build-aux/update-copyright
+++ b/build-aux/update-copyright
@@ -5,7 +5,7 @@ eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" 
${1+"$@"}'
 
 my $VERSION = '2013-01-03.09:41'; # UTC
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 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/build-aux/useless-if-before-free b/build-aux/useless-if-before-free
index 663347a..4c76c75 100755
--- a/build-aux/useless-if-before-free
+++ b/build-aux/useless-if-before-free
@@ -10,7 +10,7 @@ my $VERSION = '2012-01-06 07:23'; # UTC
 # If you change this file with Emacs, please let the write hook
 # do its job.  Otherwise, update this string manually.
 
-# Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 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/build-aux/vc-list-files b/build-aux/vc-list-files
index 7ec335f..b2bca54 100755
--- a/build-aux/vc-list-files
+++ b/build-aux/vc-list-files
@@ -4,7 +4,7 @@
 # Print a version string.
 scriptversion=2011-05-16.22; # UTC
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 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/cfg.mk b/cfg.mk
index 731125c..8b10039 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2013 Simon Josefsson
+# Copyright (C) 2006-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
@@ -47,7 +47,9 @@ autoreconf: doc/Makefile.gdoc
                cp $$f `echo $$f | sed 's/.in//'`; \
        done
        touch ChangeLog
+       mv build-aux/config.rpath build-aux/config.rpath-
        test -f ./configure || autoreconf --install
+       mv build-aux/config.rpath- build-aux/config.rpath
 
 update-po: refresh-po
        for f in `ls po/*.po | grep -v quot.po`; do \
@@ -177,7 +179,7 @@ binaries-upload:
        cd windows && make -f libidn4win.mk upload VERSION=$(VERSION)
 
 source:
-       git tag -u b565716f -m $(VERSION) $(tag)
+       git tag -u 54265e8c -m $(VERSION) $(tag)
 
 release-check: syntax-check i18n tarball binaries gendoc-copy gtkdoc-copy 
coverage-my coverage-copy clang clang-copy cyclo-copy javadoc-copy doxygen-copy
 
diff --git a/configure.ac b/configure.ac
index 5060280..c015c8f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-dnl Copyright (C) 2002-2013 Simon Josefsson
+dnl Copyright (C) 2002-2014 Simon Josefsson
 dnl
 dnl This file is part of GNU Libidn.
 dnl
diff --git a/contrib/README b/contrib/README
index 8479288..1614fa4 100644
--- a/contrib/README
+++ b/contrib/README
@@ -1,5 +1,5 @@
 Libidn contrib/README -- Notes for the contrib/ subdirectory.
-Copyright (C) 2003-2013 Simon Josefsson
+Copyright (C) 2003-2014 Simon Josefsson
 See the end for copying conditions.
 
 The idn-python/ sub-directory contains a Python interface for Libidn,
diff --git a/contrib/doxygen/gdoc2doxygen b/contrib/doxygen/gdoc2doxygen
index 2440b82..e5517a5 100755
--- a/contrib/doxygen/gdoc2doxygen
+++ b/contrib/doxygen/gdoc2doxygen
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# Copyright (C) 2003-2013 Simon Josefsson
+# Copyright (C) 2003-2014 Simon Josefsson
 
 # 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/contrib/java/Makefile.am b/contrib/java/Makefile.am
index 4c9148c..c0a4162 100644
--- a/contrib/java/Makefile.am
+++ b/contrib/java/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/contrib/java/README b/contrib/java/README
index 8d06335..8ab9646 100644
--- a/contrib/java/README
+++ b/contrib/java/README
@@ -1,5 +1,5 @@
 Libidn README -- Notes for the JAVA API proof of concept.
-Copyright (C) 2003-2013 Simon Josefsson
+Copyright (C) 2003-2014 Simon Josefsson
 See the end for copying conditions.
 
 This directory builds Java *.class files that implement the Libidn
diff --git a/csharp/AssemblyInfo.cs b/csharp/AssemblyInfo.cs
index f0118e1..d63ea37 100644
--- a/csharp/AssemblyInfo.cs
+++ b/csharp/AssemblyInfo.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/IDNA.cs b/csharp/IDNA.cs
index f2fe31b6..e29da78 100644
--- a/csharp/IDNA.cs
+++ b/csharp/IDNA.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/IDNAException.cs b/csharp/IDNAException.cs
index eb32746..dd50e0b 100644
--- a/csharp/IDNAException.cs
+++ b/csharp/IDNAException.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/Makefile.am b/csharp/Makefile.am
index 8be8ce5..6ecb8b4 100644
--- a/csharp/Makefile.am
+++ b/csharp/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2005-2013 Simon Josefsson.
+# Copyright (C) 2005-2014 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/csharp/NFKC.cs b/csharp/NFKC.cs
index 8226d86..ef6b6b0 100644
--- a/csharp/NFKC.cs
+++ b/csharp/NFKC.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/Punycode.cs b/csharp/Punycode.cs
index 2c1e7d6..5bf1c2a 100644
--- a/csharp/Punycode.cs
+++ b/csharp/Punycode.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/PunycodeException.cs b/csharp/PunycodeException.cs
index b8a4744..6abb19c 100644
--- a/csharp/PunycodeException.cs
+++ b/csharp/PunycodeException.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/Stringprep.cs b/csharp/Stringprep.cs
index 9e5046f..1673e04 100644
--- a/csharp/Stringprep.cs
+++ b/csharp/Stringprep.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/StringprepException.cs b/csharp/StringprepException.cs
index 54155c0..5de5f68 100644
--- a/csharp/StringprepException.cs
+++ b/csharp/StringprepException.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/generate/AssemblyInfo.cs b/csharp/generate/AssemblyInfo.cs
index 2793526..66637c0 100644
--- a/csharp/generate/AssemblyInfo.cs
+++ b/csharp/generate/AssemblyInfo.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/generate/GenerateNFKC.cs b/csharp/generate/GenerateNFKC.cs
index 841c6d9..edef752 100644
--- a/csharp/generate/GenerateNFKC.cs
+++ b/csharp/generate/GenerateNFKC.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/generate/GenerateRFC3454.cs 
b/csharp/generate/GenerateRFC3454.cs
index a21f2a3..a37a3c6 100644
--- a/csharp/generate/GenerateRFC3454.cs
+++ b/csharp/generate/GenerateRFC3454.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/generate/HashSet.cs b/csharp/generate/HashSet.cs
index c3df29d..af11dd4 100644
--- a/csharp/generate/HashSet.cs
+++ b/csharp/generate/HashSet.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/generate/Program.cs b/csharp/generate/Program.cs
index 1b0bf1b..af9f1a8 100644
--- a/csharp/generate/Program.cs
+++ b/csharp/generate/Program.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/generate/Tokenizer.cs b/csharp/generate/Tokenizer.cs
index a6c5681..0b48465 100644
--- a/csharp/generate/Tokenizer.cs
+++ b/csharp/generate/Tokenizer.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2014 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 7c1d700..ecc17e2 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
@@ -75,6 +75,6 @@ GDOC_MAN_PREFIX = man/
 GDOC_MAN_EXTRA_ARGS = -module $(PACKAGE) -sourceversion $(VERSION) \
        -bugsto $(PACKAGE_BUGREPORT) -pkg-name "$(PACKAGE_NAME)" \
        -includefuncprefix -seeinfo $(PACKAGE) \
-       -copyright "2002-2013 Simon Josefsson" \
+       -copyright "2002-2014 Simon Josefsson" \
        -verbatimcopying
 include $(srcdir)/gdoc.mk
diff --git a/doc/cyclo/Makefile.am b/doc/cyclo/Makefile.am
index 65e550e..36130de 100644
--- a/doc/cyclo/Makefile.am
+++ b/doc/cyclo/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2008-2013 Simon Josefsson.
+# Copyright (C) 2008-2014 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/doc/gdoc b/doc/gdoc
index ef94354..d3762d7 100755
--- a/doc/gdoc
+++ b/doc/gdoc
@@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -S "$0" ${1+"$@"}'
     if 0;
 # Generate documentation from source code.
 
-## Copyright (c) 2002-2013 Simon Josefsson
+## Copyright (c) 2002-2014 Simon Josefsson
 ##                    added -texinfo, -listfunc, -pkg-name
 ##                    man page revamp
 ##                    various improvements
diff --git a/doc/gdoc.mk b/doc/gdoc.mk
index ea20d0e..2d91b99 100644
--- a/doc/gdoc.mk
+++ b/doc/gdoc.mk
@@ -1,5 +1,5 @@
 # -*- makefile -*-
-# Copyright (C) 2002-2013 Simon Josefsson
+# Copyright (C) 2002-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/doc/gendocs_template b/doc/gendocs_template
index 5b760c6..50f4778 100644
--- a/doc/gendocs_template
+++ b/doc/gendocs_template
@@ -1,5 +1,6 @@
 <!--#include virtual="/server/header.html" -->
-<title>%%TITLE%% - GNU Project - Free Software Foundation (FSF)</title>
+<!-- Parent-Version: 1.77 -->
+<title>%%TITLE%% - GNU Project - Free Software Foundation</title>
 <!--#include virtual="/server/banner.html" -->
 <h2>%%TITLE%%</h2>
 
@@ -89,19 +90,22 @@ script</a>.)</p>
 </div><!-- for id="content", starts in the include above -->
 <!--#include virtual="/server/footer.html" -->
 <div id="footer">
+<div class="unprintable">
 
 <p>Please send general FSF &amp; GNU inquiries to
 <a href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.
 There are also <a href="/contact/">other ways to contact</a>
-the FSF.<br />
-Please send broken links and other corrections or suggestions to
-<a href="mailto:%%EMAIL%%";>&lt;%%EMAIL%%&gt;</a>.</p>
+the FSF.  Broken links and other corrections or suggestions can be sent
+to <a href="mailto:%%EMAIL%%";>&lt;%%EMAIL%%&gt;</a>.</p>
+</div>
+
+<p>Copyright &copy; 2014 Free Software Foundation, Inc.</p>
 
-<p>Copyright &copy; 2013 Free Software Foundation, Inc.</p>
+<p>This page is licensed under a <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/3.0/us/";>Creative
+Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
 
-<p>Verbatim copying and distribution of this entire article are
-permitted worldwide, without royalty, in any medium, provided this
-notice, and the copyright notice, are preserved.</p>
+<!--#include virtual="/server/bottom-notes.html" -->
 
 </div>
 </div>
diff --git a/doc/java/Makefile.am b/doc/java/Makefile.am
index 95951e8..5ea01b3 100644
--- a/doc/java/Makefile.am
+++ b/doc/java/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/doc/libidn.texi b/doc/libidn.texi
index 57b2750..02484c7 100644
--- a/doc/libidn.texi
+++ b/doc/libidn.texi
@@ -14,7 +14,7 @@
 This manual is last updated @value{UPDATED} for version
 @value{VERSION} of GNU Libidn.
 
-Copyright @copyright{} 2002-2013 Simon Josefsson.
+Copyright @copyright{} 2002-2014 Simon Josefsson.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
diff --git a/doc/tld/Makefile.am b/doc/tld/Makefile.am
index 4a13ad9..f894553 100644
--- a/doc/tld/Makefile.am
+++ b/doc/tld/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson.
+# Copyright (C) 2004-2014 Simon Josefsson.
 # Copyright (C) 2004  Free Software Foundation, Inc
 #
 # This file is part of GNU Libidn.
diff --git a/doc/tld/README b/doc/tld/README
index 8c6f925..c134f41 100644
--- a/doc/tld/README
+++ b/doc/tld/README
@@ -1,5 +1,5 @@
 Libidn doc/tld/README -- Notes and definition of the TLD tables.
-Copyright (C) 2004-2013 Simon Josefsson
+Copyright (C) 2004-2014 Simon Josefsson
 Copyright (C) 2004  Free Software Foundation, Inc
 See the end for copying conditions.
 
diff --git a/doc/tld/fr.tld b/doc/tld/fr.tld
index daf5616..8965578 100644
--- a/doc/tld/fr.tld
+++ b/doc/tld/fr.tld
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 # Copyright (C) 2003 Stephane Bortzmeyer <address@hidden> / AFNIC
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
diff --git a/doc/tld/no.tld b/doc/tld/no.tld
index 3aaf81e..b64af2d 100644
--- a/doc/tld/no.tld
+++ b/doc/tld/no.tld
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 # Author: Thomas Jacob, Internet24.de.
 
 # Copying and distribution of this file, with or without modification,
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 2c13406..fbfd505 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson.
+# Copyright (C) 2002-2014 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/examples/README b/examples/README
index 9288644..c351edc 100644
--- a/examples/README
+++ b/examples/README
@@ -1,5 +1,5 @@
 Libidn examples/README -- Information about files in examples/ directory.
-Copyright (C) 2003-2013 Simon Josefsson
+Copyright (C) 2003-2014 Simon Josefsson
 See the end for copying conditions.
 
 This directory contains examples on how to use Libidn.
diff --git a/examples/example.c b/examples/example.c
index 561c564..05453be 100644
--- a/examples/example.c
+++ b/examples/example.c
@@ -1,5 +1,5 @@
 /* example.c --- Example code showing how to use stringprep().
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/examples/example2.c b/examples/example2.c
index 83ede4e..a4815b1 100644
--- a/examples/example2.c
+++ b/examples/example2.c
@@ -1,5 +1,5 @@
 /* example2.c --- Example code showing how to use punycode.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  * Copyright (C) 2002  Adam M. Costello
  *
  * This file is part of GNU Libidn.
diff --git a/examples/example3.c b/examples/example3.c
index 3c77f30..d7bace2 100644
--- a/examples/example3.c
+++ b/examples/example3.c
@@ -1,5 +1,5 @@
 /* example3.c --- Example ToASCII() code showing how to use Libidn.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/examples/example4.c b/examples/example4.c
index 8d50613..7802459 100644
--- a/examples/example4.c
+++ b/examples/example4.c
@@ -1,5 +1,5 @@
 /* example4.c --- Example ToUnicode() code showing how to use Libidn.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/examples/example5.c b/examples/example5.c
index 78665f7..120e487 100644
--- a/examples/example5.c
+++ b/examples/example5.c
@@ -1,5 +1,5 @@
 /* example5.c --- Example TLD checking.
- * Copyright (C) 2004-2013 Simon Josefsson
+ * Copyright (C) 2004-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/gl/Makefile.am b/gl/Makefile.am
index 154fc15..a0f249a 100644
--- a/gl/Makefile.am
+++ b/gl/Makefile.am
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 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
@@ -52,28 +52,14 @@ libgnu_la_LDFLAGS = $(AM_LDFLAGS)
 libgnu_la_LDFLAGS += -no-undefined
 libgnu_la_LDFLAGS += $(LTLIBINTL)
 
-## begin gnulib module alloca-opt
+## begin gnulib module absolute-header
 
-BUILT_SOURCES += $(ALLOCA_H)
+# Use this preprocessor expression to decide whether #include_next works.
+# Do not rely on a 'configure'-time test for this, since the expression
+# might appear in an installed header, which is used by some other compiler.
+HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
 
-# We need the following in order to create <alloca.h> when the system
-# doesn't have one that works with the given compiler.
-if GL_GENERATE_ALLOCA_H
-alloca.h: alloca.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f address@hidden $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         cat $(srcdir)/alloca.in.h; \
-       } > address@hidden && \
-       mv -f address@hidden $@
-else
-alloca.h: $(top_builddir)/config.status
-       rm -f $@
-endif
-MOSTLYCLEANFILES += alloca.h alloca.h-t
-
-EXTRA_DIST += alloca.in.h
-
-## end   gnulib module alloca-opt
+## end   gnulib module absolute-header
 
 ## begin gnulib module csharpcomp-script
 
@@ -132,71 +118,6 @@ EXTRA_libgnu_la_SOURCES += error.c
 
 ## end   gnulib module error
 
-## begin gnulib module float
-
-BUILT_SOURCES += $(FLOAT_H)
-
-# We need the following in order to create <float.h> when the system
-# doesn't have one that works with the given compiler.
-if GL_GENERATE_FLOAT_H
-float.h: float.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f address@hidden $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|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_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
-             -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \
-             < $(srcdir)/float.in.h; \
-       } > address@hidden && \
-       mv address@hidden $@
-else
-float.h: $(top_builddir)/config.status
-       rm -f $@
-endif
-MOSTLYCLEANFILES += float.h float.h-t
-
-EXTRA_DIST += float.c float.in.h itold.c
-
-EXTRA_libgnu_la_SOURCES += float.c itold.c
-
-## end   gnulib module float
-
-## begin gnulib module fpucw
-
-
-EXTRA_DIST += fpucw.h
-
-## end   gnulib module fpucw
-
-## begin gnulib module frexp-nolibm
-
-
-EXTRA_DIST += frexp.c
-
-EXTRA_libgnu_la_SOURCES += frexp.c
-
-## end   gnulib module frexp-nolibm
-
-## begin gnulib module frexpl-nolibm
-
-
-EXTRA_DIST += frexp.c frexpl.c
-
-EXTRA_libgnu_la_SOURCES += frexp.c frexpl.c
-
-## end   gnulib module frexpl-nolibm
-
-## begin gnulib module fseterr
-
-
-EXTRA_DIST += fseterr.c fseterr.h stdio-impl.h
-
-EXTRA_libgnu_la_SOURCES += fseterr.c
-
-## end   gnulib module fseterr
-
 ## begin gnulib module gendocs
 
 
@@ -261,332 +182,12 @@ EXTRA_DIST += intprops.h
 
 ## end   gnulib module intprops
 
-## begin gnulib module isnand-nolibm
-
-
-EXTRA_DIST += float+.h isnan.c isnand-nolibm.h isnand.c
-
-EXTRA_libgnu_la_SOURCES += isnan.c isnand.c
-
-## end   gnulib module isnand-nolibm
-
-## begin gnulib module isnanf-nolibm
-
-
-EXTRA_DIST += float+.h isnan.c isnanf-nolibm.h isnanf.c
-
-EXTRA_libgnu_la_SOURCES += isnan.c isnanf.c
-
-## end   gnulib module isnanf-nolibm
-
-## begin gnulib module isnanl-nolibm
-
-
-EXTRA_DIST += float+.h isnan.c isnanl-nolibm.h isnanl.c
-
-EXTRA_libgnu_la_SOURCES += isnan.c isnanl.c
-
-## end   gnulib module isnanl-nolibm
-
 ## begin gnulib module maintainer-makefile
 
 EXTRA_DIST += $(top_srcdir)/maint.mk
 
 ## end   gnulib module maintainer-makefile
 
-## begin gnulib module math
-
-BUILT_SOURCES += math.h
-libgnu_la_SOURCES += math.c
-
-# We need the following in order to create <math.h> when the system
-# doesn't have one that works with the given compiler.
-math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) 
$(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f address@hidden $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 
's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \
-             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-             -e 
's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|$(NEXT_AS_FIRST_DIRECTIVE_MATH_H)|g' \
-             -e 's/@''GNULIB_ACOSF''@/$(GNULIB_ACOSF)/g' \
-             -e 's/@''GNULIB_ACOSL''@/$(GNULIB_ACOSL)/g' \
-             -e 's/@''GNULIB_ASINF''@/$(GNULIB_ASINF)/g' \
-             -e 's/@''GNULIB_ASINL''@/$(GNULIB_ASINL)/g' \
-             -e 's/@''GNULIB_ATANF''@/$(GNULIB_ATANF)/g' \
-             -e 's/@''GNULIB_ATANL''@/$(GNULIB_ATANL)/g' \
-             -e 's/@''GNULIB_ATAN2F''@/$(GNULIB_ATAN2F)/g' \
-             -e 's/@''GNULIB_CBRT''@/$(GNULIB_CBRT)/g' \
-             -e 's/@''GNULIB_CBRTF''@/$(GNULIB_CBRTF)/g' \
-             -e 's/@''GNULIB_CBRTL''@/$(GNULIB_CBRTL)/g' \
-             -e 's/@''GNULIB_CEIL''@/$(GNULIB_CEIL)/g' \
-             -e 's/@''GNULIB_CEILF''@/$(GNULIB_CEILF)/g' \
-             -e 's/@''GNULIB_CEILL''@/$(GNULIB_CEILL)/g' \
-             -e 's/@''GNULIB_COPYSIGN''@/$(GNULIB_COPYSIGN)/g' \
-             -e 's/@''GNULIB_COPYSIGNF''@/$(GNULIB_COPYSIGNF)/g' \
-             -e 's/@''GNULIB_COPYSIGNL''@/$(GNULIB_COPYSIGNL)/g' \
-             -e 's/@''GNULIB_COSF''@/$(GNULIB_COSF)/g' \
-             -e 's/@''GNULIB_COSL''@/$(GNULIB_COSL)/g' \
-             -e 's/@''GNULIB_COSHF''@/$(GNULIB_COSHF)/g' \
-             -e 's/@''GNULIB_EXPF''@/$(GNULIB_EXPF)/g' \
-             -e 's/@''GNULIB_EXPL''@/$(GNULIB_EXPL)/g' \
-             -e 's/@''GNULIB_EXP2''@/$(GNULIB_EXP2)/g' \
-             -e 's/@''GNULIB_EXP2F''@/$(GNULIB_EXP2F)/g' \
-             -e 's/@''GNULIB_EXP2L''@/$(GNULIB_EXP2L)/g' \
-             -e 's/@''GNULIB_EXPM1''@/$(GNULIB_EXPM1)/g' \
-             -e 's/@''GNULIB_EXPM1F''@/$(GNULIB_EXPM1F)/g' \
-             -e 's/@''GNULIB_EXPM1L''@/$(GNULIB_EXPM1L)/g' \
-             -e 's/@''GNULIB_FABSF''@/$(GNULIB_FABSF)/g' \
-             -e 's/@''GNULIB_FABSL''@/$(GNULIB_FABSL)/g' \
-             -e 's/@''GNULIB_FLOOR''@/$(GNULIB_FLOOR)/g' \
-             -e 's/@''GNULIB_FLOORF''@/$(GNULIB_FLOORF)/g' \
-             -e 's/@''GNULIB_FLOORL''@/$(GNULIB_FLOORL)/g' \
-             -e 's/@''GNULIB_FMA''@/$(GNULIB_FMA)/g' \
-             -e 's/@''GNULIB_FMAF''@/$(GNULIB_FMAF)/g' \
-             -e 's/@''GNULIB_FMAL''@/$(GNULIB_FMAL)/g' \
-             -e 's/@''GNULIB_FMOD''@/$(GNULIB_FMOD)/g' \
-             -e 's/@''GNULIB_FMODF''@/$(GNULIB_FMODF)/g' \
-             -e 's/@''GNULIB_FMODL''@/$(GNULIB_FMODL)/g' \
-             -e 's/@''GNULIB_FREXPF''@/$(GNULIB_FREXPF)/g' \
-             -e 's/@''GNULIB_FREXP''@/$(GNULIB_FREXP)/g' \
-             -e 's/@''GNULIB_FREXPL''@/$(GNULIB_FREXPL)/g' \
-             -e 's/@''GNULIB_HYPOT''@/$(GNULIB_HYPOT)/g' \
-             -e 's/@''GNULIB_HYPOTF''@/$(GNULIB_HYPOTF)/g' \
-             -e 's/@''GNULIB_HYPOTL''@/$(GNULIB_HYPOTL)/g' \
-             < $(srcdir)/math.in.h | \
-         sed -e 's/@''GNULIB_ILOGB''@/$(GNULIB_ILOGB)/g' \
-             -e 's/@''GNULIB_ILOGBF''@/$(GNULIB_ILOGBF)/g' \
-             -e 's/@''GNULIB_ILOGBL''@/$(GNULIB_ILOGBL)/g' \
-             -e 's/@''GNULIB_ISFINITE''@/$(GNULIB_ISFINITE)/g' \
-             -e 's/@''GNULIB_ISINF''@/$(GNULIB_ISINF)/g' \
-             -e 's/@''GNULIB_ISNAN''@/$(GNULIB_ISNAN)/g' \
-             -e 's/@''GNULIB_ISNANF''@/$(GNULIB_ISNANF)/g' \
-             -e 's/@''GNULIB_ISNAND''@/$(GNULIB_ISNAND)/g' \
-             -e 's/@''GNULIB_ISNANL''@/$(GNULIB_ISNANL)/g' \
-             -e 's/@''GNULIB_LDEXPF''@/$(GNULIB_LDEXPF)/g' \
-             -e 's/@''GNULIB_LDEXPL''@/$(GNULIB_LDEXPL)/g' \
-             -e 's/@''GNULIB_LOG''@/$(GNULIB_LOG)/g' \
-             -e 's/@''GNULIB_LOGF''@/$(GNULIB_LOGF)/g' \
-             -e 's/@''GNULIB_LOGL''@/$(GNULIB_LOGL)/g' \
-             -e 's/@''GNULIB_LOG10''@/$(GNULIB_LOG10)/g' \
-             -e 's/@''GNULIB_LOG10F''@/$(GNULIB_LOG10F)/g' \
-             -e 's/@''GNULIB_LOG10L''@/$(GNULIB_LOG10L)/g' \
-             -e 's/@''GNULIB_LOG1P''@/$(GNULIB_LOG1P)/g' \
-             -e 's/@''GNULIB_LOG1PF''@/$(GNULIB_LOG1PF)/g' \
-             -e 's/@''GNULIB_LOG1PL''@/$(GNULIB_LOG1PL)/g' \
-             -e 's/@''GNULIB_LOG2''@/$(GNULIB_LOG2)/g' \
-             -e 's/@''GNULIB_LOG2F''@/$(GNULIB_LOG2F)/g' \
-             -e 's/@''GNULIB_LOG2L''@/$(GNULIB_LOG2L)/g' \
-             -e 's/@''GNULIB_LOGB''@/$(GNULIB_LOGB)/g' \
-             -e 's/@''GNULIB_LOGBF''@/$(GNULIB_LOGBF)/g' \
-             -e 's/@''GNULIB_LOGBL''@/$(GNULIB_LOGBL)/g' \
-             -e 's/@''GNULIB_MODF''@/$(GNULIB_MODF)/g' \
-             -e 's/@''GNULIB_MODFF''@/$(GNULIB_MODFF)/g' \
-             -e 's/@''GNULIB_MODFL''@/$(GNULIB_MODFL)/g' \
-             -e 's/@''GNULIB_POWF''@/$(GNULIB_POWF)/g' \
-             -e 's/@''GNULIB_REMAINDER''@/$(GNULIB_REMAINDER)/g' \
-             -e 's/@''GNULIB_REMAINDERF''@/$(GNULIB_REMAINDERF)/g' \
-             -e 's/@''GNULIB_REMAINDERL''@/$(GNULIB_REMAINDERL)/g' \
-             -e 's/@''GNULIB_RINT''@/$(GNULIB_RINT)/g' \
-             -e 's/@''GNULIB_RINTF''@/$(GNULIB_RINTF)/g' \
-             -e 's/@''GNULIB_RINTL''@/$(GNULIB_RINTL)/g' \
-             -e 's/@''GNULIB_ROUND''@/$(GNULIB_ROUND)/g' \
-             -e 's/@''GNULIB_ROUNDF''@/$(GNULIB_ROUNDF)/g' \
-             -e 's/@''GNULIB_ROUNDL''@/$(GNULIB_ROUNDL)/g' \
-             -e 's/@''GNULIB_SIGNBIT''@/$(GNULIB_SIGNBIT)/g' \
-             -e 's/@''GNULIB_SINF''@/$(GNULIB_SINF)/g' \
-             -e 's/@''GNULIB_SINL''@/$(GNULIB_SINL)/g' \
-             -e 's/@''GNULIB_SINHF''@/$(GNULIB_SINHF)/g' \
-             -e 's/@''GNULIB_SQRTF''@/$(GNULIB_SQRTF)/g' \
-             -e 's/@''GNULIB_SQRTL''@/$(GNULIB_SQRTL)/g' \
-             -e 's/@''GNULIB_TANF''@/$(GNULIB_TANF)/g' \
-             -e 's/@''GNULIB_TANL''@/$(GNULIB_TANL)/g' \
-             -e 's/@''GNULIB_TANHF''@/$(GNULIB_TANHF)/g' \
-             -e 's/@''GNULIB_TRUNC''@/$(GNULIB_TRUNC)/g' \
-             -e 's/@''GNULIB_TRUNCF''@/$(GNULIB_TRUNCF)/g' \
-             -e 's/@''GNULIB_TRUNCL''@/$(GNULIB_TRUNCL)/g' \
-         | \
-         sed -e 's|@''HAVE_ACOSF''@|$(HAVE_ACOSF)|g' \
-             -e 's|@''HAVE_ACOSL''@|$(HAVE_ACOSL)|g' \
-             -e 's|@''HAVE_ASINF''@|$(HAVE_ASINF)|g' \
-             -e 's|@''HAVE_ASINL''@|$(HAVE_ASINL)|g' \
-             -e 's|@''HAVE_ATANF''@|$(HAVE_ATANF)|g' \
-             -e 's|@''HAVE_ATANL''@|$(HAVE_ATANL)|g' \
-             -e 's|@''HAVE_ATAN2F''@|$(HAVE_ATAN2F)|g' \
-             -e 's|@''HAVE_CBRT''@|$(HAVE_CBRT)|g' \
-             -e 's|@''HAVE_CBRTF''@|$(HAVE_CBRTF)|g' \
-             -e 's|@''HAVE_CBRTL''@|$(HAVE_CBRTL)|g' \
-             -e 's|@''HAVE_COPYSIGN''@|$(HAVE_COPYSIGN)|g' \
-             -e 's|@''HAVE_COPYSIGNL''@|$(HAVE_COPYSIGNL)|g' \
-             -e 's|@''HAVE_COSF''@|$(HAVE_COSF)|g' \
-             -e 's|@''HAVE_COSL''@|$(HAVE_COSL)|g' \
-             -e 's|@''HAVE_COSHF''@|$(HAVE_COSHF)|g' \
-             -e 's|@''HAVE_EXPF''@|$(HAVE_EXPF)|g' \
-             -e 's|@''HAVE_EXPL''@|$(HAVE_EXPL)|g' \
-             -e 's|@''HAVE_EXPM1''@|$(HAVE_EXPM1)|g' \
-             -e 's|@''HAVE_EXPM1F''@|$(HAVE_EXPM1F)|g' \
-             -e 's|@''HAVE_FABSF''@|$(HAVE_FABSF)|g' \
-             -e 's|@''HAVE_FABSL''@|$(HAVE_FABSL)|g' \
-             -e 's|@''HAVE_FMA''@|$(HAVE_FMA)|g' \
-             -e 's|@''HAVE_FMAF''@|$(HAVE_FMAF)|g' \
-             -e 's|@''HAVE_FMAL''@|$(HAVE_FMAL)|g' \
-             -e 's|@''HAVE_FMODF''@|$(HAVE_FMODF)|g' \
-             -e 's|@''HAVE_FMODL''@|$(HAVE_FMODL)|g' \
-             -e 's|@''HAVE_FREXPF''@|$(HAVE_FREXPF)|g' \
-             -e 's|@''HAVE_HYPOTF''@|$(HAVE_HYPOTF)|g' \
-             -e 's|@''HAVE_HYPOTL''@|$(HAVE_HYPOTL)|g' \
-             -e 's|@''HAVE_ILOGB''@|$(HAVE_ILOGB)|g' \
-             -e 's|@''HAVE_ILOGBF''@|$(HAVE_ILOGBF)|g' \
-             -e 's|@''HAVE_ILOGBL''@|$(HAVE_ILOGBL)|g' \
-             -e 's|@''HAVE_ISNANF''@|$(HAVE_ISNANF)|g' \
-             -e 's|@''HAVE_ISNAND''@|$(HAVE_ISNAND)|g' \
-             -e 's|@''HAVE_ISNANL''@|$(HAVE_ISNANL)|g' \
-             -e 's|@''HAVE_LDEXPF''@|$(HAVE_LDEXPF)|g' \
-             -e 's|@''HAVE_LOGF''@|$(HAVE_LOGF)|g' \
-             -e 's|@''HAVE_LOGL''@|$(HAVE_LOGL)|g' \
-             -e 's|@''HAVE_LOG10F''@|$(HAVE_LOG10F)|g' \
-             -e 's|@''HAVE_LOG10L''@|$(HAVE_LOG10L)|g' \
-             -e 's|@''HAVE_LOG1P''@|$(HAVE_LOG1P)|g' \
-             -e 's|@''HAVE_LOG1PF''@|$(HAVE_LOG1PF)|g' \
-             -e 's|@''HAVE_LOG1PL''@|$(HAVE_LOG1PL)|g' \
-             -e 's|@''HAVE_LOGBF''@|$(HAVE_LOGBF)|g' \
-             -e 's|@''HAVE_LOGBL''@|$(HAVE_LOGBL)|g' \
-             -e 's|@''HAVE_MODFF''@|$(HAVE_MODFF)|g' \
-             -e 's|@''HAVE_MODFL''@|$(HAVE_MODFL)|g' \
-             -e 's|@''HAVE_POWF''@|$(HAVE_POWF)|g' \
-             -e 's|@''HAVE_REMAINDER''@|$(HAVE_REMAINDER)|g' \
-             -e 's|@''HAVE_REMAINDERF''@|$(HAVE_REMAINDERF)|g' \
-             -e 's|@''HAVE_RINT''@|$(HAVE_RINT)|g' \
-             -e 's|@''HAVE_RINTL''@|$(HAVE_RINTL)|g' \
-             -e 's|@''HAVE_SINF''@|$(HAVE_SINF)|g' \
-             -e 's|@''HAVE_SINL''@|$(HAVE_SINL)|g' \
-             -e 's|@''HAVE_SINHF''@|$(HAVE_SINHF)|g' \
-             -e 's|@''HAVE_SQRTF''@|$(HAVE_SQRTF)|g' \
-             -e 's|@''HAVE_SQRTL''@|$(HAVE_SQRTL)|g' \
-             -e 's|@''HAVE_TANF''@|$(HAVE_TANF)|g' \
-             -e 's|@''HAVE_TANL''@|$(HAVE_TANL)|g' \
-             -e 's|@''HAVE_TANHF''@|$(HAVE_TANHF)|g' \
-             -e 's|@''HAVE_DECL_ACOSL''@|$(HAVE_DECL_ACOSL)|g' \
-             -e 's|@''HAVE_DECL_ASINL''@|$(HAVE_DECL_ASINL)|g' \
-             -e 's|@''HAVE_DECL_ATANL''@|$(HAVE_DECL_ATANL)|g' \
-             -e 's|@''HAVE_DECL_CBRTF''@|$(HAVE_DECL_CBRTF)|g' \
-             -e 's|@''HAVE_DECL_CBRTL''@|$(HAVE_DECL_CBRTL)|g' \
-             -e 's|@''HAVE_DECL_CEILF''@|$(HAVE_DECL_CEILF)|g' \
-             -e 's|@''HAVE_DECL_CEILL''@|$(HAVE_DECL_CEILL)|g' \
-             -e 's|@''HAVE_DECL_COPYSIGNF''@|$(HAVE_DECL_COPYSIGNF)|g' \
-             -e 's|@''HAVE_DECL_COSL''@|$(HAVE_DECL_COSL)|g' \
-             -e 's|@''HAVE_DECL_EXPL''@|$(HAVE_DECL_EXPL)|g' \
-             -e 's|@''HAVE_DECL_EXP2''@|$(HAVE_DECL_EXP2)|g' \
-             -e 's|@''HAVE_DECL_EXP2F''@|$(HAVE_DECL_EXP2F)|g' \
-             -e 's|@''HAVE_DECL_EXP2L''@|$(HAVE_DECL_EXP2L)|g' \
-             -e 's|@''HAVE_DECL_EXPM1L''@|$(HAVE_DECL_EXPM1L)|g' \
-             -e 's|@''HAVE_DECL_FLOORF''@|$(HAVE_DECL_FLOORF)|g' \
-             -e 's|@''HAVE_DECL_FLOORL''@|$(HAVE_DECL_FLOORL)|g' \
-             -e 's|@''HAVE_DECL_FREXPL''@|$(HAVE_DECL_FREXPL)|g' \
-             -e 's|@''HAVE_DECL_LDEXPL''@|$(HAVE_DECL_LDEXPL)|g' \
-             -e 's|@''HAVE_DECL_LOGL''@|$(HAVE_DECL_LOGL)|g' \
-             -e 's|@''HAVE_DECL_LOG10L''@|$(HAVE_DECL_LOG10L)|g' \
-             -e 's|@''HAVE_DECL_LOG2''@|$(HAVE_DECL_LOG2)|g' \
-             -e 's|@''HAVE_DECL_LOG2F''@|$(HAVE_DECL_LOG2F)|g' \
-             -e 's|@''HAVE_DECL_LOG2L''@|$(HAVE_DECL_LOG2L)|g' \
-             -e 's|@''HAVE_DECL_LOGB''@|$(HAVE_DECL_LOGB)|g' \
-             -e 's|@''HAVE_DECL_REMAINDER''@|$(HAVE_DECL_REMAINDER)|g' \
-             -e 's|@''HAVE_DECL_REMAINDERL''@|$(HAVE_DECL_REMAINDERL)|g' \
-             -e 's|@''HAVE_DECL_RINTF''@|$(HAVE_DECL_RINTF)|g' \
-             -e 's|@''HAVE_DECL_ROUND''@|$(HAVE_DECL_ROUND)|g' \
-             -e 's|@''HAVE_DECL_ROUNDF''@|$(HAVE_DECL_ROUNDF)|g' \
-             -e 's|@''HAVE_DECL_ROUNDL''@|$(HAVE_DECL_ROUNDL)|g' \
-             -e 's|@''HAVE_DECL_SINL''@|$(HAVE_DECL_SINL)|g' \
-             -e 's|@''HAVE_DECL_SQRTL''@|$(HAVE_DECL_SQRTL)|g' \
-             -e 's|@''HAVE_DECL_TANL''@|$(HAVE_DECL_TANL)|g' \
-             -e 's|@''HAVE_DECL_TRUNC''@|$(HAVE_DECL_TRUNC)|g' \
-             -e 's|@''HAVE_DECL_TRUNCF''@|$(HAVE_DECL_TRUNCF)|g' \
-             -e 's|@''HAVE_DECL_TRUNCL''@|$(HAVE_DECL_TRUNCL)|g' \
-         | \
-         sed -e 's|@''REPLACE_CBRTF''@|$(REPLACE_CBRTF)|g' \
-             -e 's|@''REPLACE_CBRTL''@|$(REPLACE_CBRTL)|g' \
-             -e 's|@''REPLACE_CEIL''@|$(REPLACE_CEIL)|g' \
-             -e 's|@''REPLACE_CEILF''@|$(REPLACE_CEILF)|g' \
-             -e 's|@''REPLACE_CEILL''@|$(REPLACE_CEILL)|g' \
-             -e 's|@''REPLACE_EXPM1''@|$(REPLACE_EXPM1)|g' \
-             -e 's|@''REPLACE_EXPM1F''@|$(REPLACE_EXPM1F)|g' \
-             -e 's|@''REPLACE_EXP2''@|$(REPLACE_EXP2)|g' \
-             -e 's|@''REPLACE_EXP2L''@|$(REPLACE_EXP2L)|g' \
-             -e 's|@''REPLACE_FABSL''@|$(REPLACE_FABSL)|g' \
-             -e 's|@''REPLACE_FLOOR''@|$(REPLACE_FLOOR)|g' \
-             -e 's|@''REPLACE_FLOORF''@|$(REPLACE_FLOORF)|g' \
-             -e 's|@''REPLACE_FLOORL''@|$(REPLACE_FLOORL)|g' \
-             -e 's|@''REPLACE_FMA''@|$(REPLACE_FMA)|g' \
-             -e 's|@''REPLACE_FMAF''@|$(REPLACE_FMAF)|g' \
-             -e 's|@''REPLACE_FMAL''@|$(REPLACE_FMAL)|g' \
-             -e 's|@''REPLACE_FMOD''@|$(REPLACE_FMOD)|g' \
-             -e 's|@''REPLACE_FMODF''@|$(REPLACE_FMODF)|g' \
-             -e 's|@''REPLACE_FMODL''@|$(REPLACE_FMODL)|g' \
-             -e 's|@''REPLACE_FREXPF''@|$(REPLACE_FREXPF)|g' \
-             -e 's|@''REPLACE_FREXP''@|$(REPLACE_FREXP)|g' \
-             -e 's|@''REPLACE_FREXPL''@|$(REPLACE_FREXPL)|g' \
-             -e 's|@''REPLACE_HUGE_VAL''@|$(REPLACE_HUGE_VAL)|g' \
-             -e 's|@''REPLACE_HYPOT''@|$(REPLACE_HYPOT)|g' \
-             -e 's|@''REPLACE_HYPOTF''@|$(REPLACE_HYPOTF)|g' \
-             -e 's|@''REPLACE_HYPOTL''@|$(REPLACE_HYPOTL)|g' \
-             -e 's|@''REPLACE_ILOGB''@|$(REPLACE_ILOGB)|g' \
-             -e 's|@''REPLACE_ILOGBF''@|$(REPLACE_ILOGBF)|g' \
-             -e 's|@''REPLACE_ISFINITE''@|$(REPLACE_ISFINITE)|g' \
-             -e 's|@''REPLACE_ISINF''@|$(REPLACE_ISINF)|g' \
-             -e 's|@''REPLACE_ISNAN''@|$(REPLACE_ISNAN)|g' \
-             -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \
-             -e 's|@''REPLACE_LDEXPL''@|$(REPLACE_LDEXPL)|g' \
-             -e 's|@''REPLACE_LOG''@|$(REPLACE_LOG)|g' \
-             -e 's|@''REPLACE_LOGF''@|$(REPLACE_LOGF)|g' \
-             -e 's|@''REPLACE_LOGL''@|$(REPLACE_LOGL)|g' \
-             -e 's|@''REPLACE_LOG10''@|$(REPLACE_LOG10)|g' \
-             -e 's|@''REPLACE_LOG10F''@|$(REPLACE_LOG10F)|g' \
-             -e 's|@''REPLACE_LOG10L''@|$(REPLACE_LOG10L)|g' \
-             -e 's|@''REPLACE_LOG1P''@|$(REPLACE_LOG1P)|g' \
-             -e 's|@''REPLACE_LOG1PF''@|$(REPLACE_LOG1PF)|g' \
-             -e 's|@''REPLACE_LOG1PL''@|$(REPLACE_LOG1PL)|g' \
-             -e 's|@''REPLACE_LOG2''@|$(REPLACE_LOG2)|g' \
-             -e 's|@''REPLACE_LOG2F''@|$(REPLACE_LOG2F)|g' \
-             -e 's|@''REPLACE_LOG2L''@|$(REPLACE_LOG2L)|g' \
-             -e 's|@''REPLACE_LOGB''@|$(REPLACE_LOGB)|g' \
-             -e 's|@''REPLACE_LOGBF''@|$(REPLACE_LOGBF)|g' \
-             -e 's|@''REPLACE_LOGBL''@|$(REPLACE_LOGBL)|g' \
-             -e 's|@''REPLACE_MODF''@|$(REPLACE_MODF)|g' \
-             -e 's|@''REPLACE_MODFF''@|$(REPLACE_MODFF)|g' \
-             -e 's|@''REPLACE_MODFL''@|$(REPLACE_MODFL)|g' \
-             -e 's|@''REPLACE_NAN''@|$(REPLACE_NAN)|g' \
-             -e 's|@''REPLACE_REMAINDER''@|$(REPLACE_REMAINDER)|g' \
-             -e 's|@''REPLACE_REMAINDERF''@|$(REPLACE_REMAINDERF)|g' \
-             -e 's|@''REPLACE_REMAINDERL''@|$(REPLACE_REMAINDERL)|g' \
-             -e 's|@''REPLACE_ROUND''@|$(REPLACE_ROUND)|g' \
-             -e 's|@''REPLACE_ROUNDF''@|$(REPLACE_ROUNDF)|g' \
-             -e 's|@''REPLACE_ROUNDL''@|$(REPLACE_ROUNDL)|g' \
-             -e 's|@''REPLACE_SIGNBIT''@|$(REPLACE_SIGNBIT)|g' \
-             -e 
's|@''REPLACE_SIGNBIT_USING_GCC''@|$(REPLACE_SIGNBIT_USING_GCC)|g' \
-             -e 's|@''REPLACE_SQRTL''@|$(REPLACE_SQRTL)|g' \
-             -e 's|@''REPLACE_TRUNC''@|$(REPLACE_TRUNC)|g' \
-             -e 's|@''REPLACE_TRUNCF''@|$(REPLACE_TRUNCF)|g' \
-             -e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|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)'; \
-       } > address@hidden && \
-       mv address@hidden $@
-MOSTLYCLEANFILES += math.h math.h-t
-
-EXTRA_DIST += math.in.h
-
-## end   gnulib module math
-
-## begin gnulib module memchr
-
-
-EXTRA_DIST += memchr.c memchr.valgrind
-
-EXTRA_libgnu_la_SOURCES += memchr.c
-
-## end   gnulib module memchr
-
 ## begin gnulib module msvc-inval
 
 
@@ -612,45 +213,12 @@ EXTRA_DIST += $(top_srcdir)/build-aux/pmccabe2html 
$(top_srcdir)/build-aux/pmcca
 
 ## end   gnulib module pmccabe2html
 
-## begin gnulib module printf-frexp
-
-libgnu_la_SOURCES += printf-frexp.c
-
-EXTRA_DIST += printf-frexp.h
-
-## end   gnulib module printf-frexp
-
-## begin gnulib module printf-frexpl
-
-libgnu_la_SOURCES += printf-frexpl.c
-
-EXTRA_DIST += printf-frexp.c printf-frexpl.h
-
-EXTRA_libgnu_la_SOURCES += printf-frexp.c
-
-## end   gnulib module printf-frexpl
-
 ## begin gnulib module progname
 
 libgnu_la_SOURCES += progname.h progname.c
 
 ## end   gnulib module progname
 
-## begin gnulib module signbit
-
-
-EXTRA_DIST += float+.h signbitd.c signbitf.c signbitl.c
-
-EXTRA_libgnu_la_SOURCES += signbitd.c signbitf.c signbitl.c
-
-## end   gnulib module signbit
-
-## begin gnulib module size_max
-
-libgnu_la_SOURCES += size_max.h
-
-## end   gnulib module size_max
-
 ## begin gnulib module snippet/arg-nonnull
 
 # The BUILT_SOURCES created by this Makefile snippet are not used via #include
@@ -778,56 +346,6 @@ EXTRA_DIST += stddef.in.h
 
 ## end   gnulib module stddef
 
-## begin gnulib module stdint
-
-BUILT_SOURCES += $(STDINT_H)
-
-# We need the following in order to create <stdint.h> when the system
-# doesn't have one that works with the given compiler.
-if GL_GENERATE_STDINT_H
-stdint.h: stdint.in.h $(top_builddir)/config.status
-       $(AM_V_GEN)rm -f address@hidden $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-             -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_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_STDINT_H''@|$(NEXT_STDINT_H)|g' \
-             -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
-             -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
-             -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
-             -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
-             -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/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/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
-             -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
-             -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
-             -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
-             -e 
's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
-             -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
-             -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
-             -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
-             -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
-             -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
-             -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
-             -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
-             -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
-             -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
-             < $(srcdir)/stdint.in.h; \
-       } > address@hidden && \
-       mv address@hidden $@
-else
-stdint.h: $(top_builddir)/config.status
-       rm -f $@
-endif
-MOSTLYCLEANFILES += stdint.h stdint.h-t
-
-EXTRA_DIST += stdint.in.h
-
-## end   gnulib module stdint
-
 ## begin gnulib module stdio
 
 BUILT_SOURCES += stdio.h
@@ -1265,15 +783,6 @@ EXTRA_DIST += 
$(top_srcdir)/build-aux/useless-if-before-free
 
 ## end   gnulib module useless-if-before-free
 
-## begin gnulib module vasnprintf
-
-
-EXTRA_DIST += asnprintf.c float+.h printf-args.c printf-args.h printf-parse.c 
printf-parse.h vasnprintf.c vasnprintf.h
-
-EXTRA_libgnu_la_SOURCES += asnprintf.c printf-args.c printf-parse.c 
vasnprintf.c
-
-## end   gnulib module vasnprintf
-
 ## begin gnulib module vc-list-files
 
 
@@ -1294,142 +803,6 @@ libgnu_la_SOURCES += version-etc.h version-etc.c
 
 ## end   gnulib module version-etc
 
-## begin gnulib module vfprintf-posix
-
-
-EXTRA_DIST += vfprintf.c
-
-EXTRA_libgnu_la_SOURCES += vfprintf.c
-
-## end   gnulib module vfprintf-posix
-
-## begin gnulib module wchar
-
-BUILT_SOURCES += wchar.h
-
-# We need the following in order to create <wchar.h> when the system
-# version does not work standalone.
-wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) 
$(ARG_NONNULL_H) $(WARN_ON_USE_H)
-       $(AM_V_GEN)rm -f address@hidden $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL|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|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
-             -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
-             -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
-             -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
-             -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
-             -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
-             -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
-             -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
-             -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
-             -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
-             -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
-             -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
-             -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
-             -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
-             -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
-             -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
-             -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
-             -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
-             -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
-             -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
-             -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
-             -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
-             -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
-             -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
-             -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
-             -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
-             -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
-             -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
-             -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
-             -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
-             -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
-             -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
-             -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
-             -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
-             -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
-             -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
-             -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
-             -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
-             -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
-             -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
-             -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
-             -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
-             < $(srcdir)/wchar.in.h | \
-         sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
-             -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
-             -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
-             -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
-             -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
-             -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
-             -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
-             -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
-             -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
-             -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
-             -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
-             -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
-             -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
-             -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
-             -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
-             -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
-             -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
-             -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
-             -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
-             -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
-             -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
-             -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
-             -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
-             -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
-             -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
-             -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
-             -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
-             -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
-             -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
-             -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
-             -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
-             -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
-             -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
-             -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
-             -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
-             -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
-             -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
-             -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
-             -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
-             -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
-         | \
-         sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
-             -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
-             -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
-             -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
-             -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
-             -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
-             -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
-             -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
-             -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
-             -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
-             -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
-             -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
-             -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|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)'; \
-       } > address@hidden && \
-       mv address@hidden $@
-MOSTLYCLEANFILES += wchar.h wchar.h-t
-
-EXTRA_DIST += wchar.in.h
-
-## end   gnulib module wchar
-
-## begin gnulib module xsize
-
-libgnu_la_SOURCES += xsize.h xsize.c
-
-## end   gnulib module xsize
-
 
 mostlyclean-local: mostlyclean-generic
        @for dir in '' $(MOSTLYCLEANDIRS); do \
diff --git a/gl/asnprintf.c b/gl/asnprintf.c
deleted file mode 100644
index 76e228d..0000000
--- a/gl/asnprintf.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006, 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>
-
-/* Specification.  */
-#include "vasnprintf.h"
-
-#include <stdarg.h>
-
-char *
-asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)
-{
-  va_list args;
-  char *result;
-
-  va_start (args, format);
-  result = vasnprintf (resultbuf, lengthp, format, args);
-  va_end (args);
-  return result;
-}
diff --git a/gl/errno.in.h b/gl/errno.in.h
index 49b3546..832afc8 100644
--- a/gl/errno.in.h
+++ b/gl/errno.in.h
@@ -1,6 +1,6 @@
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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/gl/error.c b/gl/error.c
index cdc3026..7b99cd7 100644
--- a/gl/error.c
+++ b/gl/error.c
@@ -1,5 +1,5 @@
 /* Error handler for noninteractive utilities
-   Copyright (C) 1990-1998, 2000-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1990-1998, 2000-2007, 2009-2014 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
@@ -39,6 +39,9 @@
 # include <stdint.h>
 # include <wchar.h>
 # define mbsrtowcs __mbsrtowcs
+# define USE_UNLOCKED_IO 0
+# define _GL_ATTRIBUTE_FORMAT_PRINTF(a, b)
+# define _GL_ARG_NONNULL(a)
 #endif
 
 #if USE_UNLOCKED_IO
@@ -77,9 +80,9 @@ extern void __error_at_line (int status, int errnum, const 
char *file_name,
 # define error_at_line __error_at_line
 
 # include <libio/iolibio.h>
-# define fflush(s) INTUSE(_IO_fflush) (s)
+# define fflush(s) _IO_fflush (s)
 # undef putc
-# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
+# define putc(c, fp) _IO_putc (c, fp)
 
 # include <bits/libc-lock.h>
 
@@ -171,7 +174,7 @@ print_errno_message (int errnum)
 
 #if defined HAVE_STRERROR_R || _LIBC
   char errbuf[1024];
-# if STRERROR_R_CHAR_P || _LIBC
+# if _LIBC || STRERROR_R_CHAR_P
   s = __strerror_r (errnum, errbuf, sizeof errbuf);
 # else
   if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
@@ -201,7 +204,6 @@ error_tail (int status, int errnum, const char *message, 
va_list args)
 #if _LIBC
   if (_IO_fwide (stderr, 0) > 0)
     {
-# define ALLOCA_LIMIT 2000
       size_t len = strlen (message) + 1;
       wchar_t *wmessage = NULL;
       mbstate_t st;
@@ -237,7 +239,7 @@ error_tail (int status, int errnum, const char *message, 
va_list args)
           if (res != len)
             break;
 
-          if (__builtin_expect (len >= SIZE_MAX / 2, 0))
+          if (__builtin_expect (len >= SIZE_MAX / sizeof (wchar_t) / 2, 0))
             {
               /* This really should not happen if everything is fine.  */
               res = (size_t) -1;
@@ -342,7 +344,10 @@ error_at_line (int status, int errnum, const char 
*file_name,
 
       if (old_line_number == line_number
           && (file_name == old_file_name
-              || strcmp (old_file_name, file_name) == 0))
+              || (old_file_name != NULL
+                  && file_name != NULL
+                  && strcmp (old_file_name, file_name) == 0)))
+
         /* Simply return and print nothing.  */
         return;
 
diff --git a/gl/error.h b/gl/error.h
index afcb0e1..4aaafb3 100644
--- a/gl/error.h
+++ b/gl/error.h
@@ -1,5 +1,5 @@
 /* Declaration for error-reporting function
-   Copyright (C) 1995-1997, 2003, 2006, 2008-2013 Free Software Foundation,
+   Copyright (C) 1995-1997, 2003, 2006, 2008-2014 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
diff --git a/gl/float+.h b/gl/float+.h
deleted file mode 100644
index 32fb790..0000000
--- a/gl/float+.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/* Supplemental information about the floating-point formats.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 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, 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 _FLOATPLUS_H
-#define _FLOATPLUS_H
-
-#include <float.h>
-#include <limits.h>
-
-/* Number of bits in the mantissa of a floating-point number, including the
-   "hidden bit".  */
-#if FLT_RADIX == 2
-# define FLT_MANT_BIT FLT_MANT_DIG
-# define DBL_MANT_BIT DBL_MANT_DIG
-# define LDBL_MANT_BIT LDBL_MANT_DIG
-#elif FLT_RADIX == 4
-# define FLT_MANT_BIT (FLT_MANT_DIG * 2)
-# define DBL_MANT_BIT (DBL_MANT_DIG * 2)
-# define LDBL_MANT_BIT (LDBL_MANT_DIG * 2)
-#elif FLT_RADIX == 16
-# define FLT_MANT_BIT (FLT_MANT_DIG * 4)
-# define DBL_MANT_BIT (DBL_MANT_DIG * 4)
-# define LDBL_MANT_BIT (LDBL_MANT_DIG * 4)
-#endif
-
-/* Bit mask that can be used to mask the exponent, as an unsigned number.  */
-#define FLT_EXP_MASK ((FLT_MAX_EXP - FLT_MIN_EXP) | 7)
-#define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7)
-#define LDBL_EXP_MASK ((LDBL_MAX_EXP - LDBL_MIN_EXP) | 7)
-
-/* Number of bits used for the exponent of a floating-point number, including
-   the exponent's sign.  */
-#define FLT_EXP_BIT \
-  (FLT_EXP_MASK < 0x100 ? 8 : \
-   FLT_EXP_MASK < 0x200 ? 9 : \
-   FLT_EXP_MASK < 0x400 ? 10 : \
-   FLT_EXP_MASK < 0x800 ? 11 : \
-   FLT_EXP_MASK < 0x1000 ? 12 : \
-   FLT_EXP_MASK < 0x2000 ? 13 : \
-   FLT_EXP_MASK < 0x4000 ? 14 : \
-   FLT_EXP_MASK < 0x8000 ? 15 : \
-   FLT_EXP_MASK < 0x10000 ? 16 : \
-   FLT_EXP_MASK < 0x20000 ? 17 : \
-   FLT_EXP_MASK < 0x40000 ? 18 : \
-   FLT_EXP_MASK < 0x80000 ? 19 : \
-   FLT_EXP_MASK < 0x100000 ? 20 : \
-   FLT_EXP_MASK < 0x200000 ? 21 : \
-   FLT_EXP_MASK < 0x400000 ? 22 : \
-   FLT_EXP_MASK < 0x800000 ? 23 : \
-   FLT_EXP_MASK < 0x1000000 ? 24 : \
-   FLT_EXP_MASK < 0x2000000 ? 25 : \
-   FLT_EXP_MASK < 0x4000000 ? 26 : \
-   FLT_EXP_MASK < 0x8000000 ? 27 : \
-   FLT_EXP_MASK < 0x10000000 ? 28 : \
-   FLT_EXP_MASK < 0x20000000 ? 29 : \
-   FLT_EXP_MASK < 0x40000000 ? 30 : \
-   FLT_EXP_MASK <= 0x7fffffff ? 31 : \
-   32)
-#define DBL_EXP_BIT \
-  (DBL_EXP_MASK < 0x100 ? 8 : \
-   DBL_EXP_MASK < 0x200 ? 9 : \
-   DBL_EXP_MASK < 0x400 ? 10 : \
-   DBL_EXP_MASK < 0x800 ? 11 : \
-   DBL_EXP_MASK < 0x1000 ? 12 : \
-   DBL_EXP_MASK < 0x2000 ? 13 : \
-   DBL_EXP_MASK < 0x4000 ? 14 : \
-   DBL_EXP_MASK < 0x8000 ? 15 : \
-   DBL_EXP_MASK < 0x10000 ? 16 : \
-   DBL_EXP_MASK < 0x20000 ? 17 : \
-   DBL_EXP_MASK < 0x40000 ? 18 : \
-   DBL_EXP_MASK < 0x80000 ? 19 : \
-   DBL_EXP_MASK < 0x100000 ? 20 : \
-   DBL_EXP_MASK < 0x200000 ? 21 : \
-   DBL_EXP_MASK < 0x400000 ? 22 : \
-   DBL_EXP_MASK < 0x800000 ? 23 : \
-   DBL_EXP_MASK < 0x1000000 ? 24 : \
-   DBL_EXP_MASK < 0x2000000 ? 25 : \
-   DBL_EXP_MASK < 0x4000000 ? 26 : \
-   DBL_EXP_MASK < 0x8000000 ? 27 : \
-   DBL_EXP_MASK < 0x10000000 ? 28 : \
-   DBL_EXP_MASK < 0x20000000 ? 29 : \
-   DBL_EXP_MASK < 0x40000000 ? 30 : \
-   DBL_EXP_MASK <= 0x7fffffff ? 31 : \
-   32)
-#define LDBL_EXP_BIT \
-  (LDBL_EXP_MASK < 0x100 ? 8 : \
-   LDBL_EXP_MASK < 0x200 ? 9 : \
-   LDBL_EXP_MASK < 0x400 ? 10 : \
-   LDBL_EXP_MASK < 0x800 ? 11 : \
-   LDBL_EXP_MASK < 0x1000 ? 12 : \
-   LDBL_EXP_MASK < 0x2000 ? 13 : \
-   LDBL_EXP_MASK < 0x4000 ? 14 : \
-   LDBL_EXP_MASK < 0x8000 ? 15 : \
-   LDBL_EXP_MASK < 0x10000 ? 16 : \
-   LDBL_EXP_MASK < 0x20000 ? 17 : \
-   LDBL_EXP_MASK < 0x40000 ? 18 : \
-   LDBL_EXP_MASK < 0x80000 ? 19 : \
-   LDBL_EXP_MASK < 0x100000 ? 20 : \
-   LDBL_EXP_MASK < 0x200000 ? 21 : \
-   LDBL_EXP_MASK < 0x400000 ? 22 : \
-   LDBL_EXP_MASK < 0x800000 ? 23 : \
-   LDBL_EXP_MASK < 0x1000000 ? 24 : \
-   LDBL_EXP_MASK < 0x2000000 ? 25 : \
-   LDBL_EXP_MASK < 0x4000000 ? 26 : \
-   LDBL_EXP_MASK < 0x8000000 ? 27 : \
-   LDBL_EXP_MASK < 0x10000000 ? 28 : \
-   LDBL_EXP_MASK < 0x20000000 ? 29 : \
-   LDBL_EXP_MASK < 0x40000000 ? 30 : \
-   LDBL_EXP_MASK <= 0x7fffffff ? 31 : \
-   32)
-
-/* Number of bits used for a floating-point number: the mantissa (not
-   counting the "hidden bit", since it may or may not be explicit), the
-   exponent, and the sign.  */
-#define FLT_TOTAL_BIT ((FLT_MANT_BIT - 1) + FLT_EXP_BIT + 1)
-#define DBL_TOTAL_BIT ((DBL_MANT_BIT - 1) + DBL_EXP_BIT + 1)
-#define LDBL_TOTAL_BIT ((LDBL_MANT_BIT - 1) + LDBL_EXP_BIT + 1)
-
-/* Number of bytes used for a floating-point number.
-   This can be smaller than the 'sizeof'.  For example, on i386 systems,
-   'long double' most often have LDBL_MANT_BIT = 64, LDBL_EXP_BIT = 16, hence
-   LDBL_TOTAL_BIT = 80 bits, i.e. 10 bytes of consecutive memory, but
-   sizeof (long double) = 12 or = 16.  */
-#define SIZEOF_FLT ((FLT_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT)
-#define SIZEOF_DBL ((DBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT)
-#define SIZEOF_LDBL ((LDBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT)
-
-/* Verify that SIZEOF_FLT <= sizeof (float) etc.  */
-typedef int verify_sizeof_flt[SIZEOF_FLT <= sizeof (float) ? 1 : -1];
-typedef int verify_sizeof_dbl[SIZEOF_DBL <= sizeof (double) ? 1 : - 1];
-typedef int verify_sizeof_ldbl[SIZEOF_LDBL <= sizeof (long double) ? 1 : - 1];
-
-#endif /* _FLOATPLUS_H */
diff --git a/gl/float.c b/gl/float.c
deleted file mode 100644
index 366945f..0000000
--- a/gl/float.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Auxiliary definitions for <float.h>.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 2011.
-
-   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 <float.h>
-
-#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined 
__linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__
-const union gl_long_double_union gl_LDBL_MAX =
-  { { DBL_MAX, DBL_MAX / (double)134217728UL / (double)134217728UL } };
-#elif defined __i386__
-const union gl_long_double_union gl_LDBL_MAX =
-  { { 0xFFFFFFFF, 0xFFFFFFFF, 32766 } };
-#else
-/* This declaration is solely to ensure that after preprocessing
-   this file is never empty.  */
-typedef int dummy;
-#endif
diff --git a/gl/float.in.h b/gl/float.in.h
deleted file mode 100644
index 84e1950..0000000
--- a/gl/float.in.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/* A correct <float.h>.
-
-   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/>.  */
-
-#ifndef address@hidden@_FLOAT_H
-
-#if __GNUC__ >= 3
address@hidden@
-#endif
address@hidden@
-
-/* The include_next requires a split double-inclusion guard.  */
address@hidden@ @NEXT_FLOAT_H@
-
-#ifndef address@hidden@_FLOAT_H
-#define address@hidden@_FLOAT_H
-
-/* 'long double' properties.  */
-
-#if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__)
-/* Number of mantissa units, in base FLT_RADIX.  */
-# undef LDBL_MANT_DIG
-# define LDBL_MANT_DIG   64
-/* Number of decimal digits that is sufficient for representing a number.  */
-# undef LDBL_DIG
-# define LDBL_DIG        18
-/* x-1 where x is the smallest representable number > 1.  */
-# undef LDBL_EPSILON
-# define LDBL_EPSILON    1.0842021724855044340E-19L
-/* Minimum e such that FLT_RADIX^(e-1) is a normalized number.  */
-# undef LDBL_MIN_EXP
-# define LDBL_MIN_EXP    (-16381)
-/* Maximum e such that FLT_RADIX^(e-1) is a representable finite number.  */
-# undef LDBL_MAX_EXP
-# define LDBL_MAX_EXP    16384
-/* Minimum positive normalized number.  */
-# undef LDBL_MIN
-# define LDBL_MIN        3.3621031431120935063E-4932L
-/* Maximum representable finite number.  */
-# undef LDBL_MAX
-# define LDBL_MAX        1.1897314953572317650E+4932L
-/* Minimum e such that 10^e is in the range of normalized numbers.  */
-# undef LDBL_MIN_10_EXP
-# define LDBL_MIN_10_EXP (-4931)
-/* Maximum e such that 10^e is in the range of representable finite numbers.  
*/
-# undef LDBL_MAX_10_EXP
-# define LDBL_MAX_10_EXP 4932
-#endif
-
-/* On FreeBSD/x86 6.4, the 'long double' type really has only 53 bits of
-   precision in the compiler but 64 bits of precision at runtime.  See
-   <http://lists.gnu.org/archive/html/bug-gnulib/2008-07/msg00063.html>.  */
-#if defined __i386__ && defined __FreeBSD__
-/* Number of mantissa units, in base FLT_RADIX.  */
-# undef LDBL_MANT_DIG
-# define LDBL_MANT_DIG   64
-/* Number of decimal digits that is sufficient for representing a number.  */
-# undef LDBL_DIG
-# define LDBL_DIG        18
-/* x-1 where x is the smallest representable number > 1.  */
-# undef LDBL_EPSILON
-# define LDBL_EPSILON 1.084202172485504434007452800869941711426e-19L /* 2^-63 
*/
-/* Minimum e such that FLT_RADIX^(e-1) is a normalized number.  */
-# undef LDBL_MIN_EXP
-# define LDBL_MIN_EXP    (-16381)
-/* Maximum e such that FLT_RADIX^(e-1) is a representable finite number.  */
-# undef LDBL_MAX_EXP
-# define LDBL_MAX_EXP    16384
-/* Minimum positive normalized number.  */
-# undef LDBL_MIN
-# define LDBL_MIN        3.3621031431120935E-4932L /* = 0x1p-16382L */
-/* Maximum representable finite number.  */
-# undef LDBL_MAX
-/* LDBL_MAX is represented as { 0xFFFFFFFF, 0xFFFFFFFF, 32766 }.
-   But the largest literal that GCC allows us to write is
-   0x0.fffffffffffff8p16384L = { 0xFFFFF800, 0xFFFFFFFF, 32766 }.
-   So, define it like this through a reference to an external variable
-
-     const unsigned int LDBL_MAX[3] = { 0xFFFFFFFF, 0xFFFFFFFF, 32766 };
-     extern const long double LDBL_MAX;
-
-   Unfortunately, this is not a constant expression.  */
-union gl_long_double_union
-  {
-    struct { unsigned int lo; unsigned int hi; unsigned int exponent; } xd;
-    long double ld;
-  };
-extern const union gl_long_double_union gl_LDBL_MAX;
-# define LDBL_MAX (gl_LDBL_MAX.ld)
-/* Minimum e such that 10^e is in the range of normalized numbers.  */
-# undef LDBL_MIN_10_EXP
-# define LDBL_MIN_10_EXP (-4931)
-/* Maximum e such that 10^e is in the range of representable finite numbers.  
*/
-# undef LDBL_MAX_10_EXP
-# define LDBL_MAX_10_EXP 4932
-#endif
-
-/* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are
-   wrong.
-   On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong.  */
-#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 
106) && defined __GNUC__
-# undef LDBL_MIN_EXP
-# define LDBL_MIN_EXP DBL_MIN_EXP
-# undef LDBL_MIN_10_EXP
-# define LDBL_MIN_10_EXP DBL_MIN_10_EXP
-# undef LDBL_MIN
-# define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 
2^-1022 */
-#endif
-#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined 
__linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__
-# undef LDBL_MAX
-/* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF 
}.
-   It is not easy to define:
-     #define LDBL_MAX 1.79769313486231580793728971405302307166e308L
-   is too small, whereas
-     #define LDBL_MAX 1.79769313486231580793728971405302307167e308L
-   is too large.  Apparently a bug in GCC decimal-to-binary conversion.
-   Also, I can't get values larger than
-     #define LDBL63 ((long double) (1ULL << 63))
-     #define LDBL882 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * 
LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63)
-     #define LDBL945 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * 
LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63)
-     #define LDBL1008 (LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * 
LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 * LDBL63 
* LDBL63)
-     #define LDBL_MAX (LDBL1008 * 65535.0L + LDBL945 * (long double) 
9223372036821221375ULL + LDBL882 * (long double) 4611686018427387904ULL)
-   which is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xF8000000 }.
-   So, define it like this through a reference to an external variable
-
-     const double LDBL_MAX[2] = { DBL_MAX, DBL_MAX / (double)134217728UL / 
(double)134217728UL };
-     extern const long double LDBL_MAX;
-
-   or through a pointer cast
-
-     #define LDBL_MAX \
-       (*(const long double *) (double[]) { DBL_MAX, DBL_MAX / 
(double)134217728UL / (double)134217728UL })
-
-   Unfortunately, this is not a constant expression, and the latter expression
-   does not work well when GCC is optimizing..  */
-union gl_long_double_union
-  {
-    struct { double hi; double lo; } dd;
-    long double ld;
-  };
-extern const union gl_long_double_union gl_LDBL_MAX;
-# define LDBL_MAX (gl_LDBL_MAX.ld)
-#endif
-
-/* On IRIX 6.5, with cc, the value of LDBL_MANT_DIG is wrong.
-   On IRIX 6.5, with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, 
LDBL_EPSILON
-   are wrong.  */
-#if defined __sgi && (LDBL_MANT_DIG >= 106)
-# undef LDBL_MANT_DIG
-# define LDBL_MANT_DIG 106
-# if defined __GNUC__
-#  undef LDBL_MIN_EXP
-#  define LDBL_MIN_EXP DBL_MIN_EXP
-#  undef LDBL_MIN_10_EXP
-#  define LDBL_MIN_10_EXP DBL_MIN_10_EXP
-#  undef LDBL_MIN
-#  define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 
2^-1022 */
-#  undef LDBL_EPSILON
-#  define LDBL_EPSILON 2.46519032881566189191165176650870696773e-32L /* 2^-105 
*/
-# endif
-#endif
-
-#if @REPLACE_ITOLD@
-/* Pull in a function that fixes the 'int' to 'long double' conversion
-   of glibc 2.7.  */
-extern
-# ifdef __cplusplus
-"C"
-# endif
-void _Qp_itoq (long double *, int);
-static void (*_gl_float_fix_itold) (long double *, int) = _Qp_itoq;
-#endif
-
-#endif /* address@hidden@_FLOAT_H */
-#endif /* address@hidden@_FLOAT_H */
diff --git a/gl/fpucw.h b/gl/fpucw.h
deleted file mode 100644
index 0b7f528..0000000
--- a/gl/fpucw.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* Manipulating the FPU control word.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 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/>.  */
-
-#ifndef _FPUCW_H
-#define _FPUCW_H
-
-/* The i386 floating point hardware (the 387 compatible FPU, not the modern
-   SSE/SSE2 hardware) has a controllable rounding precision.  It is specified
-   through the 'PC' bits in the FPU control word ('fctrl' register).  (See
-   the GNU libc i386 <fpu_control.h> header for details.)
-
-   On some platforms, such as Linux or Solaris, the default precision setting
-   is set to "extended precision".  This means that 'long double' instructions
-   operate correctly, but 'double' computations often produce slightly
-   different results as on strictly IEEE 754 conforming systems.
-
-   On some platforms, such as NetBSD, the default precision is set to
-   "double precision".  This means that 'long double' instructions will operate
-   only as 'double', i.e. lead to wrong results.  Similarly on FreeBSD 6.4, at
-   least for the division of 'long double' numbers.
-
-   The FPU control word is under control of the application, i.e. it is
-   not required to be set either way by the ABI.  (In fact, the i386 ABI
-   http://refspecs.freestandards.org/elf/abi386-4.pdf page 3-12 = page 38
-   is not clear about it.  But in any case, gcc treats the control word
-   like a "preserved" register: it emits code that assumes that the control
-   word is preserved across calls, and it restores the control word at the
-   end of functions that modify it.)
-
-   See Vincent Lefèvre's page http://www.vinc17.org/research/extended.en.html
-   for a good explanation.
-   See http://www.uwsg.iu.edu/hypermail/linux/kernel/0103.0/0453.html for
-   some argumentation which setting should be the default.  */
-
-/* This header file provides the following facilities:
-     fpucw_t                        integral type holding the value of 'fctrl'
-     FPU_PC_MASK                    bit mask denoting the precision control
-     FPU_PC_DOUBLE                  precision control for 53 bits mantissa
-     FPU_PC_EXTENDED                precision control for 64 bits mantissa
-     GET_FPUCW ()                   yields the current FPU control word
-     SET_FPUCW (word)               sets the FPU control word
-     DECL_LONG_DOUBLE_ROUNDING      variable declaration for
-                                    BEGIN/END_LONG_DOUBLE_ROUNDING
-     BEGIN_LONG_DOUBLE_ROUNDING ()  starts a sequence of instructions with
-                                    'long double' safe operation precision
-     END_LONG_DOUBLE_ROUNDING ()    ends a sequence of instructions with
-                                    'long double' safe operation precision
- */
-
-/* Inline assembler like this works only with GNU C.  */
-#if (defined __i386__ || defined __x86_64__) && defined __GNUC__
-
-typedef unsigned short fpucw_t; /* glibc calls this fpu_control_t */
-
-# define FPU_PC_MASK 0x0300
-# define FPU_PC_DOUBLE 0x200    /* glibc calls this _FPU_DOUBLE */
-# define FPU_PC_EXTENDED 0x300  /* glibc calls this _FPU_EXTENDED */
-
-# define GET_FPUCW() \
-  ({ fpucw_t _cw;                                               \
-     __asm__ __volatile__ ("fnstcw %0" : "=m" (*&_cw));         \
-     _cw;                                                       \
-   })
-# define SET_FPUCW(word) \
-  (void)({ fpucw_t _ncw = (word);                               \
-           __asm__ __volatile__ ("fldcw %0" : : "m" (*&_ncw));  \
-         })
-
-# define DECL_LONG_DOUBLE_ROUNDING \
-  fpucw_t oldcw;
-# define BEGIN_LONG_DOUBLE_ROUNDING() \
-  (void)(oldcw = GET_FPUCW (),                                  \
-         SET_FPUCW ((oldcw & ~FPU_PC_MASK) | FPU_PC_EXTENDED))
-# define END_LONG_DOUBLE_ROUNDING() \
-  SET_FPUCW (oldcw)
-
-#else
-
-typedef unsigned int fpucw_t;
-
-# define FPU_PC_MASK 0
-# define FPU_PC_DOUBLE 0
-# define FPU_PC_EXTENDED 0
-
-# define GET_FPUCW() 0
-# define SET_FPUCW(word) (void)(word)
-
-# define DECL_LONG_DOUBLE_ROUNDING
-# define BEGIN_LONG_DOUBLE_ROUNDING()
-# define END_LONG_DOUBLE_ROUNDING()
-
-#endif
-
-#endif /* _FPUCW_H */
diff --git a/gl/frexp.c b/gl/frexp.c
deleted file mode 100644
index d847fa3..0000000
--- a/gl/frexp.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/* Split a double into fraction and mantissa.
-   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 Paolo Bonzini <address@hidden>, 2003, and
-   Bruno Haible <address@hidden>, 2007.  */
-
-#if ! defined USE_LONG_DOUBLE
-# include <config.h>
-#endif
-
-/* Specification.  */
-#include <math.h>
-
-#include <float.h>
-#ifdef USE_LONG_DOUBLE
-# include "isnanl-nolibm.h"
-# include "fpucw.h"
-#else
-# include "isnand-nolibm.h"
-#endif
-
-/* This file assumes FLT_RADIX = 2.  If FLT_RADIX is a power of 2 greater
-   than 2, or not even a power of 2, some rounding errors can occur, so that
-   then the returned mantissa is only guaranteed to be <= 1.0, not < 1.0.  */
-
-#ifdef USE_LONG_DOUBLE
-# define FUNC frexpl
-# define DOUBLE long double
-# define ISNAN isnanl
-# define DECL_ROUNDING DECL_LONG_DOUBLE_ROUNDING
-# define BEGIN_ROUNDING() BEGIN_LONG_DOUBLE_ROUNDING ()
-# define END_ROUNDING() END_LONG_DOUBLE_ROUNDING ()
-# define L_(literal) literal##L
-#else
-# define FUNC frexp
-# define DOUBLE double
-# define ISNAN isnand
-# define DECL_ROUNDING
-# define BEGIN_ROUNDING()
-# define END_ROUNDING()
-# define L_(literal) literal
-#endif
-
-DOUBLE
-FUNC (DOUBLE x, int *expptr)
-{
-  int sign;
-  int exponent;
-  DECL_ROUNDING
-
-  /* Test for NaN, infinity, and zero.  */
-  if (ISNAN (x) || x + x == x)
-    {
-      *expptr = 0;
-      return x;
-    }
-
-  sign = 0;
-  if (x < 0)
-    {
-      x = - x;
-      sign = -1;
-    }
-
-  BEGIN_ROUNDING ();
-
-  {
-    /* Since the exponent is an 'int', it fits in 64 bits.  Therefore the
-       loops are executed no more than 64 times.  */
-    DOUBLE pow2[64]; /* pow2[i] = 2^2^i */
-    DOUBLE powh[64]; /* powh[i] = 2^-2^i */
-    int i;
-
-    exponent = 0;
-    if (x >= L_(1.0))
-      {
-        /* A positive exponent.  */
-        DOUBLE pow2_i; /* = pow2[i] */
-        DOUBLE powh_i; /* = powh[i] */
-
-        /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i,
-           x * 2^exponent = argument, x >= 1.0.  */
-        for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5);
-             ;
-             i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i)
-          {
-            if (x >= pow2_i)
-              {
-                exponent += (1 << i);
-                x *= powh_i;
-              }
-            else
-              break;
-
-            pow2[i] = pow2_i;
-            powh[i] = powh_i;
-          }
-        /* Avoid making x too small, as it could become a denormalized
-           number and thus lose precision.  */
-        while (i > 0 && x < pow2[i - 1])
-          {
-            i--;
-            powh_i = powh[i];
-          }
-        exponent += (1 << i);
-        x *= powh_i;
-        /* Here 2^-2^i <= x < 1.0.  */
-      }
-    else
-      {
-        /* A negative or zero exponent.  */
-        DOUBLE pow2_i; /* = pow2[i] */
-        DOUBLE powh_i; /* = powh[i] */
-
-        /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i,
-           x * 2^exponent = argument, x < 1.0.  */
-        for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5);
-             ;
-             i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i)
-          {
-            if (x < powh_i)
-              {
-                exponent -= (1 << i);
-                x *= pow2_i;
-              }
-            else
-              break;
-
-            pow2[i] = pow2_i;
-            powh[i] = powh_i;
-          }
-        /* Here 2^-2^i <= x < 1.0.  */
-      }
-
-    /* Invariants: x * 2^exponent = argument, and 2^-2^i <= x < 1.0.  */
-    while (i > 0)
-      {
-        i--;
-        if (x < powh[i])
-          {
-            exponent -= (1 << i);
-            x *= pow2[i];
-          }
-      }
-    /* Here 0.5 <= x < 1.0.  */
-  }
-
-  if (sign < 0)
-    x = - x;
-
-  END_ROUNDING ();
-
-  *expptr = exponent;
-  return x;
-}
diff --git a/gl/frexpl.c b/gl/frexpl.c
deleted file mode 100644
index 5ec2780..0000000
--- a/gl/frexpl.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Split a 'long double' into fraction and mantissa.
-   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 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>
-
-#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
-
-/* Specification.  */
-# include <math.h>
-
-long double
-frexpl (long double x, int *expptr)
-{
-  return frexp (x, expptr);
-}
-
-#else
-
-# define USE_LONG_DOUBLE
-# include "frexp.c"
-
-#endif
diff --git a/gl/fseterr.c b/gl/fseterr.c
deleted file mode 100644
index 0fca65f..0000000
--- a/gl/fseterr.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Set the error indicator of a stream.
-   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/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "fseterr.h"
-
-#include <errno.h>
-
-#include "stdio-impl.h"
-
-void
-fseterr (FILE *fp)
-{
-  /* Most systems provide FILE as a struct and the necessary bitmask in
-     <stdio.h>, because they need it for implementing getc() and putc() as
-     fast macros.  */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, 
Linux libc5 */
-  fp->_flags |= _IO_ERR_SEEN;
-#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, 
DragonFly, Mac OS X, Cygwin */
-  fp_->_flags |= __SERR;
-#elif defined __EMX__               /* emx+gcc */
-  fp->_flags |= _IOERR;
-#elif defined __minix               /* Minix */
-  fp->_flags |= _IOERR;
-#elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, 
OpenServer, mingw, NonStop Kernel */
-  fp_->_flag |= _IOERR;
-#elif defined __UCLIBC__            /* uClibc */
-  fp->__modeflags |= __FLAG_ERROR;
-#elif defined __QNX__               /* QNX */
-  fp->_Mode |= 0x200 /* _MERR */;
-#elif defined __MINT__              /* Atari FreeMiNT */
-  fp->__error = 1;
-#elif defined EPLAN9                /* Plan9 */
-  if (fp->state != 0 /* CLOSED */)
-    fp->state = 5 /* ERR */;
-#elif 0                             /* unknown  */
-  /* Portable fallback, based on an idea by Rich Felker.
-     Wow! 6 system calls for something that is just a bit operation!
-     Not activated on any system, because there is no way to repair FP when
-     the sequence of system calls fails, and library code should not call
-     abort().  */
-  int saved_errno;
-  int fd;
-  int fd2;
-
-  saved_errno = errno;
-  fflush (fp);
-  fd = fileno (fp);
-  fd2 = dup (fd);
-  if (fd2 >= 0)
-    {
-      close (fd);
-      fputc ('\0', fp); /* This should set the error indicator.  */
-      fflush (fp);      /* Or this.  */
-      if (dup2 (fd2, fd) < 0)
-        /* Whee... we botched the stream and now cannot restore it!  */
-        abort ();
-      close (fd2);
-    }
-  errno = saved_errno;
-#else
- #error "Please port gnulib fseterr.c to your platform! Look at the 
definitions of ferror and clearerr on your system, then report this to 
bug-gnulib."
-#endif
-}
diff --git a/gl/fseterr.h b/gl/fseterr.h
deleted file mode 100644
index 630fa86..0000000
--- a/gl/fseterr.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Set the error indicator of a stream.
-   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 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 _FSETERR_H
-#define _FSETERR_H
-
-#include <stdio.h>
-
-/* Set the error indicator of the stream FP.
-   The "error indicator" is set when an I/O operation on the stream fails, and
-   is cleared (together with the "end-of-file" indicator) by clearerr (FP).  */
-
-#if HAVE___FSETERR /* musl libc */
-
-# include <stdio_ext.h>
-# define fseterr(fp) __fseterr (fp)
-
-#else
-
-# ifdef __cplusplus
-extern "C" {
-# endif
-
-extern void fseterr (FILE *fp);
-
-# ifdef __cplusplus
-}
-# endif
-
-#endif
-
-#endif /* _FSETERR_H */
diff --git a/gl/getopt.c b/gl/getopt.c
index ef0f4ce..7d950af 100644
--- a/gl/getopt.c
+++ b/gl/getopt.c
@@ -2,7 +2,7 @@
    NOTE: getopt is part of the C library, so if you don't know what
    "Keep this file name-space clean" means, talk to address@hidden
    before changing it!
-   Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2013 Free Software
+   Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gl/getopt.in.h b/gl/getopt.in.h
index d9c7d81..7ab99fb 100644
--- a/gl/getopt.in.h
+++ b/gl/getopt.in.h
@@ -1,5 +1,5 @@
 /* Declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gl/getopt1.c b/gl/getopt1.c
index 55a6b4e..a184865 100644
--- a/gl/getopt1.c
+++ b/gl/getopt1.c
@@ -1,5 +1,5 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
-   Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2013 Free Software
+   Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gl/getopt_int.h b/gl/getopt_int.h
index a6e4b9e..24ed672 100644
--- a/gl/getopt_int.h
+++ b/gl/getopt_int.h
@@ -1,5 +1,5 @@
 /* Internal declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2013 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gl/gettext.h b/gl/gettext.h
index 5c0a928..babf1d0 100644
--- a/gl/gettext.h
+++ b/gl/gettext.h
@@ -1,5 +1,5 @@
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2013 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/intprops.h b/gl/intprops.h
index f57f9b4..d0bb7a6 100644
--- a/gl/intprops.h
+++ b/gl/intprops.h
@@ -1,6 +1,6 @@
 /* intprops.h -- properties of integer types
 
-   Copyright (C) 2001-2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2005, 2009-2014 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
@@ -89,7 +89,8 @@
 
 /* Return 1 if the __typeof__ keyword works.  This could be done by
    'configure', but for now it's easier to do it by hand.  */
-#if 2 <= __GNUC__ || defined __IBM__TYPEOF__ || 0x5110 <= __SUNPRO_C
+#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
+     || (0x5110 <= __SUNPRO_C && !__STDC__))
 # define _GL_HAVE___TYPEOF__ 1
 #else
 # define _GL_HAVE___TYPEOF__ 0
diff --git a/gl/isnan.c b/gl/isnan.c
deleted file mode 100644
index d95e4ba..0000000
--- a/gl/isnan.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/* Test for NaN that does not need libm.
-   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 <address@hidden>, 2007.  */
-
-#include <config.h>
-
-/* Specification.  */
-#ifdef USE_LONG_DOUBLE
-/* Specification found in math.h or isnanl-nolibm.h.  */
-extern int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
-#elif ! defined USE_FLOAT
-/* Specification found in math.h or isnand-nolibm.h.  */
-extern int rpl_isnand (double x);
-#else /* defined USE_FLOAT */
-/* Specification found in math.h or isnanf-nolibm.h.  */
-extern int rpl_isnanf (float x);
-#endif
-
-#include <float.h>
-#include <string.h>
-
-#include "float+.h"
-
-#ifdef USE_LONG_DOUBLE
-# define FUNC rpl_isnanl
-# define DOUBLE long double
-# define MAX_EXP LDBL_MAX_EXP
-# define MIN_EXP LDBL_MIN_EXP
-# if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
-#  define KNOWN_EXPBIT0_LOCATION
-#  define EXPBIT0_WORD LDBL_EXPBIT0_WORD
-#  define EXPBIT0_BIT LDBL_EXPBIT0_BIT
-# endif
-# define SIZE SIZEOF_LDBL
-# define L_(literal) literal##L
-#elif ! defined USE_FLOAT
-# define FUNC rpl_isnand
-# define DOUBLE double
-# define MAX_EXP DBL_MAX_EXP
-# define MIN_EXP DBL_MIN_EXP
-# if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
-#  define KNOWN_EXPBIT0_LOCATION
-#  define EXPBIT0_WORD DBL_EXPBIT0_WORD
-#  define EXPBIT0_BIT DBL_EXPBIT0_BIT
-# endif
-# define SIZE SIZEOF_DBL
-# define L_(literal) literal
-#else /* defined USE_FLOAT */
-# define FUNC rpl_isnanf
-# define DOUBLE float
-# define MAX_EXP FLT_MAX_EXP
-# define MIN_EXP FLT_MIN_EXP
-# if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
-#  define KNOWN_EXPBIT0_LOCATION
-#  define EXPBIT0_WORD FLT_EXPBIT0_WORD
-#  define EXPBIT0_BIT FLT_EXPBIT0_BIT
-# endif
-# define SIZE SIZEOF_FLT
-# define L_(literal) literal##f
-#endif
-
-#define EXP_MASK ((MAX_EXP - MIN_EXP) | 7)
-
-#define NWORDS \
-  ((sizeof (DOUBLE) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { DOUBLE value; unsigned int word[NWORDS]; } memory_double;
-
-int
-FUNC (DOUBLE x)
-{
-#ifdef KNOWN_EXPBIT0_LOCATION
-# if defined USE_LONG_DOUBLE && ((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
-  /* Special CPU dependent code is needed to treat bit patterns outside the
-     IEEE 754 specification (such as Pseudo-NaNs, Pseudo-Infinities,
-     Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals) as NaNs.
-     These bit patterns are:
-       - exponent = 0x0001..0x7FFF, mantissa bit 63 = 0,
-       - exponent = 0x0000, mantissa bit 63 = 1.
-     The NaN bit pattern is:
-       - exponent = 0x7FFF, mantissa >= 0x8000000000000001.  */
-  memory_double m;
-  unsigned int exponent;
-
-  m.value = x;
-  exponent = (m.word[EXPBIT0_WORD] >> EXPBIT0_BIT) & EXP_MASK;
-#  ifdef WORDS_BIGENDIAN
-  /* Big endian: EXPBIT0_WORD = 0, EXPBIT0_BIT = 16.  */
-  if (exponent == 0)
-    return 1 & (m.word[0] >> 15);
-  else if (exponent == EXP_MASK)
-    return (((m.word[0] ^ 0x8000U) << 16) | m.word[1] | (m.word[2] >> 16)) != 
0;
-  else
-    return 1 & ~(m.word[0] >> 15);
-#  else
-  /* Little endian: EXPBIT0_WORD = 2, EXPBIT0_BIT = 0.  */
-  if (exponent == 0)
-    return (m.word[1] >> 31);
-  else if (exponent == EXP_MASK)
-    return ((m.word[1] ^ 0x80000000U) | m.word[0]) != 0;
-  else
-    return (m.word[1] >> 31) ^ 1;
-#  endif
-# else
-  /* Be careful to not do any floating-point operation on x, such as x == x,
-     because x may be a signaling NaN.  */
-#  if defined __SUNPRO_C || defined __ICC || defined _MSC_VER \
-      || defined __DECC || defined __TINYC__ \
-      || (defined __sgi && !defined __GNUC__)
-  /* The Sun C 5.0, Intel ICC 10.0, Microsoft Visual C/C++ 9.0, Compaq (ex-DEC)
-     6.4, and TinyCC compilers don't recognize the initializers as constant
-     expressions.  The Compaq compiler also fails when constant-folding
-     0.0 / 0.0 even when constant-folding is not required.  The Microsoft
-     Visual C/C++ compiler also fails when constant-folding 1.0 / 0.0 even
-     when constant-folding is not required. The SGI MIPSpro C compiler
-     complains about "floating-point operation result is out of range".  */
-  static DOUBLE zero = L_(0.0);
-  memory_double nan;
-  DOUBLE plus_inf = L_(1.0) / zero;
-  DOUBLE minus_inf = -L_(1.0) / zero;
-  nan.value = zero / zero;
-#  else
-  static memory_double nan = { L_(0.0) / L_(0.0) };
-  static DOUBLE plus_inf = L_(1.0) / L_(0.0);
-  static DOUBLE minus_inf = -L_(1.0) / L_(0.0);
-#  endif
-  {
-    memory_double m;
-
-    /* A NaN can be recognized through its exponent.  But exclude +Infinity and
-       -Infinity, which have the same exponent.  */
-    m.value = x;
-    if (((m.word[EXPBIT0_WORD] ^ nan.word[EXPBIT0_WORD])
-         & (EXP_MASK << EXPBIT0_BIT))
-        == 0)
-      return (memcmp (&m.value, &plus_inf, SIZE) != 0
-              && memcmp (&m.value, &minus_inf, SIZE) != 0);
-    else
-      return 0;
-  }
-# endif
-#else
-  /* The configuration did not find sufficient information.  Give up about
-     the signaling NaNs, handle only the quiet NaNs.  */
-  if (x == x)
-    {
-# if defined USE_LONG_DOUBLE && ((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
-      /* Detect any special bit patterns that pass ==; see comment above.  */
-      memory_double m1;
-      memory_double m2;
-
-      memset (&m1.value, 0, SIZE);
-      memset (&m2.value, 0, SIZE);
-      m1.value = x;
-      m2.value = x + (x ? 0.0L : -0.0L);
-      if (memcmp (&m1.value, &m2.value, SIZE) != 0)
-        return 1;
-# endif
-      return 0;
-    }
-  else
-    return 1;
-#endif
-}
diff --git a/gl/isnand-nolibm.h b/gl/isnand-nolibm.h
deleted file mode 100644
index 8a84ff8..0000000
--- a/gl/isnand-nolibm.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Test for NaN that does not need libm.
-   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/>.  */
-
-#if HAVE_ISNAND_IN_LIBC
-/* Get declaration of isnan macro.  */
-# include <math.h>
-# if __GNUC__ >= 4
-   /* GCC 4.0 and newer provides three built-ins for isnan.  */
-#  undef isnand
-#  define isnand(x) __builtin_isnan ((double)(x))
-# else
-#  undef isnand
-#  define isnand(x) isnan ((double)(x))
-# endif
-#else
-/* Test whether X is a NaN.  */
-# undef isnand
-# define isnand rpl_isnand
-extern int isnand (double x);
-#endif
diff --git a/gl/isnand.c b/gl/isnand.c
deleted file mode 100644
index cbad17b..0000000
--- a/gl/isnand.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Test for NaN that does not need libm.
-   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 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 <address@hidden>, 2008.  */
-
-#include "isnan.c"
diff --git a/gl/isnanf-nolibm.h b/gl/isnanf-nolibm.h
deleted file mode 100644
index dc43863..0000000
--- a/gl/isnanf-nolibm.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Test for NaN that does not need libm.
-   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/>.  */
-
-#if HAVE_ISNANF_IN_LIBC
-/* Get declaration of isnan macro or (older) isnanf function.  */
-# include <math.h>
-# if __GNUC__ >= 4
-   /* GCC 4.0 and newer provides three built-ins for isnan.  */
-#  undef isnanf
-#  define isnanf(x) __builtin_isnanf ((float)(x))
-# elif defined isnan
-#  undef isnanf
-#  define isnanf(x) isnan ((float)(x))
-# else
-   /* Get declaration of isnanf(), if not declared in <math.h>.  */
-#  if defined __sgi
-   /* We can't include <ieeefp.h>, because it conflicts with our definition of
-      isnand.  Therefore declare isnanf separately.  */
-extern int isnanf (float x);
-#  endif
-# endif
-#else
-/* Test whether X is a NaN.  */
-# undef isnanf
-# define isnanf rpl_isnanf
-extern int isnanf (float x);
-#endif
diff --git a/gl/isnanf.c b/gl/isnanf.c
deleted file mode 100644
index 946cb69..0000000
--- a/gl/isnanf.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test for NaN that does not need libm.
-   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 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 <address@hidden>, 2007.  */
-
-#define USE_FLOAT
-#include "isnan.c"
diff --git a/gl/isnanl-nolibm.h b/gl/isnanl-nolibm.h
deleted file mode 100644
index 18eb803..0000000
--- a/gl/isnanl-nolibm.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Test for NaN that does not need libm.
-   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/>.  */
-
-#if HAVE_ISNANL_IN_LIBC
-/* Get declaration of isnan macro or (older) isnanl function.  */
-# include <math.h>
-# if __GNUC__ >= 4
-   /* GCC 4.0 and newer provides three built-ins for isnan.  */
-#  undef isnanl
-#  define isnanl(x) __builtin_isnanl ((long double)(x))
-# elif defined isnan
-#  undef isnanl
-#  define isnanl(x) isnan ((long double)(x))
-# endif
-#else
-/* Test whether X is a NaN.  */
-# undef isnanl
-# define isnanl rpl_isnanl
-extern int isnanl (long double x);
-#endif
diff --git a/gl/isnanl.c b/gl/isnanl.c
deleted file mode 100644
index 9d9d84b..0000000
--- a/gl/isnanl.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test for NaN that does not need libm.
-   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 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 <address@hidden>, 2007.  */
-
-#define USE_LONG_DOUBLE
-#include "isnan.c"
diff --git a/gl/itold.c b/gl/itold.c
deleted file mode 100644
index 9aabc7e..0000000
--- a/gl/itold.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Replacement for 'int' to 'long double' conversion routine.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
-   Written by Bruno Haible <address@hidden>, 2011.
-
-   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 <float.h>
-
-void
-_Qp_itoq (long double *result, int a)
-{
-  /* Convert from 'int' to 'double', then from 'double' to 'long double'.  */
-  *result = (double) a;
-}
diff --git a/gl/m4/00gnulib.m4 b/gl/m4/00gnulib.m4
index d4ad759..8eca551 100644
--- a/gl/m4/00gnulib.m4
+++ b/gl/m4/00gnulib.m4
@@ -1,12 +1,28 @@
-# 00gnulib.m4 serial 2
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# 00gnulib.m4 serial 3
+dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl This file must be named something that sorts before all other
 dnl gnulib-provided .m4 files.  It is needed until such time as we can
-dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
+dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and
+dnl m4_divert semantics.
+
+# Until autoconf 2.63, handling of the diversion stack required m4_init
+# to be called first; but this does not happen with aclocal.  Wrapping
+# the entire execution in another layer of the diversion stack fixes this.
+# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4
+# for whether it was FIFO or LIFO; in order to properly balance with
+# m4_init, we need to undo our push just before anything wrapped within
+# the m4_init body.  The way to ensure this is to wrap both sides of
+# m4_init with a one-shot macro that does the pop at the right time.
+m4_ifndef([_m4_divert_diversion],
+[m4_divert_push([KILL])
+m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])])
+m4_define([m4_init],
+  [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])])
+
 
 # AC_DEFUN_ONCE([NAME], VALUE)
 # ----------------------------
diff --git a/gl/m4/absolute-header.m4 b/gl/m4/absolute-header.m4
index c649df0..ce3e39e 100644
--- a/gl/m4/absolute-header.m4
+++ b/gl/m4/absolute-header.m4
@@ -1,5 +1,5 @@
-# absolute-header.m4 serial 6
-dnl Copyright (C) 2006 Free Software Foundation, Inc.
+# absolute-header.m4 serial 16
+dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,37 +8,95 @@ dnl From Derek Price.
 
 # gl_ABSOLUTE_HEADER(HEADER1 HEADER2 ...)
 # ---------------------------------------
-# Find the absolute name of a header file, assuming the header exists.
+# Find the absolute name of a header file, testing first if the header exists.
 # If the header were sys/inttypes.h, this macro would define
-# ABSOLUTE_SYS_INTTYPES_H to the `""' quoted absolute name of sys/inttypes.h
+# ABSOLUTE_SYS_INTTYPES_H to the '""' quoted absolute name of sys/inttypes.h
 # in config.h
-# (e.g. `#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
+# (e.g. '#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
 # The three "///" are to pacify Sun C 5.8, which otherwise would say
 # "warning: #include of /usr/include/... may be non-portable".
-# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
+# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
+# Note: This macro assumes that the header file is not empty after
+# preprocessing, i.e. it does not only define preprocessor macros but also
+# provides some type/enum definitions or function/variable declarations.
 AC_DEFUN([gl_ABSOLUTE_HEADER],
-[AC_LANG_PREPROC_REQUIRE()dnl
-AC_FOREACH([gl_HEADER_NAME], [$1],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_LANG_PREPROC_REQUIRE()dnl
+dnl FIXME: gl_absolute_header and ac_header_exists must be used unquoted
+dnl until we can assume autoconf 2.64 or newer.
+m4_foreach_w([gl_HEADER_NAME], [$1],
   [AS_VAR_PUSHDEF([gl_absolute_header],
-                  [gl_cv_absolute_]m4_quote(m4_defn([gl_HEADER_NAME])))dnl
-  AC_CACHE_CHECK([absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>],
-    m4_quote(m4_defn([gl_absolute_header])),
+                  [gl_cv_absolute_]m4_defn([gl_HEADER_NAME]))dnl
+  AC_CACHE_CHECK([absolute name of <]m4_defn([gl_HEADER_NAME])[>],
+    m4_defn([gl_absolute_header]),
     [AS_VAR_PUSHDEF([ac_header_exists],
-                    [ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME])))dnl
-    AC_CHECK_HEADERS_ONCE(m4_quote(m4_defn([gl_HEADER_NAME])))dnl
+                    [ac_cv_header_]m4_defn([gl_HEADER_NAME]))dnl
+    AC_CHECK_HEADERS_ONCE(m4_defn([gl_HEADER_NAME]))dnl
     if test AS_VAR_GET(ac_header_exists) = yes; then
-      AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include 
<]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]])])
-dnl eval is necessary to expand ac_cpp.
-dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell.
-      AS_VAR_SET(gl_absolute_header,
-[`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
-sed -n 
'\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1#;s#^/[^/]#//&#;p;q;}'`])
+      gl_ABSOLUTE_HEADER_ONE(m4_defn([gl_HEADER_NAME]))
     fi
     AS_VAR_POPDEF([ac_header_exists])dnl
     ])dnl
-  AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_quote(m4_defn([gl_HEADER_NAME]))),
+  AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_defn([gl_HEADER_NAME])),
                      ["AS_VAR_GET(gl_absolute_header)"],
-                     [Define this to an absolute name of 
<]m4_quote(m4_defn([gl_HEADER_NAME]))[>.])
+                     [Define this to an absolute name of 
<]m4_defn([gl_HEADER_NAME])[>.])
   AS_VAR_POPDEF([gl_absolute_header])dnl
 ])dnl
 ])# gl_ABSOLUTE_HEADER
+
+# gl_ABSOLUTE_HEADER_ONE(HEADER)
+# ------------------------------
+# Like gl_ABSOLUTE_HEADER, except that:
+#   - it assumes that the header exists,
+#   - it uses the current CPPFLAGS,
+#   - it does not cache the result,
+#   - it is silent.
+AC_DEFUN([gl_ABSOLUTE_HEADER_ONE],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote([$1])[[>]])])
+  dnl AIX "xlc -E" and "cc -E" omit #line directives for header files
+  dnl that contain only a #include of other header files and no
+  dnl non-comment tokens of their own. This leads to a failure to
+  dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h>
+  dnl and others. The workaround is to force preservation of comments
+  dnl through option -C. This ensures all necessary #line directives
+  dnl are present. GCC supports option -C as well.
+  case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+changequote(,)
+  case "$host_os" in
+    mingw*)
+      dnl For the sake of native Windows compilers (excluding gcc),
+      dnl treat backslash as a directory separator, like /.
+      dnl Actually, these compilers use a double-backslash as
+      dnl directory separator, inside the
+      dnl   # line "filename"
+      dnl directives.
+      gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+  dnl A sed expression that turns a string into a basic regular
+  dnl expression, for use within "/.../".
+  gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo '$1' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+changequote([,])
+  dnl eval is necessary to expand gl_absname_cpp.
+  dnl Ultrix and Pyramid sh refuse to redirect output of eval,
+  dnl so use subshell.
+  AS_VAR_SET([gl_cv_absolute_]AS_TR_SH([[$1]]),
+[`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+  sed -n "$gl_absolute_header_sed"`])
+])
diff --git a/gl/m4/alloca.m4 b/gl/m4/alloca.m4
index 270abd0..d7bdea6 100644
--- a/gl/m4/alloca.m4
+++ b/gl/m4/alloca.m4
@@ -1,5 +1,5 @@
 # alloca.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/autobuild.m4 b/gl/m4/autobuild.m4
index 3147b5b..00d8709 100644
--- a/gl/m4/autobuild.m4
+++ b/gl/m4/autobuild.m4
@@ -1,5 +1,5 @@
 # autobuild.m4 serial 7
-dnl Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/close.m4 b/gl/m4/close.m4
index bccd981..68510c5 100644
--- a/gl/m4/close.m4
+++ b/gl/m4/close.m4
@@ -1,5 +1,5 @@
 # close.m4 serial 8
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/csharp.m4 b/gl/m4/csharp.m4
index eb1f419..20f7887 100644
--- a/gl/m4/csharp.m4
+++ b/gl/m4/csharp.m4
@@ -1,5 +1,5 @@
 # csharp.m4 serial 3
-dnl Copyright (C) 2004-2005, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/csharpcomp.m4 b/gl/m4/csharpcomp.m4
index a7b04ad..4a91bc0 100644
--- a/gl/m4/csharpcomp.m4
+++ b/gl/m4/csharpcomp.m4
@@ -1,5 +1,5 @@
 # csharpcomp.m4 serial 8
-dnl Copyright (C) 2003-2005, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2005, 2007, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/csharpexec.m4 b/gl/m4/csharpexec.m4
index c907416..73597cc 100644
--- a/gl/m4/csharpexec.m4
+++ b/gl/m4/csharpexec.m4
@@ -1,5 +1,5 @@
 # csharpexec.m4 serial 4
-dnl Copyright (C) 2003-2005, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2005, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/dup2.m4 b/gl/m4/dup2.m4
index dc3070c..6498fc2 100644
--- a/gl/m4/dup2.m4
+++ b/gl/m4/dup2.m4
@@ -1,5 +1,5 @@
 #serial 20
-dnl Copyright (C) 2002, 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,6 +8,7 @@ AC_DEFUN([gl_FUNC_DUP2],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
   AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_CHECK_FUNCS_ONCE([getdtablesize])
   m4_ifdef([gl_FUNC_DUP2_OBSOLETE], [
     AC_CHECK_FUNCS_ONCE([dup2])
     if test $ac_cv_func_dup2 = no; then
@@ -23,6 +24,11 @@ AC_DEFUN([gl_FUNC_DUP2],
 #include <fcntl.h>
 #include <errno.h>]],
            [int result = 0;
+#ifdef HAVE_GETDTABLESIZE
+            int bad_fd = getdtablesize ();
+#else
+            int bad_fd = 1000000;
+#endif
 #ifdef FD_CLOEXEC
             if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
               result |= 1;
@@ -37,7 +43,7 @@ AC_DEFUN([gl_FUNC_DUP2],
             if (dup2 (0, 0) != -1)
               result |= 8;
             /* Many gnulib modules require POSIX conformance of EBADF.  */
-            if (dup2 (2, 1000000) == -1 && errno != EBADF)
+            if (dup2 (2, bad_fd) == -1 && errno != EBADF)
               result |= 16;
             /* Flush out some cygwin core dumps.  */
             if (dup2 (2, -1) != -1 || errno != EBADF)
@@ -56,7 +62,9 @@ AC_DEFUN([gl_FUNC_DUP2],
            linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
                    # closed fd may yield -EBADF instead of -1 / errno=EBADF.
              gl_cv_func_dup2_works="guessing no" ;;
-           freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF.
+           aix* | freebsd*)
+                   # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
+                   # not EBADF.
              gl_cv_func_dup2_works="guessing no" ;;
            haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
              gl_cv_func_dup2_works="guessing no" ;;
diff --git a/gl/m4/eealloc.m4 b/gl/m4/eealloc.m4
index c640ec1..8a51fe7 100644
--- a/gl/m4/eealloc.m4
+++ b/gl/m4/eealloc.m4
@@ -1,5 +1,5 @@
 # eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/environ.m4 b/gl/m4/environ.m4
index 593a33e..cfabe46 100644
--- a/gl/m4/environ.m4
+++ b/gl/m4/environ.m4
@@ -1,5 +1,5 @@
 # environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/errno_h.m4 b/gl/m4/errno_h.m4
index c813ea5..4ee9e6a 100644
--- a/gl/m4/errno_h.m4
+++ b/gl/m4/errno_h.m4
@@ -1,5 +1,5 @@
 # errno_h.m4 serial 12
-dnl Copyright (C) 2004, 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/error.m4 b/gl/m4/error.m4
index 29e6fdc..f08ae50 100644
--- a/gl/m4/error.m4
+++ b/gl/m4/error.m4
@@ -1,6 +1,6 @@
 #serial 14
 
-# Copyright (C) 1996-1998, 2001-2004, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/exponentd.m4 b/gl/m4/exponentd.m4
deleted file mode 100644
index 09df468..0000000
--- a/gl/m4/exponentd.m4
+++ /dev/null
@@ -1,116 +0,0 @@
-# exponentd.m4 serial 3
-dnl Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN([gl_DOUBLE_EXPONENT_LOCATION],
-[
-  AC_CACHE_CHECK([where to find the exponent in a 'double'],
-    [gl_cv_cc_double_expbit0],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <float.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#define NWORDS \
-  ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { double value; unsigned int word[NWORDS]; } memory_double;
-static unsigned int ored_words[NWORDS];
-static unsigned int anded_words[NWORDS];
-static void add_to_ored_words (double x)
-{
-  memory_double m;
-  size_t i;
-  /* Clear it first, in case sizeof (double) < sizeof (memory_double).  */
-  memset (&m, 0, sizeof (memory_double));
-  m.value = x;
-  for (i = 0; i < NWORDS; i++)
-    {
-      ored_words[i] |= m.word[i];
-      anded_words[i] &= m.word[i];
-    }
-}
-int main ()
-{
-  size_t j;
-  FILE *fp = fopen ("conftest.out", "w");
-  if (fp == NULL)
-    return 1;
-  for (j = 0; j < NWORDS; j++)
-    anded_words[j] = ~ (unsigned int) 0;
-  add_to_ored_words (0.25);
-  add_to_ored_words (0.5);
-  add_to_ored_words (1.0);
-  add_to_ored_words (2.0);
-  add_to_ored_words (4.0);
-  /* Remove bits that are common (e.g. if representation of the first mantissa
-     bit is explicit).  */
-  for (j = 0; j < NWORDS; j++)
-    ored_words[j] &= ~anded_words[j];
-  /* Now find the nonzero word.  */
-  for (j = 0; j < NWORDS; j++)
-    if (ored_words[j] != 0)
-      break;
-  if (j < NWORDS)
-    {
-      size_t i;
-      for (i = j + 1; i < NWORDS; i++)
-        if (ored_words[i] != 0)
-          {
-            fprintf (fp, "unknown");
-            return (fclose (fp) != 0);
-          }
-      for (i = 0; ; i++)
-        if ((ored_words[j] >> i) & 1)
-          {
-            fprintf (fp, "word %d bit %d", (int) j, (int) i);
-            return (fclose (fp) != 0);
-          }
-    }
-  fprintf (fp, "unknown");
-  return (fclose (fp) != 0);
-}
-        ]])],
-        [gl_cv_cc_double_expbit0=`cat conftest.out`],
-        [gl_cv_cc_double_expbit0="unknown"],
-        [
-          dnl On ARM, there are two 'double' floating-point formats, used by
-          dnl different sets of instructions: The older FPA instructions assume
-          dnl that they are stored in big-endian word order, while the words
-          dnl (like integer types) are stored in little-endian byte order.
-          dnl The newer VFP instructions assume little-endian order
-          dnl consistently.
-          AC_EGREP_CPP([mixed_endianness], [
-#if defined arm || defined __arm || defined __arm__
-  mixed_endianness
-#endif
-            ],
-            [gl_cv_cc_double_expbit0="unknown"],
-            [
-              pushdef([AC_MSG_CHECKING],[:])dnl
-              pushdef([AC_MSG_RESULT],[:])dnl
-              pushdef([AC_MSG_RESULT_UNQUOTED],[:])dnl
-              AC_C_BIGENDIAN(
-                [gl_cv_cc_double_expbit0="word 0 bit 20"],
-                [gl_cv_cc_double_expbit0="word 1 bit 20"],
-                [gl_cv_cc_double_expbit0="unknown"])
-              popdef([AC_MSG_RESULT_UNQUOTED])dnl
-              popdef([AC_MSG_RESULT])dnl
-              popdef([AC_MSG_CHECKING])dnl
-            ])
-        ])
-      rm -f conftest.out
-    ])
-  case "$gl_cv_cc_double_expbit0" in
-    word*bit*)
-      word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ 
bit.*//'`
-      bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
-      AC_DEFINE_UNQUOTED([DBL_EXPBIT0_WORD], [$word],
-        [Define as the word index where to find the exponent of 'double'.])
-      AC_DEFINE_UNQUOTED([DBL_EXPBIT0_BIT], [$bit],
-        [Define as the bit index in the word where to find bit 0 of the 
exponent of 'double'.])
-      ;;
-  esac
-])
diff --git a/gl/m4/exponentf.m4 b/gl/m4/exponentf.m4
deleted file mode 100644
index 55a04e6..0000000
--- a/gl/m4/exponentf.m4
+++ /dev/null
@@ -1,92 +0,0 @@
-# exponentf.m4 serial 2
-dnl Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN([gl_FLOAT_EXPONENT_LOCATION],
-[
-  AC_CACHE_CHECK([where to find the exponent in a 'float'],
-    [gl_cv_cc_float_expbit0],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <float.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#define NWORDS \
-  ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { float value; unsigned int word[NWORDS]; } memory_float;
-static unsigned int ored_words[NWORDS];
-static unsigned int anded_words[NWORDS];
-static void add_to_ored_words (float x)
-{
-  memory_float m;
-  size_t i;
-  /* Clear it first, in case
-     sizeof (float) < sizeof (memory_float).  */
-  memset (&m, 0, sizeof (memory_float));
-  m.value = x;
-  for (i = 0; i < NWORDS; i++)
-    {
-      ored_words[i] |= m.word[i];
-      anded_words[i] &= m.word[i];
-    }
-}
-int main ()
-{
-  size_t j;
-  FILE *fp = fopen ("conftest.out", "w");
-  if (fp == NULL)
-    return 1;
-  for (j = 0; j < NWORDS; j++)
-    anded_words[j] = ~ (unsigned int) 0;
-  add_to_ored_words (0.25f);
-  add_to_ored_words (0.5f);
-  add_to_ored_words (1.0f);
-  add_to_ored_words (2.0f);
-  add_to_ored_words (4.0f);
-  /* Remove bits that are common (e.g. if representation of the first mantissa
-     bit is explicit).  */
-  for (j = 0; j < NWORDS; j++)
-    ored_words[j] &= ~anded_words[j];
-  /* Now find the nonzero word.  */
-  for (j = 0; j < NWORDS; j++)
-    if (ored_words[j] != 0)
-      break;
-  if (j < NWORDS)
-    {
-      size_t i;
-      for (i = j + 1; i < NWORDS; i++)
-        if (ored_words[i] != 0)
-          {
-            fprintf (fp, "unknown");
-            return (fclose (fp) != 0);
-          }
-      for (i = 0; ; i++)
-        if ((ored_words[j] >> i) & 1)
-          {
-            fprintf (fp, "word %d bit %d", (int) j, (int) i);
-            return (fclose (fp) != 0);
-          }
-    }
-  fprintf (fp, "unknown");
-  return (fclose (fp) != 0);
-}
-        ]])],
-        [gl_cv_cc_float_expbit0=`cat conftest.out`],
-        [gl_cv_cc_float_expbit0="unknown"],
-        [gl_cv_cc_float_expbit0="word 0 bit 23"])
-      rm -f conftest.out
-    ])
-  case "$gl_cv_cc_float_expbit0" in
-    word*bit*)
-      word=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word //' -e 's/ 
bit.*//'`
-      bit=`echo "$gl_cv_cc_float_expbit0" | sed -e 's/word.*bit //'`
-      AC_DEFINE_UNQUOTED([FLT_EXPBIT0_WORD], [$word],
-        [Define as the word index where to find the exponent of 'float'.])
-      AC_DEFINE_UNQUOTED([FLT_EXPBIT0_BIT], [$bit],
-        [Define as the bit index in the word where to find bit 0 of the 
exponent of 'float'.])
-      ;;
-  esac
-])
diff --git a/gl/m4/exponentl.m4 b/gl/m4/exponentl.m4
deleted file mode 100644
index f877cf1..0000000
--- a/gl/m4/exponentl.m4
+++ /dev/null
@@ -1,98 +0,0 @@
-# exponentl.m4 serial 3
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-AC_DEFUN([gl_LONG_DOUBLE_EXPONENT_LOCATION],
-[
-  AC_REQUIRE([gl_BIGENDIAN])
-  AC_CACHE_CHECK([where to find the exponent in a 'long double'],
-    [gl_cv_cc_long_double_expbit0],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <float.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#define NWORDS \
-  ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { long double value; unsigned int word[NWORDS]; }
-        memory_long_double;
-static unsigned int ored_words[NWORDS];
-static unsigned int anded_words[NWORDS];
-static void add_to_ored_words (long double x)
-{
-  memory_long_double m;
-  size_t i;
-  /* Clear it first, in case
-     sizeof (long double) < sizeof (memory_long_double).  */
-  memset (&m, 0, sizeof (memory_long_double));
-  m.value = x;
-  for (i = 0; i < NWORDS; i++)
-    {
-      ored_words[i] |= m.word[i];
-      anded_words[i] &= m.word[i];
-    }
-}
-int main ()
-{
-  size_t j;
-  FILE *fp = fopen ("conftest.out", "w");
-  if (fp == NULL)
-    return 1;
-  for (j = 0; j < NWORDS; j++)
-    anded_words[j] = ~ (unsigned int) 0;
-  add_to_ored_words (0.25L);
-  add_to_ored_words (0.5L);
-  add_to_ored_words (1.0L);
-  add_to_ored_words (2.0L);
-  add_to_ored_words (4.0L);
-  /* Remove bits that are common (e.g. if representation of the first mantissa
-     bit is explicit).  */
-  for (j = 0; j < NWORDS; j++)
-    ored_words[j] &= ~anded_words[j];
-  /* Now find the nonzero word.  */
-  for (j = 0; j < NWORDS; j++)
-    if (ored_words[j] != 0)
-      break;
-  if (j < NWORDS)
-    {
-      size_t i;
-      for (i = j + 1; i < NWORDS; i++)
-        if (ored_words[i] != 0)
-          {
-            fprintf (fp, "unknown");
-            return (fclose (fp) != 0);
-          }
-      for (i = 0; ; i++)
-        if ((ored_words[j] >> i) & 1)
-          {
-            fprintf (fp, "word %d bit %d", (int) j, (int) i);
-            return (fclose (fp) != 0);
-          }
-    }
-  fprintf (fp, "unknown");
-  return (fclose (fp) != 0);
-}
-        ]])],
-        [gl_cv_cc_long_double_expbit0=`cat conftest.out`],
-        [gl_cv_cc_long_double_expbit0="unknown"],
-        [
-          dnl When cross-compiling, we don't know. It depends on the
-          dnl ABI and compiler version. There are too many cases.
-          gl_cv_cc_long_double_expbit0="unknown"
-        ])
-      rm -f conftest.out
-    ])
-  case "$gl_cv_cc_long_double_expbit0" in
-    word*bit*)
-      word=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word //' -e 's/ 
bit.*//'`
-      bit=`echo "$gl_cv_cc_long_double_expbit0" | sed -e 's/word.*bit //'`
-      AC_DEFINE_UNQUOTED([LDBL_EXPBIT0_WORD], [$word],
-        [Define as the word index where to find the exponent of 'long 
double'.])
-      AC_DEFINE_UNQUOTED([LDBL_EXPBIT0_BIT], [$bit],
-        [Define as the bit index in the word where to find bit 0 of the 
exponent of 'long double'.])
-      ;;
-  esac
-])
diff --git a/gl/m4/extensions.m4 b/gl/m4/extensions.m4
index e30f122..37f55ca 100644
--- a/gl/m4/extensions.m4
+++ b/gl/m4/extensions.m4
@@ -1,7 +1,7 @@
 # serial 13  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
 # This file 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.
diff --git a/gl/m4/extern-inline.m4 b/gl/m4/extern-inline.m4
index e4454d8..7f1bb39 100644
--- a/gl/m4/extern-inline.m4
+++ b/gl/m4/extern-inline.m4
@@ -1,7 +1,6 @@
-# extern-inline.m4 serial 2
 dnl 'extern inline' a la ISO C99.
 
-dnl Copyright 2012-2013 Free Software Foundation, Inc.
+dnl Copyright 2012-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -20,28 +19,48 @@ AC_DEFUN([gl_EXTERN_INLINE],
    'reference to static identifier "f" in extern inline function'.
    This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
 
-   Suppress the use of extern inline on problematic Apple configurations, as
-   Libc at least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
-   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
-   Perhaps Apple will fix this some day.  */
-#if (defined __APPLE__ \
-     && ((! defined _DONT_USE_CTYPE_INLINE_ \
-          && (defined __GNUC__ || defined __cplusplus)) \
-         || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
-             && defined __GNUC__ && ! defined __cplusplus)))
-# define _GL_EXTERN_INLINE_APPLE_BUG
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions.  This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     
http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
+
+   OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+   for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
+   Assume DragonFly and FreeBSD will be similar.  */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
+     && (defined __header_inline \
+         ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+            && ! defined __clang__) \
+         : ((! defined _DONT_USE_CTYPE_INLINE_ \
+             && (defined __GNUC__ || defined __cplusplus)) \
+            || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+                && defined __GNUC__ && ! defined __cplusplus))))
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
 #endif
 #if ((__GNUC__ \
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
       : (199901L <= __STDC_VERSION__ \
          && !defined __HP_cc \
          && !(defined __SUNPRO_C && __STDC__))) \
-     && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # define _GL_INLINE inline
 # define _GL_EXTERN_INLINE extern inline
 # define _GL_EXTERN_INLINE_IN_USE
 #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
-       && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
    /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
 #  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
diff --git a/gl/m4/fcntl-o.m4 b/gl/m4/fcntl-o.m4
index 87cc4bd..43c9312 100644
--- a/gl/m4/fcntl-o.m4
+++ b/gl/m4/fcntl-o.m4
@@ -1,5 +1,5 @@
 # fcntl-o.m4 serial 4
-dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/fcntl_h.m4 b/gl/m4/fcntl_h.m4
index 3cff1fd..fb2556d 100644
--- a/gl/m4/fcntl_h.m4
+++ b/gl/m4/fcntl_h.m4
@@ -1,6 +1,6 @@
 # serial 15
 # Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/fdopen.m4 b/gl/m4/fdopen.m4
index 74d1649..4cf8f35 100644
--- a/gl/m4/fdopen.m4
+++ b/gl/m4/fdopen.m4
@@ -1,5 +1,5 @@
 # fdopen.m4 serial 3
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/float_h.m4 b/gl/m4/float_h.m4
deleted file mode 100644
index 397f2d1..0000000
--- a/gl/m4/float_h.m4
+++ /dev/null
@@ -1,98 +0,0 @@
-# float_h.m4 serial 9
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FLOAT_H],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  FLOAT_H=
-  REPLACE_FLOAT_LDBL=0
-  case "$host_os" in
-    aix* | beos* | openbsd* | mirbsd* | irix*)
-      FLOAT_H=float.h
-      ;;
-    freebsd*)
-      case "$host_cpu" in
-changequote(,)dnl
-        i[34567]86 )
-changequote([,])dnl
-          FLOAT_H=float.h
-          ;;
-        x86_64 )
-          # On x86_64 systems, the C compiler may still be generating
-          # 32-bit code.
-          AC_EGREP_CPP([yes],
-            [#if defined __LP64__ || defined __x86_64__ || defined __amd64__
-             yes
-             #endif],
-            [],
-            [FLOAT_H=float.h])
-          ;;
-      esac
-      ;;
-    linux*)
-      case "$host_cpu" in
-        powerpc*)
-          FLOAT_H=float.h
-          ;;
-      esac
-      ;;
-  esac
-  case "$host_os" in
-    aix* | freebsd* | linux*)
-      if test -n "$FLOAT_H"; then
-        REPLACE_FLOAT_LDBL=1
-      fi
-      ;;
-  esac
-
-  dnl Test against glibc-2.7 Linux/SPARC64 bug.
-  REPLACE_ITOLD=0
-  AC_CACHE_CHECK([whether conversion from 'int' to 'long double' works],
-    [gl_cv_func_itold_works],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-int i = -1;
-volatile long double ld;
-int main ()
-{
-  ld += i * 1.0L;
-  if (ld > 0)
-    return 1;
-  return 0;
-}]])],
-        [gl_cv_func_itold_works=yes],
-        [gl_cv_func_itold_works=no],
-        [case "$host" in
-           sparc*-*-linux*)
-             AC_EGREP_CPP([yes],
-               [#if defined __LP64__ || defined __arch64__
-                yes
-                #endif],
-               [gl_cv_func_itold_works="guessing no"],
-               [gl_cv_func_itold_works="guessing yes"])
-             ;;
-           *) gl_cv_func_itold_works="guessing yes" ;;
-         esac
-        ])
-    ])
-  case "$gl_cv_func_itold_works" in
-    *no)
-      REPLACE_ITOLD=1
-      dnl We add the workaround to <float.h> but also to <math.h>,
-      dnl to increase the chances that the fix function gets pulled in.
-      FLOAT_H=float.h
-      ;;
-  esac
-
-  if test -n "$FLOAT_H"; then
-    gl_NEXT_HEADERS([float.h])
-  fi
-  AC_SUBST([FLOAT_H])
-  AM_CONDITIONAL([GL_GENERATE_FLOAT_H], [test -n "$FLOAT_H"])
-  AC_SUBST([REPLACE_ITOLD])
-])
diff --git a/gl/m4/fpieee.m4 b/gl/m4/fpieee.m4
deleted file mode 100644
index 97941bb..0000000
--- a/gl/m4/fpieee.m4
+++ /dev/null
@@ -1,54 +0,0 @@
-# fpieee.m4 serial 2
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl IEEE 754 standardized three items:
-dnl - The formats of single-float and double-float - nowadays commonly
-dnl   available as 'float' and 'double' in C and C++.
-dnl   No autoconf test needed.
-dnl - The overflow and division by zero behaviour: The result are values
-dnl   '±Inf' and 'NaN', rather than exceptions as it was before.
-dnl   This file provides an autoconf macro for ensuring this behaviour of
-dnl   floating-point operations.
-dnl - A set of conditions (overflow, underflow, inexact, etc.) which can
-dnl   be configured to trigger an exception.
-dnl   This cannot be done in a portable way: it depends on the compiler,
-dnl   libc, kernel, and CPU.  No autoconf macro is provided for this.
-
-dnl Ensure non-trapping behaviour of floating-point overflow and
-dnl floating-point division by zero.
-dnl (For integer overflow, see gcc's -ftrapv option; for integer division by
-dnl zero, see the autoconf macro in intdiv0.m4.)
-
-AC_DEFUN([gl_FP_IEEE],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  # IEEE behaviour is the default on all CPUs except Alpha and SH
-  # (according to the test results of Bruno Haible's ieeefp/fenv_default.m4
-  # and the GCC 4.1.2 manual).
-  case "$host_cpu" in
-    alpha*)
-      # On Alpha systems, a compiler option provides the behaviour.
-      # See the ieee(3) manual page, also available at
-      # 
<http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_HTML/MAN/MAN3/0600____.HTM>
-      if test -n "$GCC"; then
-        # GCC has the option -mieee.
-        # For full IEEE compliance (rarely needed), use option 
-mieee-with-inexact.
-        CPPFLAGS="$CPPFLAGS -mieee"
-      else
-        # Compaq (ex-DEC) C has the option -ieee, equivalent to 
-ieee_with_no_inexact.
-        # For full IEEE compliance (rarely needed), use option 
-ieee_with_inexact.
-        CPPFLAGS="$CPPFLAGS -ieee"
-      fi
-      ;;
-    sh*)
-      if test -n "$GCC"; then
-        # GCC has the option -mieee.
-        CPPFLAGS="$CPPFLAGS -mieee"
-      fi
-      ;;
-  esac
-])
diff --git a/gl/m4/frexp.m4 b/gl/m4/frexp.m4
deleted file mode 100644
index 2eb98a1..0000000
--- a/gl/m4/frexp.m4
+++ /dev/null
@@ -1,172 +0,0 @@
-# frexp.m4 serial 15
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_FREXP],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  AC_REQUIRE([gl_CHECK_FREXP_NO_LIBM])
-  FREXP_LIBM=
-  if test $gl_cv_func_frexp_no_libm = no; then
-    AC_CACHE_CHECK([whether frexp() can be used with libm],
-      [gl_cv_func_frexp_in_libm],
-      [
-        save_LIBS="$LIBS"
-        LIBS="$LIBS -lm"
-        AC_LINK_IFELSE(
-          [AC_LANG_PROGRAM(
-             [[#include <math.h>
-               double x;]],
-             [[int e; return frexp (x, &e) > 0;]])],
-          [gl_cv_func_frexp_in_libm=yes],
-          [gl_cv_func_frexp_in_libm=no])
-        LIBS="$save_LIBS"
-      ])
-    if test $gl_cv_func_frexp_in_libm = yes; then
-      FREXP_LIBM=-lm
-    fi
-  fi
-  if test $gl_cv_func_frexp_no_libm = yes \
-     || test $gl_cv_func_frexp_in_libm = yes; then
-    save_LIBS="$LIBS"
-    LIBS="$LIBS $FREXP_LIBM"
-    gl_FUNC_FREXP_WORKS
-    LIBS="$save_LIBS"
-    case "$gl_cv_func_frexp_works" in
-      *yes) gl_func_frexp=yes ;;
-      *)    gl_func_frexp=no; REPLACE_FREXP=1; FREXP_LIBM= ;;
-    esac
-  else
-    gl_func_frexp=no
-  fi
-  if test $gl_func_frexp = yes; then
-    AC_DEFINE([HAVE_FREXP], [1],
-      [Define if the frexp() function is available and works.])
-  fi
-  AC_SUBST([FREXP_LIBM])
-])
-
-AC_DEFUN([gl_FUNC_FREXP_NO_LIBM],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  AC_REQUIRE([gl_CHECK_FREXP_NO_LIBM])
-  if test $gl_cv_func_frexp_no_libm = yes; then
-    gl_FUNC_FREXP_WORKS
-    case "$gl_cv_func_frexp_works" in
-      *yes) gl_func_frexp_no_libm=yes ;;
-      *)    gl_func_frexp_no_libm=no; REPLACE_FREXP=1 ;;
-    esac
-  else
-    gl_func_frexp_no_libm=no
-    dnl Set REPLACE_FREXP here because the system may have frexp in libm.
-    REPLACE_FREXP=1
-  fi
-  if test $gl_func_frexp_no_libm = yes; then
-    AC_DEFINE([HAVE_FREXP_IN_LIBC], [1],
-      [Define if the frexp() function is available in libc.])
-  fi
-])
-
-dnl Test whether frexp() can be used without linking with libm.
-dnl Set gl_cv_func_frexp_no_libm to 'yes' or 'no' accordingly.
-AC_DEFUN([gl_CHECK_FREXP_NO_LIBM],
-[
-  AC_CACHE_CHECK([whether frexp() can be used without linking with libm],
-    [gl_cv_func_frexp_no_libm],
-    [
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <math.h>
-             double x;]],
-           [[int e; return frexp (x, &e) > 0;]])],
-        [gl_cv_func_frexp_no_libm=yes],
-        [gl_cv_func_frexp_no_libm=no])
-    ])
-])
-
-dnl Test whether frexp() works also on denormalized numbers (this fails e.g. on
-dnl NetBSD 3.0), on infinite numbers (this fails e.g. on IRIX 6.5 and mingw),
-dnl and on negative zero (this fails e.g. on NetBSD 4.99 and mingw).
-AC_DEFUN([gl_FUNC_FREXP_WORKS],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CHECK_DECLS_ONCE([alarm])
-  AC_CACHE_CHECK([whether frexp works], [gl_cv_func_frexp_works],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <float.h>
-#include <math.h>
-#include <string.h>
-#if HAVE_DECL_ALARM
-# include <signal.h>
-# include <unistd.h>
-#endif
-/* 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 Mac OS X 10.5.  */
-#if defined __hpux || defined __sgi || defined __ICC
-static double
-compute_minus_zero (void)
-{
-  return -DBL_MIN * DBL_MIN;
-}
-# define minus_zero compute_minus_zero ()
-#else
-double minus_zero = -0.0;
-#endif
-int main()
-{
-  int result = 0;
-  int i;
-  volatile double x;
-  double zero = 0.0;
-#if HAVE_DECL_ALARM
-  /* NeXTstep 3.3 frexp() runs into an endless loop when called on an infinite
-     number.  Let the test fail in this case.  */
-  signal (SIGALRM, SIG_DFL);
-  alarm (5);
-#endif
-  /* Test on denormalized numbers.  */
-  for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5)
-    ;
-  if (x > 0.0)
-    {
-      int exp;
-      double y = frexp (x, &exp);
-      /* On machines with IEEE754 arithmetic: x = 1.11254e-308, exp = -1022.
-         On NetBSD: y = 0.75. Correct: y = 0.5.  */
-      if (y != 0.5)
-        result |= 1;
-    }
-  /* Test on infinite numbers.  */
-  x = 1.0 / zero;
-  {
-    int exp;
-    double y = frexp (x, &exp);
-    if (y != x)
-      result |= 2;
-  }
-  /* Test on negative zero.  */
-  x = minus_zero;
-  {
-    int exp;
-    double y = frexp (x, &exp);
-    if (memcmp (&y, &x, sizeof x))
-      result |= 4;
-  }
-  return result;
-}]])],
-        [gl_cv_func_frexp_works=yes],
-        [gl_cv_func_frexp_works=no],
-        [case "$host_os" in
-           netbsd* | irix* | mingw*) gl_cv_func_frexp_works="guessing no";;
-           *)                        gl_cv_func_frexp_works="guessing yes";;
-         esac
-        ])
-    ])
-])
diff --git a/gl/m4/frexpl.m4 b/gl/m4/frexpl.m4
deleted file mode 100644
index 3b64c52..0000000
--- a/gl/m4/frexpl.m4
+++ /dev/null
@@ -1,231 +0,0 @@
-# frexpl.m4 serial 20
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_FREXPL],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
-
-  dnl Persuade glibc <math.h> to declare frexpl().
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
-  dnl Check whether it's declared.
-  dnl Mac OS X 10.3 has frexpl() in libc but doesn't declare it in <math.h>.
-  AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include <math.h>]])
-
-  FREXPL_LIBM=
-  if test $HAVE_DECL_FREXPL = 1; then
-    gl_CHECK_FREXPL_NO_LIBM
-    if test $gl_cv_func_frexpl_no_libm = no; then
-      AC_CACHE_CHECK([whether frexpl() can be used with libm],
-        [gl_cv_func_frexpl_in_libm],
-        [
-          save_LIBS="$LIBS"
-          LIBS="$LIBS -lm"
-          AC_LINK_IFELSE(
-            [AC_LANG_PROGRAM(
-               [[#include <math.h>
-                 long double x;]],
-               [[int e; return frexpl (x, &e) > 0;]])],
-            [gl_cv_func_frexpl_in_libm=yes],
-            [gl_cv_func_frexpl_in_libm=no])
-          LIBS="$save_LIBS"
-        ])
-      if test $gl_cv_func_frexpl_in_libm = yes; then
-        FREXPL_LIBM=-lm
-      fi
-    fi
-    if test $gl_cv_func_frexpl_no_libm = yes \
-       || test $gl_cv_func_frexpl_in_libm = yes; then
-      save_LIBS="$LIBS"
-      LIBS="$LIBS $FREXPL_LIBM"
-      gl_FUNC_FREXPL_WORKS
-      LIBS="$save_LIBS"
-      case "$gl_cv_func_frexpl_works" in
-        *yes) gl_func_frexpl=yes ;;
-        *)    gl_func_frexpl=no; REPLACE_FREXPL=1 ;;
-      esac
-    else
-      gl_func_frexpl=no
-    fi
-    if test $gl_func_frexpl = yes; then
-      AC_DEFINE([HAVE_FREXPL], [1],
-        [Define if the frexpl() function is available.])
-    fi
-  fi
-  if test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl = no; then
-    dnl Find libraries needed to link lib/frexpl.c.
-    if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then
-      AC_REQUIRE([gl_FUNC_FREXP])
-      FREXPL_LIBM="$FREXP_LIBM"
-    else
-      FREXPL_LIBM=
-    fi
-  fi
-  AC_SUBST([FREXPL_LIBM])
-])
-
-AC_DEFUN([gl_FUNC_FREXPL_NO_LIBM],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
-  dnl Check whether it's declared.
-  dnl Mac OS X 10.3 has frexpl() in libc but doesn't declare it in <math.h>.
-  AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include <math.h>]])
-  if test $HAVE_DECL_FREXPL = 1; then
-    gl_CHECK_FREXPL_NO_LIBM
-    if test $gl_cv_func_frexpl_no_libm = yes; then
-      gl_FUNC_FREXPL_WORKS
-      case "$gl_cv_func_frexpl_works" in
-        *yes) gl_func_frexpl_no_libm=yes ;;
-        *)    gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;;
-      esac
-    else
-      gl_func_frexpl_no_libm=no
-      dnl Set REPLACE_FREXPL here because the system may have frexpl in libm.
-      REPLACE_FREXPL=1
-    fi
-    if test $gl_func_frexpl_no_libm = yes; then
-      AC_DEFINE([HAVE_FREXPL_IN_LIBC], [1],
-        [Define if the frexpl() function is available in libc.])
-    fi
-  fi
-])
-
-dnl Test whether frexpl() can be used without linking with libm.
-dnl Set gl_cv_func_frexpl_no_libm to 'yes' or 'no' accordingly.
-AC_DEFUN([gl_CHECK_FREXPL_NO_LIBM],
-[
-  AC_CACHE_CHECK([whether frexpl() can be used without linking with libm],
-    [gl_cv_func_frexpl_no_libm],
-    [
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <math.h>
-             long double x;]],
-           [[int e; return frexpl (x, &e) > 0;]])],
-        [gl_cv_func_frexpl_no_libm=yes],
-        [gl_cv_func_frexpl_no_libm=no])
-    ])
-])
-
-dnl Test whether frexpl() works on finite numbers (this fails on
-dnl Mac OS X 10.4/PowerPC, on AIX 5.1, and on BeOS), on denormalized numbers
-dnl (this fails on Mac OS X 10.5/i386), and also on infinite numbers (this
-dnl fails e.g. on IRIX 6.5 and mingw).
-AC_DEFUN([gl_FUNC_FREXPL_WORKS],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether frexpl works], [gl_cv_func_frexpl_works],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <float.h>
-#include <math.h>
-/* Override the values of <float.h>, like done in float.in.h.  */
-#if defined __i386__ && (defined __BEOS__ || defined __OpenBSD__)
-# undef LDBL_MIN_EXP
-# define LDBL_MIN_EXP    (-16381)
-#endif
-#if defined __i386__ && defined __FreeBSD__
-# undef LDBL_MIN_EXP
-# define LDBL_MIN_EXP    (-16381)
-#endif
-#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 
106) && defined __GNUC__
-# undef LDBL_MIN_EXP
-# define LDBL_MIN_EXP DBL_MIN_EXP
-#endif
-#if defined __sgi && (LDBL_MANT_DIG >= 106)
-# if defined __GNUC__
-#  undef LDBL_MIN_EXP
-#  define LDBL_MIN_EXP DBL_MIN_EXP
-# endif
-#endif
-extern
-#ifdef __cplusplus
-"C"
-#endif
-long double frexpl (long double, int *);
-int main()
-{
-  int result = 0;
-  volatile long double x;
-  /* Test on finite numbers that fails on AIX 5.1.  */
-  x = 16.0L;
-  {
-    int exp = -9999;
-    frexpl (x, &exp);
-    if (exp != 5)
-      result |= 1;
-  }
-  /* Test on finite numbers that fails on Mac OS X 10.4, because its frexpl
-     function returns an invalid (incorrectly normalized) value: it returns
-               y = { 0x3fe028f5, 0xc28f5c28, 0x3c9eb851, 0xeb851eb8 }
-     but the correct result is
-          0.505L = { 0x3fe028f5, 0xc28f5c29, 0xbc547ae1, 0x47ae1480 }  */
-  x = 1.01L;
-  {
-    int exp = -9999;
-    long double y = frexpl (x, &exp);
-    if (!(exp == 1 && y == 0.505L))
-      result |= 2;
-  }
-  /* Test on large finite numbers.  This fails on BeOS at i = 16322, while
-     LDBL_MAX_EXP = 16384.
-     In the loop end test, we test x against Infinity, rather than comparing
-     i with LDBL_MAX_EXP, because BeOS <float.h> has a wrong LDBL_MAX_EXP.  */
-  {
-    int i;
-    for (i = 1, x = 1.0L; x != x + x; i++, x *= 2.0L)
-      {
-        int exp = -9999;
-        frexpl (x, &exp);
-        if (exp != i)
-          {
-            result |= 4;
-            break;
-          }
-      }
-  }
-  /* Test on denormalized numbers.  */
-  {
-    int i;
-    for (i = 1, x = 1.0L; i >= LDBL_MIN_EXP; i--, x *= 0.5L)
-      ;
-    if (x > 0.0L)
-      {
-        int exp;
-        long double y = frexpl (x, &exp);
-        /* On machines with IEEE854 arithmetic: x = 1.68105e-4932,
-           exp = -16382, y = 0.5.  On Mac OS X 10.5: exp = -16384, y = 0.5.  */
-        if (exp != LDBL_MIN_EXP - 1)
-          result |= 8;
-      }
-  }
-  /* Test on infinite numbers.  */
-  x = 1.0L / 0.0L;
-  {
-    int exp;
-    long double y = frexpl (x, &exp);
-    if (y != x)
-      result |= 16;
-  }
-  return result;
-}]])],
-        [gl_cv_func_frexpl_works=yes],
-        [gl_cv_func_frexpl_works=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           aix | aix[3-6]* | beos* | darwin* | irix* | mingw* | pw*)
-              gl_cv_func_frexpl_works="guessing no";;
-           *) gl_cv_func_frexpl_works="guessing yes";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
diff --git a/gl/m4/fseterr.m4 b/gl/m4/fseterr.m4
deleted file mode 100644
index b8e044b..0000000
--- a/gl/m4/fseterr.m4
+++ /dev/null
@@ -1,10 +0,0 @@
-# fseterr.m4 serial 1
-dnl Copyright (C) 2012-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_FSETERR],
-[
-  AC_CHECK_FUNCS_ONCE([__fseterr])
-])
diff --git a/gl/m4/fstat.m4 b/gl/m4/fstat.m4
index b2cf2ad..ddd3fb9 100644
--- a/gl/m4/fstat.m4
+++ b/gl/m4/fstat.m4
@@ -1,5 +1,5 @@
 # fstat.m4 serial 4
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/getcwd.m4 b/gl/m4/getcwd.m4
index 6f91bd9..fc986cd 100644
--- a/gl/m4/getcwd.m4
+++ b/gl/m4/getcwd.m4
@@ -1,6 +1,6 @@
 # getcwd.m4 - check for working getcwd that is compatible with glibc
 
-# Copyright (C) 2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
 # This file 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.
diff --git a/gl/m4/getdtablesize.m4 b/gl/m4/getdtablesize.m4
index b3fa1af..aa523b6 100644
--- a/gl/m4/getdtablesize.m4
+++ b/gl/m4/getdtablesize.m4
@@ -1,5 +1,5 @@
 # getdtablesize.m4 serial 5
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/getopt.m4 b/gl/m4/getopt.m4
index 50f4509..f127028 100644
--- a/gl/m4/getopt.m4
+++ b/gl/m4/getopt.m4
@@ -1,5 +1,5 @@
 # getopt.m4 serial 44
-dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/getpagesize.m4 b/gl/m4/getpagesize.m4
deleted file mode 100644
index 06e893d..0000000
--- a/gl/m4/getpagesize.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-# getpagesize.m4 serial 9
-dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2013 Free Software Foundation,
-dnl Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_GETPAGESIZE],
-[
-  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_CHECK_FUNCS([getpagesize])
-  if test $ac_cv_func_getpagesize = no; then
-    HAVE_GETPAGESIZE=0
-    AC_CHECK_HEADERS([OS.h])
-    if test $ac_cv_header_OS_h = yes; then
-      HAVE_OS_H=1
-    fi
-    AC_CHECK_HEADERS([sys/param.h])
-    if test $ac_cv_header_sys_param_h = yes; then
-      HAVE_SYS_PARAM_H=1
-    fi
-  fi
-  case "$host_os" in
-    mingw*)
-      REPLACE_GETPAGESIZE=1
-      ;;
-  esac
-  dnl Also check whether it's declared.
-  dnl mingw has getpagesize() in libgcc.a but doesn't declare it.
-  AC_CHECK_DECL([getpagesize], , [HAVE_DECL_GETPAGESIZE=0])
-])
diff --git a/gl/m4/gettimeofday.m4 b/gl/m4/gettimeofday.m4
new file mode 100644
index 0000000..1c2d66e
--- /dev/null
+++ b/gl/m4/gettimeofday.m4
@@ -0,0 +1,138 @@
+# serial 21
+
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+# This file 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.
+
+dnl From Jim Meyering.
+
+AC_DEFUN([gl_FUNC_GETTIMEOFDAY],
+[
+  AC_REQUIRE([AC_C_RESTRICT])
+  AC_REQUIRE([gl_HEADER_SYS_TIME_H])
+  AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS])
+  AC_CHECK_FUNCS_ONCE([gettimeofday])
+
+  gl_gettimeofday_timezone=void
+  if test $ac_cv_func_gettimeofday != yes; then
+    HAVE_GETTIMEOFDAY=0
+  else
+    gl_FUNC_GETTIMEOFDAY_CLOBBER
+    AC_CACHE_CHECK([for gettimeofday with POSIX signature],
+      [gl_cv_func_gettimeofday_posix_signature],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#include <sys/time.h>
+              struct timeval c;
+              int gettimeofday (struct timeval *restrict, void *restrict);
+            ]],
+            [[/* glibc uses struct timezone * rather than the POSIX void *
+                 if _GNU_SOURCE is defined.  However, since the only portable
+                 use of gettimeofday uses NULL as the second parameter, and
+                 since the glibc definition is actually more typesafe, it is
+                 not worth wrapping this to get a compliant signature.  */
+              int (*f) (struct timeval *restrict, void *restrict)
+                = gettimeofday;
+              int x = f (&c, 0);
+              return !(x | c.tv_sec | c.tv_usec);
+            ]])],
+          [gl_cv_func_gettimeofday_posix_signature=yes],
+          [AC_COMPILE_IFELSE(
+            [AC_LANG_PROGRAM(
+              [[#include <sys/time.h>
+int gettimeofday (struct timeval *restrict, struct timezone *restrict);
+              ]])],
+            [gl_cv_func_gettimeofday_posix_signature=almost],
+            [gl_cv_func_gettimeofday_posix_signature=no])])])
+    if test $gl_cv_func_gettimeofday_posix_signature = almost; then
+      gl_gettimeofday_timezone='struct timezone'
+    elif test $gl_cv_func_gettimeofday_posix_signature != yes; then
+      REPLACE_GETTIMEOFDAY=1
+    fi
+    dnl If we override 'struct timeval', we also have to override gettimeofday.
+    if test $REPLACE_STRUCT_TIMEVAL = 1; then
+      REPLACE_GETTIMEOFDAY=1
+    fi
+    m4_ifdef([gl_FUNC_TZSET_CLOBBER], [
+      gl_FUNC_TZSET_CLOBBER
+      case "$gl_cv_func_tzset_clobber" in
+        *yes)
+          REPLACE_GETTIMEOFDAY=1
+          gl_GETTIMEOFDAY_REPLACE_LOCALTIME
+          AC_DEFINE([tzset], [rpl_tzset],
+            [Define to rpl_tzset if the wrapper function should be used.])
+          AC_DEFINE([TZSET_CLOBBERS_LOCALTIME], [1],
+            [Define if tzset clobbers localtime's static buffer.])
+          ;;
+      esac
+    ])
+  fi
+  AC_DEFINE_UNQUOTED([GETTIMEOFDAY_TIMEZONE], [$gl_gettimeofday_timezone],
+    [Define this to 'void' or 'struct timezone' to match the system's
+     declaration of the second argument to gettimeofday.])
+])
+
+
+dnl See if gettimeofday clobbers the static buffer that localtime uses
+dnl for its return value.  The gettimeofday function from Mac OS X 10.0.4
+dnl (i.e., Darwin 1.3.7) has this problem.
+dnl
+dnl If it does, then arrange to use gettimeofday and localtime only via
+dnl the wrapper functions that work around the problem.
+
+AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
+[
+ AC_REQUIRE([gl_HEADER_SYS_TIME_H])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer],
+  [gl_cv_func_gettimeofday_clobber],
+  [AC_RUN_IFELSE(
+     [AC_LANG_PROGRAM(
+        [[#include <string.h>
+          #include <sys/time.h>
+          #include <time.h>
+          #include <stdlib.h>
+        ]],
+        [[
+          time_t t = 0;
+          struct tm *lt;
+          struct tm saved_lt;
+          struct timeval tv;
+          lt = localtime (&t);
+          saved_lt = *lt;
+          gettimeofday (&tv, NULL);
+          return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0;
+        ]])],
+     [gl_cv_func_gettimeofday_clobber=no],
+     [gl_cv_func_gettimeofday_clobber=yes],
+     [# When cross-compiling:
+      case "$host_os" in
+                # Guess all is fine on glibc systems.
+        *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                # If we don't know, assume the worst.
+        *)      gl_cv_func_gettimeofday_clobber="guessing yes" ;;
+      esac
+     ])])
+
+ case "$gl_cv_func_gettimeofday_clobber" in
+   *yes)
+     REPLACE_GETTIMEOFDAY=1
+     gl_GETTIMEOFDAY_REPLACE_LOCALTIME
+     AC_DEFINE([GETTIMEOFDAY_CLOBBERS_LOCALTIME], [1],
+       [Define if gettimeofday clobbers the localtime buffer.])
+     ;;
+ esac
+])
+
+AC_DEFUN([gl_GETTIMEOFDAY_REPLACE_LOCALTIME], [
+  REPLACE_GMTIME=1
+  REPLACE_LOCALTIME=1
+])
+
+# Prerequisites of lib/gettimeofday.c.
+AC_DEFUN([gl_PREREQ_GETTIMEOFDAY], [
+  AC_CHECK_HEADERS([sys/timeb.h])
+  AC_CHECK_FUNCS([_ftime])
+])
diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4
index 1ea8e14..519670c 100644
--- a/gl/m4/gnulib-cache.m4
+++ b/gl/m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 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
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4
index 0ae5a9e..35f6195 100644
--- a/gl/m4/gnulib-common.m4
+++ b/gl/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
-# gnulib-common.m4 serial 33
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 35
+dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -49,6 +49,16 @@ AC_DEFUN([gl_COMMON_BODY], [
    is a misnomer outside of parameter lists.  */
 #define _UNUSED_PARAMETER_ _GL_UNUSED
 
+/* gcc supports the "unused" attribute on possibly unused labels, and
+   g++ has since version 4.5.  Note to support C++ as well as C,
+   _GL_UNUSED_LABEL should be used with a trailing ;  */
+#if !defined __cplusplus || __GNUC__ > 4 \
+    || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define _GL_UNUSED_LABEL _GL_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
 /* The __pure__ attribute was added in gcc 2.96.  */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
@@ -375,3 +385,63 @@ AC_DEFUN([gl_CACHE_VAL_SILENT],
   AC_CACHE_VAL([$1], [$2])
   as_echo_n="$saved_as_echo_n"
 ])
+
+# AS_VAR_COPY was added in autoconf 2.63b
+m4_define_default([AS_VAR_COPY],
+[AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])])
+
+# AC_PROG_SED was added in autoconf 2.59b
+m4_ifndef([AC_PROG_SED],
+[AC_DEFUN([AC_PROG_SED],
+[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED,
+    [dnl ac_script should not contain more than 99 commands (for HP-UX sed),
+     dnl but more than about 7000 bytes, to catch a limit in Solaris 8 
/usr/ucb/sed.
+     
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     AS_UNSET([ac_script])
+     if test -z "$SED"; then
+       ac_path_SED_found=false
+       _AS_PATH_WALK([], [
+         for ac_prog in sed gsed; do
+           for ac_exec_ext in '' $ac_executable_extensions; do
+             ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+             AS_EXECUTABLE_P(["$ac_path_SED"]) || continue
+             case `"$ac_path_SED" --version 2>&1` in
+               *GNU*) ac_cv_path_SED=$ac_path_SED ac_path_SED_found=:;;
+               *)
+                 ac_count=0
+                 _AS_ECHO_N([0123456789]) >conftest.in
+                 while :
+                 do
+                   cat conftest.in conftest.in >conftest.tmp
+                   mv conftest.tmp conftest.in
+                   cp conftest.in conftest.nl
+                   echo >> conftest.nl
+                   "$ac_path_SED" -f conftest.sed <conftest.nl >conftest.out 
2>/dev/null || break
+                   diff conftest.out conftest.nl >/dev/null 2>&1 || break
+                   ac_count=`expr $ac_count + 1`
+                   if test $ac_count -gt ${ac_path_SED_max-0}; then
+                     # Best so far, but keep looking for better
+                     ac_cv_path_SED=$ac_path_SED
+                     ac_path_SED_max=$ac_count
+                   fi
+                   test $ac_count -gt 10 && break
+                 done
+                 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+             esac
+             $ac_path_SED_found && break 3
+           done
+         done])
+       if test -z "$ac_cv_path_SED"; then
+         AC_ERROR([no acceptable sed could be found in \$PATH])
+       fi
+     else
+       ac_cv_path_SED=$SED
+     fi
+ SED="$ac_cv_path_SED"
+ AC_SUBST([SED])dnl
+ rm -f conftest.sed
+])])])
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4
index c7ff375..02499a4 100644
--- a/gl/m4/gnulib-comp.m4
+++ b/gl/m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 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
@@ -38,6 +38,7 @@ AC_DEFUN([gl_EARLY],
   m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
   AC_REQUIRE([gl_PROG_AR_RANLIB])
+  # Code from module absolute-header:
   # Code from module alloca-opt:
   # Code from module alloca-opt-tests:
   # Code from module autobuild:
@@ -65,19 +66,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module fdopen:
   # Code from module fdopen-tests:
   # Code from module fgetc-tests:
-  # Code from module float:
-  # Code from module float-tests:
-  # Code from module fpieee:
-  AC_REQUIRE([gl_FP_IEEE])
-  # Code from module fpucw:
   # Code from module fputc-tests:
   # Code from module fread-tests:
-  # Code from module frexp-nolibm:
-  # Code from module frexp-nolibm-tests:
-  # Code from module frexpl-nolibm:
-  # Code from module frexpl-nolibm-tests:
-  # Code from module fseterr:
-  # Code from module fseterr-tests:
   # Code from module fstat:
   # Code from module fstat-tests:
   # Code from module fwrite-tests:
@@ -89,8 +79,9 @@ AC_DEFUN([gl_EARLY],
   # Code from module getopt-gnu:
   # Code from module getopt-posix:
   # Code from module getopt-posix-tests:
-  # Code from module getpagesize:
   # Code from module gettext-h:
+  # Code from module gettimeofday:
+  # Code from module gettimeofday-tests:
   # Code from module gnumakefile:
   # Code from module gnupload:
   # Code from module ignore-value:
@@ -101,12 +92,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module inttypes:
   # Code from module inttypes-incomplete:
   # Code from module inttypes-tests:
-  # Code from module isnand-nolibm:
-  # Code from module isnand-nolibm-tests:
-  # Code from module isnanf-nolibm:
-  # Code from module isnanf-nolibm-tests:
-  # Code from module isnanl-nolibm:
-  # Code from module isnanl-nolibm-tests:
   # Code from module largefile:
   AC_REQUIRE([AC_SYS_LARGEFILE])
   # Code from module lstat:
@@ -116,10 +101,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module malloca:
   # Code from module malloca-tests:
   # Code from module manywarnings:
-  # Code from module math:
-  # Code from module math-tests:
-  # Code from module memchr:
-  # Code from module memchr-tests:
   # Code from module msvc-inval:
   # Code from module msvc-nothrow:
   # Code from module multiarch:
@@ -129,19 +110,11 @@ AC_DEFUN([gl_EARLY],
   # Code from module pathmax:
   # Code from module pathmax-tests:
   # Code from module pmccabe2html:
-  # Code from module printf-frexp:
-  # Code from module printf-frexp-tests:
-  # Code from module printf-frexpl:
-  # Code from module printf-frexpl-tests:
-  # Code from module printf-safe:
   # Code from module progname:
   # Code from module putenv:
   # Code from module same-inode:
   # Code from module setenv:
   # Code from module setenv-tests:
-  # Code from module signbit:
-  # Code from module signbit-tests:
-  # Code from module size_max:
   # Code from module snippet/_Noreturn:
   # Code from module snippet/arg-nonnull:
   # Code from module snippet/c++defs:
@@ -171,6 +144,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module symlink:
   # Code from module symlink-tests:
   # Code from module sys_stat:
+  # Code from module sys_time:
+  # Code from module sys_time-tests:
   # Code from module sys_types:
   # Code from module sys_types-tests:
   # Code from module test-framework-sh:
@@ -182,8 +157,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module update-copyright:
   # Code from module useless-if-before-free:
   # Code from module valgrind-tests:
-  # Code from module vasnprintf:
-  # Code from module vasnprintf-tests:
   # Code from module vc-list-files:
   # Code from module vc-list-files-tests:
   # Code from module verify:
@@ -191,11 +164,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module version-etc:
   # Code from module version-etc-fsf:
   # Code from module version-etc-tests:
-  # Code from module vfprintf-posix:
-  # Code from module vfprintf-posix-tests:
   # Code from module warnings:
   # Code from module wchar:
-  # Code from module xsize:
 ])
 
 # This macro should be invoked from ./configure.ac, in the section
@@ -212,7 +182,6 @@ AC_DEFUN([gl_INIT],
   m4_pushdef([gl_LIBSOURCES_DIR], [])
   gl_COMMON
   gl_source_base='gl'
-  gl_FUNC_ALLOCA
   AC_REQUIRE([gt_CSHARPCOMP])
   AC_CONFIG_FILES([csharpcomp.sh:build-aux/csharpcomp.sh.in])
   # You need to invoke gt_CSHARPEXEC yourself, possibly with arguments.
@@ -227,27 +196,6 @@ AC_DEFUN([gl_INIT],
     [AM_][XGETTEXT_OPTION([--flag=error:3:c-format])
      AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
   AC_REQUIRE([gl_EXTERN_INLINE])
-  gl_FLOAT_H
-  if test $REPLACE_FLOAT_LDBL = 1; then
-    AC_LIBOBJ([float])
-  fi
-  if test $REPLACE_ITOLD = 1; then
-    AC_LIBOBJ([itold])
-  fi
-  gl_FUNC_FREXP_NO_LIBM
-  if test $gl_func_frexp_no_libm != yes; then
-    AC_LIBOBJ([frexp])
-  fi
-  gl_MATH_MODULE_INDICATOR([frexp])
-  gl_FUNC_FREXPL_NO_LIBM
-  if test $HAVE_DECL_FREXPL = 0 || test $gl_func_frexpl_no_libm = no; then
-    AC_LIBOBJ([frexpl])
-  fi
-  gl_MATH_MODULE_INDICATOR([frexpl])
-  gl_FUNC_FSETERR
-  if test $ac_cv_func___fseterr = no; then
-    AC_LIBOBJ([fseterr])
-  fi
   gl_FUNC_GETOPT_GNU
   if test $REPLACE_GETOPT = 1; then
     AC_LIBOBJ([getopt])
@@ -279,30 +227,9 @@ AC_DEFUN([gl_INIT],
           m4_defn([m4_PACKAGE_VERSION])), [1], [],
         [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
           [GNUmakefile=$GNUmakefile])])
-  gl_FUNC_ISNAND_NO_LIBM
-  if test $gl_func_isnand_no_libm != yes; then
-    AC_LIBOBJ([isnand])
-    gl_PREREQ_ISNAND
-  fi
-  gl_FUNC_ISNANF_NO_LIBM
-  if test $gl_func_isnanf_no_libm != yes; then
-    AC_LIBOBJ([isnanf])
-    gl_PREREQ_ISNANF
-  fi
-  gl_FUNC_ISNANL_NO_LIBM
-  if test $gl_func_isnanl_no_libm != yes; then
-    AC_LIBOBJ([isnanl])
-    gl_PREREQ_ISNANL
-  fi
   AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
     [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
-  gl_MATH_H
-  gl_FUNC_MEMCHR
-  if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
-    AC_LIBOBJ([memchr])
-    gl_PREREQ_MEMCHR
-  fi
-  gl_STRING_MODULE_INDICATOR([memchr])
+  AC_REQUIRE([AC_PROG_SED])
   gl_MSVC_INVAL
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
     AC_LIBOBJ([msvc-inval])
@@ -311,25 +238,12 @@ AC_DEFUN([gl_INIT],
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
     AC_LIBOBJ([msvc-nothrow])
   fi
-  gl_MULTIARCH
   AC_PATH_PROG([PMCCABE], [pmccabe], [false])
-  gl_FUNC_PRINTF_FREXP
-  gl_FUNC_PRINTF_FREXPL
-  m4_divert_text([INIT_PREPARE], [gl_printf_safe=yes])
   AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
   AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
-  gl_SIGNBIT
-  if test $REPLACE_SIGNBIT = 1; then
-    AC_LIBOBJ([signbitf])
-    AC_LIBOBJ([signbitd])
-    AC_LIBOBJ([signbitl])
-  fi
-  gl_MATH_MODULE_INDICATOR([signbit])
-  gl_SIZE_MAX
   gt_TYPE_SSIZE_T
   gl_STDARG_H
   gl_STDDEF_H
-  gl_STDINT_H
   gl_STDIO_H
   gl_FUNC_STRERROR
   if test $REPLACE_STRERROR = 1; then
@@ -348,12 +262,7 @@ AC_DEFUN([gl_INIT],
   AC_PROG_MKDIR_P
   gl_UNISTD_H
   gl_VALGRIND_TESTS
-  gl_FUNC_VASNPRINTF
   gl_VERSION_ETC
-  gl_FUNC_VFPRINTF_POSIX
-  gl_STDIO_MODULE_INDICATOR([vfprintf-posix])
-  gl_WCHAR_H
-  gl_XSIZE
   # End of code from modules
   m4_ifval(gl_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
@@ -400,6 +309,7 @@ changequote([, ])dnl
   AC_SUBST([gltests_WITNESS])
   gl_module_indicator_condition=$gltests_WITNESS
   m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
+  gl_FUNC_ALLOCA
   gl_FUNC_CLOSE
   if test $REPLACE_CLOSE = 1; then
     AC_LIBOBJ([close])
@@ -437,17 +347,14 @@ changequote([, ])dnl
     gl_PREREQ_GETDTABLESIZE
   fi
   gl_UNISTD_MODULE_INDICATOR([getdtablesize])
-  gl_FUNC_GETPAGESIZE
-  if test $REPLACE_GETPAGESIZE = 1; then
-    AC_LIBOBJ([getpagesize])
+  gl_FUNC_GETTIMEOFDAY
+  if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
+    AC_LIBOBJ([gettimeofday])
+    gl_PREREQ_GETTIMEOFDAY
   fi
-  gl_UNISTD_MODULE_INDICATOR([getpagesize])
+  gl_SYS_TIME_MODULE_INDICATOR([gettimeofday])
   gl_INTTYPES_H
   gl_INTTYPES_INCOMPLETE
-  gl_DOUBLE_EXPONENT_LOCATION
-  gl_FLOAT_EXPONENT_LOCATION
-  gl_LONG_DOUBLE_EXPONENT_LOCATION
-  AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
   AC_REQUIRE([gl_LARGEFILE])
   gl_FUNC_LSTAT
   if test $REPLACE_LSTAT = 1; then
@@ -461,10 +368,7 @@ changequote([, ])dnl
   fi
   gl_STDLIB_MODULE_INDICATOR([malloc-posix])
   gl_MALLOCA
-  dnl Check for prerequisites for memory fence checks.
-  gl_FUNC_MMAP_ANON
-  AC_CHECK_HEADERS_ONCE([sys/mman.h])
-  AC_CHECK_FUNCS_ONCE([mprotect])
+  gl_MULTIARCH
   gl_FUNC_OPEN
   if test $REPLACE_OPEN = 1; then
     AC_LIBOBJ([open])
@@ -483,9 +387,6 @@ changequote([, ])dnl
     AC_LIBOBJ([setenv])
   fi
   gl_STDLIB_MODULE_INDICATOR([setenv])
-  AC_REQUIRE([gl_FLOAT_EXPONENT_LOCATION])
-  AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION])
-  AC_REQUIRE([gl_LONG_DOUBLE_EXPONENT_LOCATION])
   gl_FUNC_STAT
   if test $REPLACE_STAT = 1; then
     AC_LIBOBJ([stat])
@@ -493,6 +394,7 @@ changequote([, ])dnl
   fi
   gl_SYS_STAT_MODULE_INDICATOR([stat])
   AM_STDBOOL_H
+  gl_STDINT_H
   AC_REQUIRE([gt_TYPE_WCHAR_T])
   AC_REQUIRE([gt_TYPE_WINT_T])
   gl_STDLIB_H
@@ -503,6 +405,8 @@ changequote([, ])dnl
   gl_UNISTD_MODULE_INDICATOR([symlink])
   gl_HEADER_SYS_STAT_H
   AC_PROG_MKDIR_P
+  gl_HEADER_SYS_TIME_H
+  AC_PROG_MKDIR_P
   gl_HEADER_TIME_H
   gl_FUNC_UNSETENV
   if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
@@ -513,6 +417,7 @@ changequote([, ])dnl
   gl_VALGRIND_TESTS
   abs_aux_dir=`cd "$ac_aux_dir"; pwd`
   AC_SUBST([abs_aux_dir])
+  gl_WCHAR_H
   m4_popdef([gl_MODULE_INDICATOR_CONDITION])
   m4_ifval(gltests_LIBSOURCES_LIST, [
     m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ ||
@@ -620,59 +525,23 @@ AC_DEFUN([gl_FILE_LIST], [
   build-aux/vc-list-files
   doc/fdl-1.3.texi
   doc/gendocs_template
-  lib/alloca.in.h
-  lib/asnprintf.c
   lib/errno.in.h
   lib/error.c
   lib/error.h
-  lib/float+.h
-  lib/float.c
-  lib/float.in.h
-  lib/fpucw.h
-  lib/frexp.c
-  lib/frexpl.c
-  lib/fseterr.c
-  lib/fseterr.h
   lib/getopt.c
   lib/getopt.in.h
   lib/getopt1.c
   lib/getopt_int.h
   lib/gettext.h
   lib/intprops.h
-  lib/isnan.c
-  lib/isnand-nolibm.h
-  lib/isnand.c
-  lib/isnanf-nolibm.h
-  lib/isnanf.c
-  lib/isnanl-nolibm.h
-  lib/isnanl.c
-  lib/itold.c
-  lib/math.c
-  lib/math.in.h
-  lib/memchr.c
-  lib/memchr.valgrind
   lib/msvc-inval.c
   lib/msvc-inval.h
   lib/msvc-nothrow.c
   lib/msvc-nothrow.h
-  lib/printf-args.c
-  lib/printf-args.h
-  lib/printf-frexp.c
-  lib/printf-frexp.h
-  lib/printf-frexpl.c
-  lib/printf-frexpl.h
-  lib/printf-parse.c
-  lib/printf-parse.h
   lib/progname.c
   lib/progname.h
-  lib/signbitd.c
-  lib/signbitf.c
-  lib/signbitl.c
-  lib/size_max.h
   lib/stdarg.in.h
   lib/stddef.in.h
-  lib/stdint.in.h
-  lib/stdio-impl.h
   lib/stdio.in.h
   lib/strerror-override.c
   lib/strerror-override.h
@@ -681,16 +550,11 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/sys_types.in.h
   lib/unistd.c
   lib/unistd.in.h
-  lib/vasnprintf.c
-  lib/vasnprintf.h
   lib/verify.h
   lib/version-etc.c
   lib/version-etc.h
-  lib/vfprintf.c
-  lib/wchar.in.h
-  lib/xsize.c
-  lib/xsize.h
   m4/00gnulib.m4
+  m4/absolute-header.m4
   m4/alloca.m4
   m4/autobuild.m4
   m4/close.m4
@@ -702,43 +566,26 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/environ.m4
   m4/errno_h.m4
   m4/error.m4
-  m4/exponentd.m4
-  m4/exponentf.m4
-  m4/exponentl.m4
   m4/extensions.m4
   m4/extern-inline.m4
   m4/fcntl-o.m4
   m4/fcntl_h.m4
   m4/fdopen.m4
-  m4/float_h.m4
-  m4/fpieee.m4
-  m4/frexp.m4
-  m4/frexpl.m4
-  m4/fseterr.m4
   m4/fstat.m4
   m4/getcwd.m4
   m4/getdtablesize.m4
   m4/getopt.m4
-  m4/getpagesize.m4
+  m4/gettimeofday.m4
   m4/gnulib-common.m4
   m4/include_next.m4
-  m4/intmax_t.m4
   m4/inttypes-pri.m4
   m4/inttypes.m4
-  m4/inttypes_h.m4
-  m4/isnand.m4
-  m4/isnanf.m4
-  m4/isnanl.m4
   m4/largefile.m4
-  m4/ldexpl.m4
   m4/longlong.m4
   m4/lstat.m4
   m4/malloc.m4
   m4/malloca.m4
   m4/manywarnings.m4
-  m4/math_h.m4
-  m4/memchr.m4
-  m4/mmap-anon.m4
   m4/mode_t.m4
   m4/msvc-inval.m4
   m4/msvc-nothrow.m4
@@ -747,20 +594,14 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/off_t.m4
   m4/open.m4
   m4/pathmax.m4
-  m4/printf-frexp.m4
-  m4/printf-frexpl.m4
-  m4/printf.m4
   m4/putenv.m4
   m4/setenv.m4
-  m4/signbit.m4
-  m4/size_max.m4
   m4/ssize_t.m4
   m4/stat.m4
   m4/stdarg.m4
   m4/stdbool.m4
   m4/stddef_h.m4
   m4/stdint.m4
-  m4/stdint_h.m4
   m4/stdio_h.m4
   m4/stdlib_h.m4
   m4/strerror.m4
@@ -768,26 +609,19 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/symlink.m4
   m4/sys_socket_h.m4
   m4/sys_stat_h.m4
+  m4/sys_time_h.m4
   m4/sys_types_h.m4
   m4/time_h.m4
   m4/unistd_h.m4
   m4/valgrind-tests.m4
-  m4/vasnprintf.m4
   m4/version-etc.m4
-  m4/vfprintf-posix.m4
   m4/warn-on-use.m4
   m4/warnings.m4
   m4/wchar_h.m4
   m4/wchar_t.m4
   m4/wint_t.m4
-  m4/xsize.m4
-  tests/infinity.h
   tests/init.sh
   tests/macros.h
-  tests/minus-zero.h
-  tests/nan.h
-  tests/randomd.c
-  tests/randoml.c
   tests/signature.h
   tests/test-alloca-opt.c
   tests/test-binary-io.c
@@ -798,14 +632,8 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-errno.c
   tests/test-fdopen.c
   tests/test-fgetc.c
-  tests/test-float.c
-  tests/test-fprintf-posix.h
   tests/test-fputc.c
   tests/test-fread.c
-  tests/test-frexp.c
-  tests/test-frexp.h
-  tests/test-frexpl.c
-  tests/test-fseterr.c
   tests/test-fstat.c
   tests/test-fwrite.c
   tests/test-getcwd-lgpl.c
@@ -813,29 +641,18 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-getopt.c
   tests/test-getopt.h
   tests/test-getopt_long.h
+  tests/test-gettimeofday.c
   tests/test-ignore-value.c
   tests/test-init.sh
   tests/test-intprops.c
   tests/test-inttypes.c
-  tests/test-isnand-nolibm.c
-  tests/test-isnand.h
-  tests/test-isnanf-nolibm.c
-  tests/test-isnanf.h
-  tests/test-isnanl-nolibm.c
-  tests/test-isnanl.h
   tests/test-lstat.c
   tests/test-lstat.h
   tests/test-malloca.c
-  tests/test-math.c
-  tests/test-memchr.c
   tests/test-open.c
   tests/test-open.h
   tests/test-pathmax.c
-  tests/test-printf-frexp.c
-  tests/test-printf-frexpl.c
-  tests/test-printf-posix.output
   tests/test-setenv.c
-  tests/test-signbit.c
   tests/test-stat.c
   tests/test-stat.h
   tests/test-stdbool.c
@@ -845,18 +662,16 @@ AC_DEFUN([gl_FILE_LIST], [
   tests/test-strerror.c
   tests/test-symlink.c
   tests/test-symlink.h
+  tests/test-sys_time.c
   tests/test-sys_types.c
   tests/test-unsetenv.c
-  tests/test-vasnprintf.c
   tests/test-vc-list-files-cvs.sh
   tests/test-vc-list-files-git.sh
   tests/test-verify.c
   tests/test-verify.sh
   tests/test-version-etc.c
   tests/test-version-etc.sh
-  tests/test-vfprintf-posix.c
-  tests/test-vfprintf-posix.sh
-  tests/zerosize-ptr.h
+  tests=lib/alloca.in.h
   tests=lib/binary-io.c
   tests=lib/binary-io.h
   tests=lib/close.c
@@ -869,7 +684,7 @@ AC_DEFUN([gl_FILE_LIST], [
   tests=lib/fstat.c
   tests=lib/getcwd-lgpl.c
   tests=lib/getdtablesize.c
-  tests=lib/getpagesize.c
+  tests=lib/gettimeofday.c
   tests=lib/ignore-value.h
   tests=lib/inttypes.in.h
   tests=lib/lstat.c
@@ -884,12 +699,15 @@ AC_DEFUN([gl_FILE_LIST], [
   tests=lib/setenv.c
   tests=lib/stat.c
   tests=lib/stdbool.in.h
+  tests=lib/stdint.in.h
   tests=lib/stdlib.in.h
   tests=lib/symlink.c
   tests=lib/sys_stat.in.h
+  tests=lib/sys_time.in.h
   tests=lib/time.in.h
   tests=lib/unsetenv.c
   tests=lib/version-etc-fsf.c
+  tests=lib/wchar.in.h
   top/GNUmakefile
   top/maint.mk
 ])
diff --git a/gl/m4/gnulib-tool.m4 b/gl/m4/gnulib-tool.m4
index f3dea1a..a588e15 100644
--- a/gl/m4/gnulib-tool.m4
+++ b/gl/m4/gnulib-tool.m4
@@ -1,5 +1,5 @@
 # gnulib-tool.m4 serial 2
-dnl Copyright (C) 2004-2005, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/include_next.m4 b/gl/m4/include_next.m4
index 108d945..69ad3db 100644
--- a/gl/m4/include_next.m4
+++ b/gl/m4/include_next.m4
@@ -1,5 +1,5 @@
 # include_next.m4 serial 23
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -192,56 +192,9 @@ dnl until we can assume autoconf 2.64 or newer.
              if test AS_VAR_GET(gl_header_exists) = yes; then
              AS_VAR_POPDEF([gl_header_exists])
             ])
-               AC_LANG_CONFTEST(
-                 [AC_LANG_SOURCE(
-                    [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
-                  )])
-               dnl AIX "xlc -E" and "cc -E" omit #line directives for header
-               dnl files that contain only a #include of other header files and
-               dnl no non-comment tokens of their own. This leads to a failure
-               dnl to detect the absolute name of <dirent.h>, <signal.h>,
-               dnl <poll.h> and others. The workaround is to force preservation
-               dnl of comments through option -C. This ensures all necessary
-               dnl #line directives are present. GCC supports option -C as 
well.
-               case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
-changequote(,)
-               case "$host_os" in
-                 mingw*)
-                   dnl For the sake of native Windows compilers (excluding 
gcc),
-                   dnl treat backslash as a directory separator, like /.
-                   dnl Actually, these compilers use a double-backslash as
-                   dnl directory separator, inside the
-                   dnl   # line "filename"
-                   dnl directives.
-                   gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-               dnl A sed expression that turns a string into a basic regular
-               dnl expression, for use within "/.../".
-               gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-changequote([,])
-               gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               
gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   
s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-changequote(,)dnl
-                   s|^/[^/]|//&|
-changequote([,])dnl
-                   p
-                   q
-                 }'
-               dnl eval is necessary to expand gl_absname_cpp.
-               dnl Ultrix and Pyramid sh refuse to redirect output of eval,
-               dnl so use subshell.
-               AS_VAR_SET(gl_next_header,
-                 ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 
2>&AS_MESSAGE_LOG_FD |
-                      sed -n "$gl_absolute_header_sed"`'"'])
+           gl_ABSOLUTE_HEADER_ONE(gl_HEADER_NAME)
+           AS_VAR_COPY([gl_header], [gl_cv_absolute_]AS_TR_SH(gl_HEADER_NAME))
+           AS_VAR_SET(gl_next_header, ['"'$gl_header'"'])
           m4_if([$2], [check],
             [else
                AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
diff --git a/gl/m4/intmax_t.m4 b/gl/m4/intmax_t.m4
deleted file mode 100644
index 6ea7053..0000000
--- a/gl/m4/intmax_t.m4
+++ /dev/null
@@ -1,67 +0,0 @@
-# intmax_t.m4 serial 8
-dnl Copyright (C) 1997-2004, 2006-2007, 2009-2013 Free Software Foundation,
-dnl Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paul Eggert.
-
-AC_PREREQ([2.53])
-
-# Define intmax_t to 'long' or 'long long'
-# if it is not already defined in <stdint.h> or <inttypes.h>.
-
-AC_DEFUN([gl_AC_TYPE_INTMAX_T],
-[
-  dnl For simplicity, we assume that a header file defines 'intmax_t' if and
-  dnl only if it defines 'uintmax_t'.
-  AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
-  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
-  if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; 
then
-    AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
-    test $ac_cv_type_long_long_int = yes \
-      && ac_type='long long' \
-      || ac_type='long'
-    AC_DEFINE_UNQUOTED([intmax_t], [$ac_type],
-     [Define to long or long long if <inttypes.h> and <stdint.h> don't 
define.])
-  else
-    AC_DEFINE([HAVE_INTMAX_T], [1],
-      [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
-  fi
-])
-
-dnl An alternative would be to explicitly test for 'intmax_t'.
-
-AC_DEFUN([gt_AC_TYPE_INTMAX_T],
-[
-  AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
-  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
-  AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t],
-    [AC_COMPILE_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[
-#include <stddef.h>
-#include <stdlib.h>
-#if HAVE_STDINT_H_WITH_UINTMAX
-#include <stdint.h>
-#endif
-#if HAVE_INTTYPES_H_WITH_UINTMAX
-#include <inttypes.h>
-#endif
-          ]],
-          [[intmax_t x = -1; return !x;]])],
-       [gt_cv_c_intmax_t=yes],
-       [gt_cv_c_intmax_t=no])])
-  if test $gt_cv_c_intmax_t = yes; then
-    AC_DEFINE([HAVE_INTMAX_T], [1],
-      [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
-  else
-    AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
-    test $ac_cv_type_long_long_int = yes \
-      && ac_type='long long' \
-      || ac_type='long'
-    AC_DEFINE_UNQUOTED([intmax_t], [$ac_type],
-     [Define to long or long long if <stdint.h> and <inttypes.h> don't 
define.])
-  fi
-])
diff --git a/gl/m4/inttypes-pri.m4 b/gl/m4/inttypes-pri.m4
index e5a1e05..00251e1 100644
--- a/gl/m4/inttypes-pri.m4
+++ b/gl/m4/inttypes-pri.m4
@@ -1,5 +1,5 @@
 # inttypes-pri.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1997-2002, 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2002, 2006, 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/inttypes.m4 b/gl/m4/inttypes.m4
index b06c777..2f9317d 100644
--- a/gl/m4/inttypes.m4
+++ b/gl/m4/inttypes.m4
@@ -1,5 +1,5 @@
 # inttypes.m4 serial 26
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/inttypes_h.m4 b/gl/m4/inttypes_h.m4
deleted file mode 100644
index 5f05ac5..0000000
--- a/gl/m4/inttypes_h.m4
+++ /dev/null
@@ -1,29 +0,0 @@
-# inttypes_h.m4 serial 10
-dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paul Eggert.
-
-# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
-# doesn't clash with <sys/types.h>, and declares uintmax_t.
-
-AC_DEFUN([gl_AC_HEADER_INTTYPES_H],
-[
-  AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h],
-    [AC_COMPILE_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[
-#include <sys/types.h>
-#include <inttypes.h>
-          ]],
-          [[uintmax_t i = (uintmax_t) -1; return !i;]])],
-       [gl_cv_header_inttypes_h=yes],
-       [gl_cv_header_inttypes_h=no])])
-  if test $gl_cv_header_inttypes_h = yes; then
-    AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1],
-      [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
-       and declares uintmax_t. ])
-  fi
-])
diff --git a/gl/m4/isnand.m4 b/gl/m4/isnand.m4
deleted file mode 100644
index ee05e0f..0000000
--- a/gl/m4/isnand.m4
+++ /dev/null
@@ -1,96 +0,0 @@
-# isnand.m4 serial 11
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Check how to get or define isnand().
-
-AC_DEFUN([gl_FUNC_ISNAND],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  ISNAND_LIBM=
-  gl_HAVE_ISNAND_NO_LIBM
-  if test $gl_cv_func_isnand_no_libm = no; then
-    gl_HAVE_ISNAND_IN_LIBM
-    if test $gl_cv_func_isnand_in_libm = yes; then
-      ISNAND_LIBM=-lm
-    fi
-  fi
-  dnl The variable gl_func_isnand set here is used by isnan.m4.
-  if test $gl_cv_func_isnand_no_libm = yes \
-     || test $gl_cv_func_isnand_in_libm = yes; then
-    gl_func_isnand=yes
-  else
-    gl_func_isnand=no
-    HAVE_ISNAND=0
-  fi
-  AC_SUBST([ISNAND_LIBM])
-])
-
-dnl Check how to get or define isnand() without linking with libm.
-
-AC_DEFUN([gl_FUNC_ISNAND_NO_LIBM],
-[
-  gl_HAVE_ISNAND_NO_LIBM
-  gl_func_isnand_no_libm=$gl_cv_func_isnand_no_libm
-  if test $gl_cv_func_isnand_no_libm = yes; then
-    AC_DEFINE([HAVE_ISNAND_IN_LIBC], [1],
-      [Define if the isnan(double) function is available in libc.])
-  fi
-])
-
-dnl Prerequisites of replacement isnand definition. It does not need -lm.
-AC_DEFUN([gl_PREREQ_ISNAND],
-[
-  AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION])
-])
-
-dnl Test whether isnand() can be used with libm.
-
-AC_DEFUN([gl_HAVE_ISNAND_IN_LIBM],
-[
-  AC_CACHE_CHECK([whether isnan(double) can be used with libm],
-    [gl_cv_func_isnand_in_libm],
-    [
-      save_LIBS="$LIBS"
-      LIBS="$LIBS -lm"
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <math.h>
-             #if __GNUC__ >= 4
-             # undef isnand
-             # define isnand(x) __builtin_isnan ((double)(x))
-             #elif defined isnan
-             # undef isnand
-             # define isnand(x) isnan ((double)(x))
-             #endif
-             double x;]],
-           [[return isnand (x);]])],
-        [gl_cv_func_isnand_in_libm=yes],
-        [gl_cv_func_isnand_in_libm=no])
-      LIBS="$save_LIBS"
-    ])
-])
-
-AC_DEFUN([gl_HAVE_ISNAND_NO_LIBM],
-[
-  AC_CACHE_CHECK([whether isnan(double) can be used without linking with libm],
-    [gl_cv_func_isnand_no_libm],
-    [
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <math.h>
-             #if __GNUC__ >= 4
-             # undef isnand
-             # define isnand(x) __builtin_isnan ((double)(x))
-             #else
-             # undef isnand
-             # define isnand(x) isnan ((double)(x))
-             #endif
-             double x;]],
-           [[return isnand (x);]])],
-        [gl_cv_func_isnand_no_libm=yes],
-        [gl_cv_func_isnand_no_libm=no])
-    ])
-])
diff --git a/gl/m4/isnanf.m4 b/gl/m4/isnanf.m4
deleted file mode 100644
index f01886a..0000000
--- a/gl/m4/isnanf.m4
+++ /dev/null
@@ -1,188 +0,0 @@
-# isnanf.m4 serial 14
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Check how to get or define isnanf().
-
-AC_DEFUN([gl_FUNC_ISNANF],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  ISNANF_LIBM=
-  gl_HAVE_ISNANF_NO_LIBM
-  if test $gl_cv_func_isnanf_no_libm = no; then
-    gl_HAVE_ISNANF_IN_LIBM
-    if test $gl_cv_func_isnanf_in_libm = yes; then
-      ISNANF_LIBM=-lm
-    fi
-  fi
-  dnl The variable gl_func_isnanf set here is used by isnan.m4.
-  if test $gl_cv_func_isnanf_no_libm = yes \
-     || test $gl_cv_func_isnanf_in_libm = yes; then
-    save_LIBS="$LIBS"
-    LIBS="$LIBS $ISNANF_LIBM"
-    gl_ISNANF_WORKS
-    LIBS="$save_LIBS"
-    case "$gl_cv_func_isnanf_works" in
-      *yes) gl_func_isnanf=yes ;;
-      *)    gl_func_isnanf=no; ISNANF_LIBM= ;;
-    esac
-  else
-    gl_func_isnanf=no
-  fi
-  if test $gl_func_isnanf != yes; then
-    HAVE_ISNANF=0
-  fi
-  AC_SUBST([ISNANF_LIBM])
-])
-
-dnl Check how to get or define isnanf() without linking with libm.
-
-AC_DEFUN([gl_FUNC_ISNANF_NO_LIBM],
-[
-  gl_HAVE_ISNANF_NO_LIBM
-  if test $gl_cv_func_isnanf_no_libm = yes; then
-    gl_ISNANF_WORKS
-  fi
-  if test $gl_cv_func_isnanf_no_libm = yes \
-     && { case "$gl_cv_func_isnanf_works" in
-            *yes) true;;
-            *) false;;
-          esac
-        }; then
-    gl_func_isnanf_no_libm=yes
-    AC_DEFINE([HAVE_ISNANF_IN_LIBC], [1],
-      [Define if the isnan(float) function is available in libc.])
-  else
-    gl_func_isnanf_no_libm=no
-  fi
-])
-
-dnl Prerequisites of replacement isnanf definition. It does not need -lm.
-AC_DEFUN([gl_PREREQ_ISNANF],
-[
-  gl_FLOAT_EXPONENT_LOCATION
-])
-
-dnl Test whether isnanf() can be used without libm.
-AC_DEFUN([gl_HAVE_ISNANF_NO_LIBM],
-[
-  AC_CACHE_CHECK([whether isnan(float) can be used without linking with libm],
-    [gl_cv_func_isnanf_no_libm],
-    [
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <math.h>
-             #if __GNUC__ >= 4
-             # undef isnanf
-             # define isnanf(x) __builtin_isnanf ((float)(x))
-             #elif defined isnan
-             # undef isnanf
-             # define isnanf(x) isnan ((float)(x))
-             #endif
-             float x;]],
-           [[return isnanf (x);]])],
-        [gl_cv_func_isnanf_no_libm=yes],
-        [gl_cv_func_isnanf_no_libm=no])
-    ])
-])
-
-dnl Test whether isnanf() can be used with libm.
-AC_DEFUN([gl_HAVE_ISNANF_IN_LIBM],
-[
-  AC_CACHE_CHECK([whether isnan(float) can be used with libm],
-    [gl_cv_func_isnanf_in_libm],
-    [
-      save_LIBS="$LIBS"
-      LIBS="$LIBS -lm"
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <math.h>
-             #if __GNUC__ >= 4
-             # undef isnanf
-             # define isnanf(x) __builtin_isnanf ((float)(x))
-             #elif defined isnan
-             # undef isnanf
-             # define isnanf(x) isnan ((float)(x))
-             #endif
-             float x;]],
-           [[return isnanf (x);]])],
-        [gl_cv_func_isnanf_in_libm=yes],
-        [gl_cv_func_isnanf_in_libm=no])
-      LIBS="$save_LIBS"
-    ])
-])
-
-dnl Test whether isnanf() rejects Infinity (this fails on Solaris 2.5.1),
-dnl recognizes a NaN (this fails on IRIX 6.5 with cc), and recognizes a NaN
-dnl with in-memory representation 0x7fbfffff (this fails on IRIX 6.5).
-AC_DEFUN([gl_ISNANF_WORKS],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_REQUIRE([gl_FLOAT_EXPONENT_LOCATION])
-  AC_CACHE_CHECK([whether isnan(float) works], [gl_cv_func_isnanf_works],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <math.h>
-#if __GNUC__ >= 4
-# undef isnanf
-# define isnanf(x) __builtin_isnanf ((float)(x))
-#elif defined isnan
-# undef isnanf
-# define isnanf(x) isnan ((float)(x))
-#endif
-/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0.  */
-#ifdef __DECC
-static float
-NaN ()
-{
-  static float zero = 0.0f;
-  return zero / zero;
-}
-#else
-# define NaN() (0.0f / 0.0f)
-#endif
-#define NWORDS \
-  ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { unsigned int word[NWORDS]; float value; } memory_float;
-int main()
-{
-  int result = 0;
-
-  if (isnanf (1.0f / 0.0f))
-    result |= 1;
-
-  if (!isnanf (NaN ()))
-    result |= 2;
-
-#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
-  /* The isnanf function should be immune against changes in the sign bit and
-     in the mantissa bits.  The xor operation twiddles a bit that can only be
-     a sign bit or a mantissa bit.  */
-  if (FLT_EXPBIT0_WORD == 0 && FLT_EXPBIT0_BIT > 0)
-    {
-      memory_float m;
-
-      m.value = NaN ();
-      /* Set the bits below the exponent to 01111...111.  */
-      m.word[0] &= -1U << FLT_EXPBIT0_BIT;
-      m.word[0] |= 1U << (FLT_EXPBIT0_BIT - 1) - 1;
-      if (!isnanf (m.value))
-        result |= 4;
-    }
-#endif
-
-  return result;
-}]])],
-        [gl_cv_func_isnanf_works=yes],
-        [gl_cv_func_isnanf_works=no],
-        [case "$host_os" in
-           irix* | solaris*) gl_cv_func_isnanf_works="guessing no";;
-           *)                gl_cv_func_isnanf_works="guessing yes";;
-         esac
-        ])
-    ])
-])
diff --git a/gl/m4/isnanl.m4 b/gl/m4/isnanl.m4
deleted file mode 100644
index ed5bbf8..0000000
--- a/gl/m4/isnanl.m4
+++ /dev/null
@@ -1,255 +0,0 @@
-# isnanl.m4 serial 17
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_ISNANL],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  ISNANL_LIBM=
-  gl_HAVE_ISNANL_NO_LIBM
-  if test $gl_cv_func_isnanl_no_libm = no; then
-    gl_HAVE_ISNANL_IN_LIBM
-    if test $gl_cv_func_isnanl_in_libm = yes; then
-      ISNANL_LIBM=-lm
-    fi
-  fi
-  dnl The variable gl_func_isnanl set here is used by isnan.m4.
-  if test $gl_cv_func_isnanl_no_libm = yes \
-     || test $gl_cv_func_isnanl_in_libm = yes; then
-    save_LIBS="$LIBS"
-    LIBS="$LIBS $ISNANL_LIBM"
-    gl_FUNC_ISNANL_WORKS
-    LIBS="$save_LIBS"
-    case "$gl_cv_func_isnanl_works" in
-      *yes) gl_func_isnanl=yes ;;
-      *)    gl_func_isnanl=no; ISNANL_LIBM= ;;
-    esac
-  else
-    gl_func_isnanl=no
-  fi
-  if test $gl_func_isnanl != yes; then
-    HAVE_ISNANL=0
-  fi
-  AC_SUBST([ISNANL_LIBM])
-])
-
-AC_DEFUN([gl_FUNC_ISNANL_NO_LIBM],
-[
-  gl_HAVE_ISNANL_NO_LIBM
-  gl_func_isnanl_no_libm=$gl_cv_func_isnanl_no_libm
-  if test $gl_func_isnanl_no_libm = yes; then
-    gl_FUNC_ISNANL_WORKS
-    case "$gl_cv_func_isnanl_works" in
-      *yes) ;;
-      *)    gl_func_isnanl_no_libm=no ;;
-    esac
-  fi
-  if test $gl_func_isnanl_no_libm = yes; then
-    AC_DEFINE([HAVE_ISNANL_IN_LIBC], [1],
-      [Define if the isnan(long double) function is available in libc.])
-  fi
-])
-
-dnl Prerequisites of replacement isnanl definition. It does not need -lm.
-AC_DEFUN([gl_PREREQ_ISNANL],
-[
-  gl_LONG_DOUBLE_EXPONENT_LOCATION
-  AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
-])
-
-dnl Test whether isnanl() can be used without libm.
-AC_DEFUN([gl_HAVE_ISNANL_NO_LIBM],
-[
-  AC_CACHE_CHECK([whether isnan(long double) can be used without linking with 
libm],
-    [gl_cv_func_isnanl_no_libm],
-    [
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <math.h>
-             #if __GNUC__ >= 4
-             # undef isnanl
-             # define isnanl(x) __builtin_isnanl ((long double)(x))
-             #elif defined isnan
-             # undef isnanl
-             # define isnanl(x) isnan ((long double)(x))
-             #endif
-             long double x;]],
-           [[return isnanl (x);]])],
-        [gl_cv_func_isnanl_no_libm=yes],
-        [gl_cv_func_isnanl_no_libm=no])
-    ])
-])
-
-dnl Test whether isnanl() can be used with libm.
-AC_DEFUN([gl_HAVE_ISNANL_IN_LIBM],
-[
-  AC_CACHE_CHECK([whether isnan(long double) can be used with libm],
-    [gl_cv_func_isnanl_in_libm],
-    [
-      save_LIBS="$LIBS"
-      LIBS="$LIBS -lm"
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <math.h>
-             #if __GNUC__ >= 4
-             # undef isnanl
-             # define isnanl(x) __builtin_isnanl ((long double)(x))
-             #elif defined isnan
-             # undef isnanl
-             # define isnanl(x) isnan ((long double)(x))
-             #endif
-             long double x;]],
-           [[return isnanl (x);]])],
-        [gl_cv_func_isnanl_in_libm=yes],
-        [gl_cv_func_isnanl_in_libm=no])
-      LIBS="$save_LIBS"
-    ])
-])
-
-dnl Test whether isnanl() recognizes all numbers which are neither finite nor
-dnl infinite. This test fails e.g. on NetBSD/i386 and on glibc/ia64.
-dnl Also, the GCC >= 4.0 built-in __builtin_isnanl does not pass the tests
-dnl - for pseudo-denormals on i686 and x86_64,
-dnl - for pseudo-zeroes, unnormalized numbers, and pseudo-denormals on ia64.
-AC_DEFUN([gl_FUNC_ISNANL_WORKS],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([gl_BIGENDIAN])
-  AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether isnanl works], [gl_cv_func_isnanl_works],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <float.h>
-#include <limits.h>
-#include <math.h>
-#if __GNUC__ >= 4
-# undef isnanl
-# define isnanl(x) __builtin_isnanl ((long double)(x))
-#elif defined isnan
-# undef isnanl
-# define isnanl(x) isnan ((long double)(x))
-#endif
-#define NWORDS \
-  ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { unsigned int word[NWORDS]; long double value; }
-        memory_long_double;
-/* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
-   runtime type conversion.  */
-#ifdef __sgi
-static long double NaNl ()
-{
-  double zero = 0.0;
-  return zero / zero;
-}
-#else
-# define NaNl() (0.0L / 0.0L)
-#endif
-int main ()
-{
-  int result = 0;
-
-  if (!isnanl (NaNl ()))
-    result |= 1;
-
-  {
-    memory_long_double m;
-    unsigned int i;
-
-    /* The isnanl function should be immune against changes in the sign bit and
-       in the mantissa bits.  The xor operation twiddles a bit that can only be
-       a sign bit or a mantissa bit (since the exponent never extends to
-       bit 31).  */
-    m.value = NaNl ();
-    m.word[NWORDS / 2] ^= (unsigned int) 1 << (sizeof (unsigned int) * 
CHAR_BIT - 1);
-    for (i = 0; i < NWORDS; i++)
-      m.word[i] |= 1;
-    if (!isnanl (m.value))
-      result |= 1;
-  }
-
-#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
-#  define LDBL80_WORDS(exponent,manthi,mantlo) \
-     { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
-       ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16),    \
-       (unsigned int) (mantlo) << 16                                        \
-     }
-# else
-#  define LDBL80_WORDS(exponent,manthi,mantlo) \
-     { mantlo, manthi, exponent }
-# endif
-  { /* Quiet NaN.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
-    if (!isnanl (x.value))
-      result |= 2;
-  }
-  {
-    /* Signalling NaN.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
-    if (!isnanl (x.value))
-      result |= 2;
-  }
-  /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities,
-     Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in
-       Intel IA-64 Architecture Software Developer's Manual, Volume 1:
-       Application Architecture.
-       Table 5-2 "Floating-Point Register Encodings"
-       Figure 5-6 "Memory to Floating-Point Register Data Translation"
-   */
-  { /* Pseudo-NaN.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
-    if (!isnanl (x.value))
-      result |= 4;
-  }
-  { /* Pseudo-Infinity.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
-    if (!isnanl (x.value))
-      result |= 8;
-  }
-  { /* Pseudo-Zero.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
-    if (!isnanl (x.value))
-      result |= 16;
-  }
-  { /* Unnormalized number.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
-    if (!isnanl (x.value))
-      result |= 32;
-  }
-  { /* Pseudo-Denormal.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
-    if (!isnanl (x.value))
-      result |= 64;
-  }
-#endif
-
-  return result;
-}]])],
-        [gl_cv_func_isnanl_works=yes],
-        [gl_cv_func_isnanl_works=no],
-        [case "$host_cpu" in
-                                 # Guess no on ia64, x86_64, i386.
-           ia64 | x86_64 | i*86) gl_cv_func_isnanl_works="guessing no";;
-           *)
-             case "$host_os" in
-               netbsd*) gl_cv_func_isnanl_works="guessing no";;
-               *)       gl_cv_func_isnanl_works="guessing yes";;
-             esac
-             ;;
-         esac
-        ])
-    ])
-])
diff --git a/gl/m4/largefile.m4 b/gl/m4/largefile.m4
index 1e605e3..a1b564a 100644
--- a/gl/m4/largefile.m4
+++ b/gl/m4/largefile.m4
@@ -1,6 +1,6 @@
 # Enable large files on systems where this is not the default.
 
-# Copyright 1992-1996, 1998-2013 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2014 Free Software Foundation, Inc.
 # This file 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.
diff --git a/gl/m4/ldexpl.m4 b/gl/m4/ldexpl.m4
deleted file mode 100644
index 1223711..0000000
--- a/gl/m4/ldexpl.m4
+++ /dev/null
@@ -1,133 +0,0 @@
-# ldexpl.m4 serial 16
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_LDEXPL],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
-  AC_REQUIRE([gl_FUNC_ISNANL]) dnl for ISNANL_LIBM
-
-  dnl Persuade glibc <math.h> to declare ldexpl().
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
-  dnl Check whether it's declared.
-  dnl Mac OS X 10.3 has ldexpl() in libc but doesn't declare it in <math.h>.
-  AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [[#include <math.h>]])
-
-  LDEXPL_LIBM=
-  if test $HAVE_DECL_LDEXPL = 1; then
-    gl_CHECK_LDEXPL_NO_LIBM
-    if test $gl_cv_func_ldexpl_no_libm = no; then
-      AC_CACHE_CHECK([whether ldexpl() can be used with libm],
-        [gl_cv_func_ldexpl_in_libm],
-        [
-          save_LIBS="$LIBS"
-          LIBS="$LIBS -lm"
-          AC_LINK_IFELSE(
-            [AC_LANG_PROGRAM(
-               [[#include <math.h>
-                 long double x;]],
-               [[return ldexpl (x, -1) > 0;]])],
-            [gl_cv_func_ldexpl_in_libm=yes],
-            [gl_cv_func_ldexpl_in_libm=no])
-          LIBS="$save_LIBS"
-        ])
-      if test $gl_cv_func_ldexpl_in_libm = yes; then
-        LDEXPL_LIBM=-lm
-      fi
-    fi
-    if test $gl_cv_func_ldexpl_no_libm = yes \
-       || test $gl_cv_func_ldexpl_in_libm = yes; then
-      save_LIBS="$LIBS"
-      LIBS="$LIBS $LDEXPL_LIBM"
-      gl_FUNC_LDEXPL_WORKS
-      LIBS="$save_LIBS"
-      case "$gl_cv_func_ldexpl_works" in
-        *yes) gl_func_ldexpl=yes ;;
-        *)    gl_func_ldexpl=no; REPLACE_LDEXPL=1 ;;
-      esac
-    else
-      gl_func_ldexpl=no
-    fi
-    if test $gl_func_ldexpl = yes; then
-      AC_DEFINE([HAVE_LDEXPL], [1],
-        [Define if the ldexpl() function is available.])
-    fi
-  fi
-  if test $HAVE_DECL_LDEXPL = 0 || test $gl_func_ldexpl = no; then
-    dnl Find libraries needed to link lib/ldexpl.c.
-    if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then
-      AC_REQUIRE([gl_FUNC_LDEXP])
-      LDEXPL_LIBM="$LDEXP_LIBM"
-    else
-      LDEXPL_LIBM="$ISNANL_LIBM"
-    fi
-  fi
-  AC_SUBST([LDEXPL_LIBM])
-])
-
-dnl Test whether ldexpl() can be used without linking with libm.
-dnl Set gl_cv_func_ldexpl_no_libm to 'yes' or 'no' accordingly.
-AC_DEFUN([gl_CHECK_LDEXPL_NO_LIBM],
-[
-  AC_CACHE_CHECK([whether ldexpl() can be used without linking with libm],
-    [gl_cv_func_ldexpl_no_libm],
-    [
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <math.h>
-             long double x;]],
-           [[return ldexpl (x, -1) > 0;]])],
-        [gl_cv_func_ldexpl_no_libm=yes],
-        [gl_cv_func_ldexpl_no_libm=no])
-    ])
-])
-
-dnl Test whether ldexpl() works on finite numbers (this fails on AIX 5.1
-dnl and Mac OS X 10.4/PowerPC).
-AC_DEFUN([gl_FUNC_LDEXPL_WORKS],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether ldexpl works], [gl_cv_func_ldexpl_works],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <math.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-long double ldexpl (long double, int);
-int main()
-{
-  int result = 0;
-  {
-    volatile long double x = 1.0;
-    volatile long double y = ldexpl (x, -1);
-    if (y != 0.5L)
-      result |= 1;
-  }
-  {
-    volatile long double x = 1.73205L;
-    volatile long double y = ldexpl (x, 0);
-    if (y != x)
-      result |= 2;
-  }
-  return result;
-}]])],
-        [gl_cv_func_ldexpl_works=yes],
-        [gl_cv_func_ldexpl_works=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           aix | aix[3-6]*) gl_cv_func_ldexpl_works="guessing no";;
-           *)               gl_cv_func_ldexpl_works="guessing yes";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
diff --git a/gl/m4/longlong.m4 b/gl/m4/longlong.m4
index 3af6ab5..eefb37c 100644
--- a/gl/m4/longlong.m4
+++ b/gl/m4/longlong.m4
@@ -1,5 +1,5 @@
 # longlong.m4 serial 17
-dnl Copyright (C) 1999-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1999-2007, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/lstat.m4 b/gl/m4/lstat.m4
index 5f4db64..c5e72b8 100644
--- a/gl/m4/lstat.m4
+++ b/gl/m4/lstat.m4
@@ -1,6 +1,6 @@
 # serial 26
 
-# Copyright (C) 1997-2001, 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/malloc.m4 b/gl/m4/malloc.m4
index 4b24a0b..322ad6e 100644
--- a/gl/m4/malloc.m4
+++ b/gl/m4/malloc.m4
@@ -1,5 +1,5 @@
 # malloc.m4 serial 14
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/malloca.m4 b/gl/m4/malloca.m4
index 791ce10..dcc1a08 100644
--- a/gl/m4/malloca.m4
+++ b/gl/m4/malloca.m4
@@ -1,5 +1,5 @@
 # malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/manywarnings.m4 b/gl/m4/manywarnings.m4
index 80b2476..e1cee6c 100644
--- a/gl/m4/manywarnings.m4
+++ b/gl/m4/manywarnings.m4
@@ -1,5 +1,5 @@
 # manywarnings.m4 serial 6
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -146,7 +146,6 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC],
     -Wmissing-include-dirs \
     -Wmissing-parameter-type \
     -Wmissing-prototypes \
-    -Wmudflap \
     -Wmultichar \
     -Wnarrowing \
     -Wnested-externs \
diff --git a/gl/m4/math_h.m4 b/gl/m4/math_h.m4
deleted file mode 100644
index bf0845f..0000000
--- a/gl/m4/math_h.m4
+++ /dev/null
@@ -1,353 +0,0 @@
-# math_h.m4 serial 114
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_MATH_H],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  gl_CHECK_NEXT_HEADERS([math.h])
-
-  AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works],
-    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(address@hidden:@include <math.h>]],
-      [[/* Solaris 10 has a broken definition of NAN.  Other platforms
-        fail to provide NAN, or provide it only in C99 mode; this
-        test only needs to fail when NAN is provided but wrong.  */
-         float f = 1.0f;
-#ifdef NAN
-         f = NAN;
-#endif
-         return f == 0;]])],
-      [gl_cv_header_math_nan_works=yes],
-      [gl_cv_header_math_nan_works=no])])
-  if test $gl_cv_header_math_nan_works = no; then
-    REPLACE_NAN=1
-  fi
-  AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works],
-    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(address@hidden:@include <math.h>]],
-      [[/* Solaris 10 has a broken definition of HUGE_VAL.  */
-         double d = HUGE_VAL;
-         return d == 0;]])],
-      [gl_cv_header_math_huge_val_works=yes],
-      [gl_cv_header_math_huge_val_works=no])])
-  if test $gl_cv_header_math_huge_val_works = no; then
-    REPLACE_HUGE_VAL=1
-  fi
-
-  dnl Check for declarations of anything we want to poison if the
-  dnl corresponding gnulib module is not in use.
-  gl_WARN_ON_USE_PREPARE([[#include <math.h>]],
-    [acosf acosl asinf asinl atanf atanl
-     cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf
-     expf expl exp2 exp2f exp2l expm1 expm1f expm1l
-     fabsf fabsl floorf floorl fma fmaf fmal
-     fmod fmodf fmodl frexpf frexpl hypotf hypotl
-     ilogb ilogbf ilogbl
-     ldexpf ldexpl
-     log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l
-     logb logbf logbl
-     modf modff modfl powf
-     remainder remainderf remainderl
-     rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl
-     tanf tanl tanhf trunc truncf truncl])
-])
-
-AC_DEFUN([gl_MATH_MODULE_INDICATOR],
-[
-  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
-  dnl Define it also as a C macro, for the benefit of the unit tests.
-  gl_MODULE_INDICATOR_FOR_TESTS([$1])
-])
-
-AC_DEFUN([gl_MATH_H_DEFAULTS],
-[
-  GNULIB_ACOSF=0;      AC_SUBST([GNULIB_ACOSF])
-  GNULIB_ACOSL=0;      AC_SUBST([GNULIB_ACOSL])
-  GNULIB_ASINF=0;      AC_SUBST([GNULIB_ASINF])
-  GNULIB_ASINL=0;      AC_SUBST([GNULIB_ASINL])
-  GNULIB_ATANF=0;      AC_SUBST([GNULIB_ATANF])
-  GNULIB_ATANL=0;      AC_SUBST([GNULIB_ATANL])
-  GNULIB_ATAN2F=0;     AC_SUBST([GNULIB_ATAN2F])
-  GNULIB_CBRT=0;       AC_SUBST([GNULIB_CBRT])
-  GNULIB_CBRTF=0;      AC_SUBST([GNULIB_CBRTF])
-  GNULIB_CBRTL=0;      AC_SUBST([GNULIB_CBRTL])
-  GNULIB_CEIL=0;       AC_SUBST([GNULIB_CEIL])
-  GNULIB_CEILF=0;      AC_SUBST([GNULIB_CEILF])
-  GNULIB_CEILL=0;      AC_SUBST([GNULIB_CEILL])
-  GNULIB_COPYSIGN=0;   AC_SUBST([GNULIB_COPYSIGN])
-  GNULIB_COPYSIGNF=0;  AC_SUBST([GNULIB_COPYSIGNF])
-  GNULIB_COPYSIGNL=0;  AC_SUBST([GNULIB_COPYSIGNL])
-  GNULIB_COSF=0;       AC_SUBST([GNULIB_COSF])
-  GNULIB_COSL=0;       AC_SUBST([GNULIB_COSL])
-  GNULIB_COSHF=0;      AC_SUBST([GNULIB_COSHF])
-  GNULIB_EXPF=0;       AC_SUBST([GNULIB_EXPF])
-  GNULIB_EXPL=0;       AC_SUBST([GNULIB_EXPL])
-  GNULIB_EXP2=0;       AC_SUBST([GNULIB_EXP2])
-  GNULIB_EXP2F=0;      AC_SUBST([GNULIB_EXP2F])
-  GNULIB_EXP2L=0;      AC_SUBST([GNULIB_EXP2L])
-  GNULIB_EXPM1=0;      AC_SUBST([GNULIB_EXPM1])
-  GNULIB_EXPM1F=0;     AC_SUBST([GNULIB_EXPM1F])
-  GNULIB_EXPM1L=0;     AC_SUBST([GNULIB_EXPM1L])
-  GNULIB_FABSF=0;      AC_SUBST([GNULIB_FABSF])
-  GNULIB_FABSL=0;      AC_SUBST([GNULIB_FABSL])
-  GNULIB_FLOOR=0;      AC_SUBST([GNULIB_FLOOR])
-  GNULIB_FLOORF=0;     AC_SUBST([GNULIB_FLOORF])
-  GNULIB_FLOORL=0;     AC_SUBST([GNULIB_FLOORL])
-  GNULIB_FMA=0;        AC_SUBST([GNULIB_FMA])
-  GNULIB_FMAF=0;       AC_SUBST([GNULIB_FMAF])
-  GNULIB_FMAL=0;       AC_SUBST([GNULIB_FMAL])
-  GNULIB_FMOD=0;       AC_SUBST([GNULIB_FMOD])
-  GNULIB_FMODF=0;      AC_SUBST([GNULIB_FMODF])
-  GNULIB_FMODL=0;      AC_SUBST([GNULIB_FMODL])
-  GNULIB_FREXPF=0;     AC_SUBST([GNULIB_FREXPF])
-  GNULIB_FREXP=0;      AC_SUBST([GNULIB_FREXP])
-  GNULIB_FREXPL=0;     AC_SUBST([GNULIB_FREXPL])
-  GNULIB_HYPOT=0;      AC_SUBST([GNULIB_HYPOT])
-  GNULIB_HYPOTF=0;     AC_SUBST([GNULIB_HYPOTF])
-  GNULIB_HYPOTL=0;     AC_SUBST([GNULIB_HYPOTL])
-  GNULIB_ILOGB=0;      AC_SUBST([GNULIB_ILOGB])
-  GNULIB_ILOGBF=0;     AC_SUBST([GNULIB_ILOGBF])
-  GNULIB_ILOGBL=0;     AC_SUBST([GNULIB_ILOGBL])
-  GNULIB_ISFINITE=0;   AC_SUBST([GNULIB_ISFINITE])
-  GNULIB_ISINF=0;      AC_SUBST([GNULIB_ISINF])
-  GNULIB_ISNAN=0;      AC_SUBST([GNULIB_ISNAN])
-  GNULIB_ISNANF=0;     AC_SUBST([GNULIB_ISNANF])
-  GNULIB_ISNAND=0;     AC_SUBST([GNULIB_ISNAND])
-  GNULIB_ISNANL=0;     AC_SUBST([GNULIB_ISNANL])
-  GNULIB_LDEXPF=0;     AC_SUBST([GNULIB_LDEXPF])
-  GNULIB_LDEXPL=0;     AC_SUBST([GNULIB_LDEXPL])
-  GNULIB_LOG=0;        AC_SUBST([GNULIB_LOG])
-  GNULIB_LOGF=0;       AC_SUBST([GNULIB_LOGF])
-  GNULIB_LOGL=0;       AC_SUBST([GNULIB_LOGL])
-  GNULIB_LOG10=0;      AC_SUBST([GNULIB_LOG10])
-  GNULIB_LOG10F=0;     AC_SUBST([GNULIB_LOG10F])
-  GNULIB_LOG10L=0;     AC_SUBST([GNULIB_LOG10L])
-  GNULIB_LOG1P=0;      AC_SUBST([GNULIB_LOG1P])
-  GNULIB_LOG1PF=0;     AC_SUBST([GNULIB_LOG1PF])
-  GNULIB_LOG1PL=0;     AC_SUBST([GNULIB_LOG1PL])
-  GNULIB_LOG2=0;       AC_SUBST([GNULIB_LOG2])
-  GNULIB_LOG2F=0;      AC_SUBST([GNULIB_LOG2F])
-  GNULIB_LOG2L=0;      AC_SUBST([GNULIB_LOG2L])
-  GNULIB_LOGB=0;       AC_SUBST([GNULIB_LOGB])
-  GNULIB_LOGBF=0;      AC_SUBST([GNULIB_LOGBF])
-  GNULIB_LOGBL=0;      AC_SUBST([GNULIB_LOGBL])
-  GNULIB_MODF=0;       AC_SUBST([GNULIB_MODF])
-  GNULIB_MODFF=0;      AC_SUBST([GNULIB_MODFF])
-  GNULIB_MODFL=0;      AC_SUBST([GNULIB_MODFL])
-  GNULIB_POWF=0;       AC_SUBST([GNULIB_POWF])
-  GNULIB_REMAINDER=0;  AC_SUBST([GNULIB_REMAINDER])
-  GNULIB_REMAINDERF=0; AC_SUBST([GNULIB_REMAINDERF])
-  GNULIB_REMAINDERL=0; AC_SUBST([GNULIB_REMAINDERL])
-  GNULIB_RINT=0;       AC_SUBST([GNULIB_RINT])
-  GNULIB_RINTF=0;      AC_SUBST([GNULIB_RINTF])
-  GNULIB_RINTL=0;      AC_SUBST([GNULIB_RINTL])
-  GNULIB_ROUND=0;      AC_SUBST([GNULIB_ROUND])
-  GNULIB_ROUNDF=0;     AC_SUBST([GNULIB_ROUNDF])
-  GNULIB_ROUNDL=0;     AC_SUBST([GNULIB_ROUNDL])
-  GNULIB_SIGNBIT=0;    AC_SUBST([GNULIB_SIGNBIT])
-  GNULIB_SINF=0;       AC_SUBST([GNULIB_SINF])
-  GNULIB_SINL=0;       AC_SUBST([GNULIB_SINL])
-  GNULIB_SINHF=0;      AC_SUBST([GNULIB_SINHF])
-  GNULIB_SQRTF=0;      AC_SUBST([GNULIB_SQRTF])
-  GNULIB_SQRTL=0;      AC_SUBST([GNULIB_SQRTL])
-  GNULIB_TANF=0;       AC_SUBST([GNULIB_TANF])
-  GNULIB_TANL=0;       AC_SUBST([GNULIB_TANL])
-  GNULIB_TANHF=0;      AC_SUBST([GNULIB_TANHF])
-  GNULIB_TRUNC=0;      AC_SUBST([GNULIB_TRUNC])
-  GNULIB_TRUNCF=0;     AC_SUBST([GNULIB_TRUNCF])
-  GNULIB_TRUNCL=0;     AC_SUBST([GNULIB_TRUNCL])
-  dnl Assume proper GNU behavior unless another module says otherwise.
-  HAVE_ACOSF=1;                AC_SUBST([HAVE_ACOSF])
-  HAVE_ACOSL=1;                AC_SUBST([HAVE_ACOSL])
-  HAVE_ASINF=1;                AC_SUBST([HAVE_ASINF])
-  HAVE_ASINL=1;                AC_SUBST([HAVE_ASINL])
-  HAVE_ATANF=1;                AC_SUBST([HAVE_ATANF])
-  HAVE_ATANL=1;                AC_SUBST([HAVE_ATANL])
-  HAVE_ATAN2F=1;               AC_SUBST([HAVE_ATAN2F])
-  HAVE_CBRT=1;                 AC_SUBST([HAVE_CBRT])
-  HAVE_CBRTF=1;                AC_SUBST([HAVE_CBRTF])
-  HAVE_CBRTL=1;                AC_SUBST([HAVE_CBRTL])
-  HAVE_COPYSIGN=1;             AC_SUBST([HAVE_COPYSIGN])
-  HAVE_COPYSIGNL=1;            AC_SUBST([HAVE_COPYSIGNL])
-  HAVE_COSF=1;                 AC_SUBST([HAVE_COSF])
-  HAVE_COSL=1;                 AC_SUBST([HAVE_COSL])
-  HAVE_COSHF=1;                AC_SUBST([HAVE_COSHF])
-  HAVE_EXPF=1;                 AC_SUBST([HAVE_EXPF])
-  HAVE_EXPL=1;                 AC_SUBST([HAVE_EXPL])
-  HAVE_EXPM1=1;                AC_SUBST([HAVE_EXPM1])
-  HAVE_EXPM1F=1;               AC_SUBST([HAVE_EXPM1F])
-  HAVE_FABSF=1;                AC_SUBST([HAVE_FABSF])
-  HAVE_FABSL=1;                AC_SUBST([HAVE_FABSL])
-  HAVE_FMA=1;                  AC_SUBST([HAVE_FMA])
-  HAVE_FMAF=1;                 AC_SUBST([HAVE_FMAF])
-  HAVE_FMAL=1;                 AC_SUBST([HAVE_FMAL])
-  HAVE_FMODF=1;                AC_SUBST([HAVE_FMODF])
-  HAVE_FMODL=1;                AC_SUBST([HAVE_FMODL])
-  HAVE_FREXPF=1;               AC_SUBST([HAVE_FREXPF])
-  HAVE_HYPOTF=1;               AC_SUBST([HAVE_HYPOTF])
-  HAVE_HYPOTL=1;               AC_SUBST([HAVE_HYPOTL])
-  HAVE_ILOGB=1;                AC_SUBST([HAVE_ILOGB])
-  HAVE_ILOGBF=1;               AC_SUBST([HAVE_ILOGBF])
-  HAVE_ILOGBL=1;               AC_SUBST([HAVE_ILOGBL])
-  HAVE_ISNANF=1;               AC_SUBST([HAVE_ISNANF])
-  HAVE_ISNAND=1;               AC_SUBST([HAVE_ISNAND])
-  HAVE_ISNANL=1;               AC_SUBST([HAVE_ISNANL])
-  HAVE_LDEXPF=1;               AC_SUBST([HAVE_LDEXPF])
-  HAVE_LOGF=1;                 AC_SUBST([HAVE_LOGF])
-  HAVE_LOGL=1;                 AC_SUBST([HAVE_LOGL])
-  HAVE_LOG10F=1;               AC_SUBST([HAVE_LOG10F])
-  HAVE_LOG10L=1;               AC_SUBST([HAVE_LOG10L])
-  HAVE_LOG1P=1;                AC_SUBST([HAVE_LOG1P])
-  HAVE_LOG1PF=1;               AC_SUBST([HAVE_LOG1PF])
-  HAVE_LOG1PL=1;               AC_SUBST([HAVE_LOG1PL])
-  HAVE_LOGBF=1;                AC_SUBST([HAVE_LOGBF])
-  HAVE_LOGBL=1;                AC_SUBST([HAVE_LOGBL])
-  HAVE_MODFF=1;                AC_SUBST([HAVE_MODFF])
-  HAVE_MODFL=1;                AC_SUBST([HAVE_MODFL])
-  HAVE_POWF=1;                 AC_SUBST([HAVE_POWF])
-  HAVE_REMAINDER=1;            AC_SUBST([HAVE_REMAINDER])
-  HAVE_REMAINDERF=1;           AC_SUBST([HAVE_REMAINDERF])
-  HAVE_RINT=1;                 AC_SUBST([HAVE_RINT])
-  HAVE_RINTL=1;                AC_SUBST([HAVE_RINTL])
-  HAVE_SINF=1;                 AC_SUBST([HAVE_SINF])
-  HAVE_SINL=1;                 AC_SUBST([HAVE_SINL])
-  HAVE_SINHF=1;                AC_SUBST([HAVE_SINHF])
-  HAVE_SQRTF=1;                AC_SUBST([HAVE_SQRTF])
-  HAVE_SQRTL=1;                AC_SUBST([HAVE_SQRTL])
-  HAVE_TANF=1;                 AC_SUBST([HAVE_TANF])
-  HAVE_TANL=1;                 AC_SUBST([HAVE_TANL])
-  HAVE_TANHF=1;                AC_SUBST([HAVE_TANHF])
-  HAVE_DECL_ACOSL=1;           AC_SUBST([HAVE_DECL_ACOSL])
-  HAVE_DECL_ASINL=1;           AC_SUBST([HAVE_DECL_ASINL])
-  HAVE_DECL_ATANL=1;           AC_SUBST([HAVE_DECL_ATANL])
-  HAVE_DECL_CBRTF=1;           AC_SUBST([HAVE_DECL_CBRTF])
-  HAVE_DECL_CBRTL=1;           AC_SUBST([HAVE_DECL_CBRTL])
-  HAVE_DECL_CEILF=1;           AC_SUBST([HAVE_DECL_CEILF])
-  HAVE_DECL_CEILL=1;           AC_SUBST([HAVE_DECL_CEILL])
-  HAVE_DECL_COPYSIGNF=1;       AC_SUBST([HAVE_DECL_COPYSIGNF])
-  HAVE_DECL_COSL=1;            AC_SUBST([HAVE_DECL_COSL])
-  HAVE_DECL_EXPL=1;            AC_SUBST([HAVE_DECL_EXPL])
-  HAVE_DECL_EXP2=1;            AC_SUBST([HAVE_DECL_EXP2])
-  HAVE_DECL_EXP2F=1;           AC_SUBST([HAVE_DECL_EXP2F])
-  HAVE_DECL_EXP2L=1;           AC_SUBST([HAVE_DECL_EXP2L])
-  HAVE_DECL_EXPM1L=1;          AC_SUBST([HAVE_DECL_EXPM1L])
-  HAVE_DECL_FLOORF=1;          AC_SUBST([HAVE_DECL_FLOORF])
-  HAVE_DECL_FLOORL=1;          AC_SUBST([HAVE_DECL_FLOORL])
-  HAVE_DECL_FREXPL=1;          AC_SUBST([HAVE_DECL_FREXPL])
-  HAVE_DECL_LDEXPL=1;          AC_SUBST([HAVE_DECL_LDEXPL])
-  HAVE_DECL_LOGL=1;            AC_SUBST([HAVE_DECL_LOGL])
-  HAVE_DECL_LOG10L=1;          AC_SUBST([HAVE_DECL_LOG10L])
-  HAVE_DECL_LOG2=1;            AC_SUBST([HAVE_DECL_LOG2])
-  HAVE_DECL_LOG2F=1;           AC_SUBST([HAVE_DECL_LOG2F])
-  HAVE_DECL_LOG2L=1;           AC_SUBST([HAVE_DECL_LOG2L])
-  HAVE_DECL_LOGB=1;            AC_SUBST([HAVE_DECL_LOGB])
-  HAVE_DECL_REMAINDER=1;       AC_SUBST([HAVE_DECL_REMAINDER])
-  HAVE_DECL_REMAINDERL=1;      AC_SUBST([HAVE_DECL_REMAINDERL])
-  HAVE_DECL_RINTF=1;           AC_SUBST([HAVE_DECL_RINTF])
-  HAVE_DECL_ROUND=1;           AC_SUBST([HAVE_DECL_ROUND])
-  HAVE_DECL_ROUNDF=1;          AC_SUBST([HAVE_DECL_ROUNDF])
-  HAVE_DECL_ROUNDL=1;          AC_SUBST([HAVE_DECL_ROUNDL])
-  HAVE_DECL_SINL=1;            AC_SUBST([HAVE_DECL_SINL])
-  HAVE_DECL_SQRTL=1;           AC_SUBST([HAVE_DECL_SQRTL])
-  HAVE_DECL_TANL=1;            AC_SUBST([HAVE_DECL_TANL])
-  HAVE_DECL_TRUNC=1;           AC_SUBST([HAVE_DECL_TRUNC])
-  HAVE_DECL_TRUNCF=1;          AC_SUBST([HAVE_DECL_TRUNCF])
-  HAVE_DECL_TRUNCL=1;          AC_SUBST([HAVE_DECL_TRUNCL])
-  REPLACE_CBRTF=0;             AC_SUBST([REPLACE_CBRTF])
-  REPLACE_CBRTL=0;             AC_SUBST([REPLACE_CBRTL])
-  REPLACE_CEIL=0;              AC_SUBST([REPLACE_CEIL])
-  REPLACE_CEILF=0;             AC_SUBST([REPLACE_CEILF])
-  REPLACE_CEILL=0;             AC_SUBST([REPLACE_CEILL])
-  REPLACE_EXPM1=0;             AC_SUBST([REPLACE_EXPM1])
-  REPLACE_EXPM1F=0;            AC_SUBST([REPLACE_EXPM1F])
-  REPLACE_EXP2=0;              AC_SUBST([REPLACE_EXP2])
-  REPLACE_EXP2L=0;             AC_SUBST([REPLACE_EXP2L])
-  REPLACE_FABSL=0;             AC_SUBST([REPLACE_FABSL])
-  REPLACE_FLOOR=0;             AC_SUBST([REPLACE_FLOOR])
-  REPLACE_FLOORF=0;            AC_SUBST([REPLACE_FLOORF])
-  REPLACE_FLOORL=0;            AC_SUBST([REPLACE_FLOORL])
-  REPLACE_FMA=0;               AC_SUBST([REPLACE_FMA])
-  REPLACE_FMAF=0;              AC_SUBST([REPLACE_FMAF])
-  REPLACE_FMAL=0;              AC_SUBST([REPLACE_FMAL])
-  REPLACE_FMOD=0;              AC_SUBST([REPLACE_FMOD])
-  REPLACE_FMODF=0;             AC_SUBST([REPLACE_FMODF])
-  REPLACE_FMODL=0;             AC_SUBST([REPLACE_FMODL])
-  REPLACE_FREXPF=0;            AC_SUBST([REPLACE_FREXPF])
-  REPLACE_FREXP=0;             AC_SUBST([REPLACE_FREXP])
-  REPLACE_FREXPL=0;            AC_SUBST([REPLACE_FREXPL])
-  REPLACE_HUGE_VAL=0;          AC_SUBST([REPLACE_HUGE_VAL])
-  REPLACE_HYPOT=0;             AC_SUBST([REPLACE_HYPOT])
-  REPLACE_HYPOTF=0;            AC_SUBST([REPLACE_HYPOTF])
-  REPLACE_HYPOTL=0;            AC_SUBST([REPLACE_HYPOTL])
-  REPLACE_ILOGB=0;             AC_SUBST([REPLACE_ILOGB])
-  REPLACE_ILOGBF=0;            AC_SUBST([REPLACE_ILOGBF])
-  REPLACE_ISFINITE=0;          AC_SUBST([REPLACE_ISFINITE])
-  REPLACE_ISINF=0;             AC_SUBST([REPLACE_ISINF])
-  REPLACE_ISNAN=0;             AC_SUBST([REPLACE_ISNAN])
-  REPLACE_LDEXPL=0;            AC_SUBST([REPLACE_LDEXPL])
-  REPLACE_LOG=0;               AC_SUBST([REPLACE_LOG])
-  REPLACE_LOGF=0;              AC_SUBST([REPLACE_LOGF])
-  REPLACE_LOGL=0;              AC_SUBST([REPLACE_LOGL])
-  REPLACE_LOG10=0;             AC_SUBST([REPLACE_LOG10])
-  REPLACE_LOG10F=0;            AC_SUBST([REPLACE_LOG10F])
-  REPLACE_LOG10L=0;            AC_SUBST([REPLACE_LOG10L])
-  REPLACE_LOG1P=0;             AC_SUBST([REPLACE_LOG1P])
-  REPLACE_LOG1PF=0;            AC_SUBST([REPLACE_LOG1PF])
-  REPLACE_LOG1PL=0;            AC_SUBST([REPLACE_LOG1PL])
-  REPLACE_LOG2=0;              AC_SUBST([REPLACE_LOG2])
-  REPLACE_LOG2F=0;             AC_SUBST([REPLACE_LOG2F])
-  REPLACE_LOG2L=0;             AC_SUBST([REPLACE_LOG2L])
-  REPLACE_LOGB=0;              AC_SUBST([REPLACE_LOGB])
-  REPLACE_LOGBF=0;             AC_SUBST([REPLACE_LOGBF])
-  REPLACE_LOGBL=0;             AC_SUBST([REPLACE_LOGBL])
-  REPLACE_MODF=0;              AC_SUBST([REPLACE_MODF])
-  REPLACE_MODFF=0;             AC_SUBST([REPLACE_MODFF])
-  REPLACE_MODFL=0;             AC_SUBST([REPLACE_MODFL])
-  REPLACE_NAN=0;               AC_SUBST([REPLACE_NAN])
-  REPLACE_REMAINDER=0;         AC_SUBST([REPLACE_REMAINDER])
-  REPLACE_REMAINDERF=0;        AC_SUBST([REPLACE_REMAINDERF])
-  REPLACE_REMAINDERL=0;        AC_SUBST([REPLACE_REMAINDERL])
-  REPLACE_ROUND=0;             AC_SUBST([REPLACE_ROUND])
-  REPLACE_ROUNDF=0;            AC_SUBST([REPLACE_ROUNDF])
-  REPLACE_ROUNDL=0;            AC_SUBST([REPLACE_ROUNDL])
-  REPLACE_SIGNBIT=0;           AC_SUBST([REPLACE_SIGNBIT])
-  REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC])
-  REPLACE_SQRTL=0;             AC_SUBST([REPLACE_SQRTL])
-  REPLACE_TRUNC=0;             AC_SUBST([REPLACE_TRUNC])
-  REPLACE_TRUNCF=0;            AC_SUBST([REPLACE_TRUNCF])
-  REPLACE_TRUNCL=0;            AC_SUBST([REPLACE_TRUNCL])
-])
-
-# gl_LONG_DOUBLE_VS_DOUBLE
-# determines whether 'long double' and 'double' have the same representation.
-# Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines
-# HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly.
-# The currently known platforms where this is the case are:
-# Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9.
-AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE],
-[
-  AC_CACHE_CHECK([whether long double and double are the same],
-    [gl_cv_long_double_equals_double],
-    [AC_COMPILE_IFELSE(
-       [AC_LANG_PROGRAM([[#include <float.h>]],
-          [[typedef int check[sizeof (long double) == sizeof (double)
-                              && LDBL_MANT_DIG == DBL_MANT_DIG
-                              && LDBL_MAX_EXP == DBL_MAX_EXP
-                              && LDBL_MIN_EXP == DBL_MIN_EXP
-                              ? 1 : -1];
-          ]])],
-       [gl_cv_long_double_equals_double=yes],
-       [gl_cv_long_double_equals_double=no])
-    ])
-  if test $gl_cv_long_double_equals_double = yes; then
-    AC_DEFINE([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE], [1],
-      [Define to 1 if 'long double' and 'double' have the same 
representation.])
-    HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1
-  else
-    HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0
-  fi
-  AC_SUBST([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE])
-])
diff --git a/gl/m4/memchr.m4 b/gl/m4/memchr.m4
deleted file mode 100644
index 2d8abe7..0000000
--- a/gl/m4/memchr.m4
+++ /dev/null
@@ -1,88 +0,0 @@
-# memchr.m4 serial 12
-dnl Copyright (C) 2002-2004, 2009-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN_ONCE([gl_FUNC_MEMCHR],
-[
-  dnl Check for prerequisites for memory fence checks.
-  gl_FUNC_MMAP_ANON
-  AC_CHECK_HEADERS_ONCE([sys/mman.h])
-  AC_CHECK_FUNCS_ONCE([mprotect])
-
-  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
-  m4_ifdef([gl_FUNC_MEMCHR_OBSOLETE], [
-    dnl These days, we assume memchr is present.  But if support for old
-    dnl platforms is desired:
-    AC_CHECK_FUNCS_ONCE([memchr])
-    if test $ac_cv_func_memchr = no; then
-      HAVE_MEMCHR=0
-    fi
-  ])
-  if test $HAVE_MEMCHR = 1; then
-    # Detect platform-specific bugs in some versions of glibc:
-    # memchr should not dereference anything with length 0
-    #   http://bugzilla.redhat.com/499689
-    # memchr should not dereference overestimated length after a match
-    #   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737
-    #   http://sourceware.org/bugzilla/show_bug.cgi?id=10162
-    # Assume that memchr works on platforms that lack mprotect.
-    AC_CACHE_CHECK([whether memchr works], [gl_cv_func_memchr_works],
-      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-#include <string.h>
-#if HAVE_SYS_MMAN_H
-# include <fcntl.h>
-# include <unistd.h>
-# include <sys/types.h>
-# include <sys/mman.h>
-# ifndef MAP_FILE
-#  define MAP_FILE 0
-# endif
-#endif
-]], [[
-  int result = 0;
-  char *fence = NULL;
-#if HAVE_SYS_MMAN_H && HAVE_MPROTECT
-# if HAVE_MAP_ANONYMOUS
-  const int flags = MAP_ANONYMOUS | MAP_PRIVATE;
-  const int fd = -1;
-# else /* !HAVE_MAP_ANONYMOUS */
-  const int flags = MAP_FILE | MAP_PRIVATE;
-  int fd = open ("/dev/zero", O_RDONLY, 0666);
-  if (fd >= 0)
-# endif
-    {
-      int pagesize = getpagesize ();
-      char *two_pages =
-        (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE,
-                       flags, fd, 0);
-      if (two_pages != (char *)(-1)
-          && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0)
-        fence = two_pages + pagesize;
-    }
-#endif
-  if (fence)
-    {
-      if (memchr (fence, 0, 0))
-        result |= 1;
-      strcpy (fence - 9, "12345678");
-      if (memchr (fence - 9, 0, 79) != fence - 1)
-        result |= 2;
-      if (memchr (fence - 1, 0, 3) != fence - 1)
-        result |= 4;
-    }
-  return result;
-]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no],
-      [dnl Be pessimistic for now.
-       gl_cv_func_memchr_works="guessing no"])])
-    if test "$gl_cv_func_memchr_works" != yes; then
-      REPLACE_MEMCHR=1
-    fi
-  fi
-])
-
-# Prerequisites of lib/memchr.c.
-AC_DEFUN([gl_PREREQ_MEMCHR], [
-  AC_CHECK_HEADERS([bp-sym.h])
-])
diff --git a/gl/m4/mmap-anon.m4 b/gl/m4/mmap-anon.m4
deleted file mode 100644
index 9b60ddf..0000000
--- a/gl/m4/mmap-anon.m4
+++ /dev/null
@@ -1,55 +0,0 @@
-# mmap-anon.m4 serial 10
-dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-# Detect how mmap can be used to create anonymous (not file-backed) memory
-# mappings.
-# - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS
-#   and MAP_ANON exist and have the same value.
-# - On HP-UX, only MAP_ANONYMOUS exists.
-# - On Mac OS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists.
-# - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be
-#   used.
-
-AC_DEFUN([gl_FUNC_MMAP_ANON],
-[
-  dnl Persuade glibc <sys/mman.h> to define MAP_ANONYMOUS.
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
-
-  # Check for mmap(). Don't use AC_FUNC_MMAP, because it checks too much: it
-  # fails on HP-UX 11, because MAP_FIXED mappings do not work. But this is
-  # irrelevant for anonymous mappings.
-  AC_CHECK_FUNC([mmap], [gl_have_mmap=yes], [gl_have_mmap=no])
-
-  # Try to allow MAP_ANONYMOUS.
-  gl_have_mmap_anonymous=no
-  if test $gl_have_mmap = yes; then
-    AC_MSG_CHECKING([for MAP_ANONYMOUS])
-    AC_EGREP_CPP([I cannot identify this map], [
-#include <sys/mman.h>
-#ifdef MAP_ANONYMOUS
-    I cannot identify this map
-#endif
-],
-      [gl_have_mmap_anonymous=yes])
-    if test $gl_have_mmap_anonymous != yes; then
-      AC_EGREP_CPP([I cannot identify this map], [
-#include <sys/mman.h>
-#ifdef MAP_ANON
-    I cannot identify this map
-#endif
-],
-        [AC_DEFINE([MAP_ANONYMOUS], [MAP_ANON],
-          [Define to a substitute value for mmap()'s MAP_ANONYMOUS flag.])
-         gl_have_mmap_anonymous=yes])
-    fi
-    AC_MSG_RESULT([$gl_have_mmap_anonymous])
-    if test $gl_have_mmap_anonymous = yes; then
-      AC_DEFINE([HAVE_MAP_ANONYMOUS], [1],
-        [Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after 
including
-         config.h and <sys/mman.h>.])
-    fi
-  fi
-])
diff --git a/gl/m4/mode_t.m4 b/gl/m4/mode_t.m4
index d5b66d4..db6e192 100644
--- a/gl/m4/mode_t.m4
+++ b/gl/m4/mode_t.m4
@@ -1,5 +1,5 @@
 # mode_t.m4 serial 2
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/msvc-inval.m4 b/gl/m4/msvc-inval.m4
index 9a6a47a..7f26087 100644
--- a/gl/m4/msvc-inval.m4
+++ b/gl/m4/msvc-inval.m4
@@ -1,5 +1,5 @@
 # msvc-inval.m4 serial 1
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/msvc-nothrow.m4 b/gl/m4/msvc-nothrow.m4
index a39618a..9e32c17 100644
--- a/gl/m4/msvc-nothrow.m4
+++ b/gl/m4/msvc-nothrow.m4
@@ -1,5 +1,5 @@
 # msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/multiarch.m4 b/gl/m4/multiarch.m4
index 552ec7e..2cb956d 100644
--- a/gl/m4/multiarch.m4
+++ b/gl/m4/multiarch.m4
@@ -1,5 +1,5 @@
 # multiarch.m4 serial 7
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/nocrash.m4 b/gl/m4/nocrash.m4
index 105b884..5a5d77d 100644
--- a/gl/m4/nocrash.m4
+++ b/gl/m4/nocrash.m4
@@ -1,5 +1,5 @@
 # nocrash.m4 serial 4
-dnl Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/off_t.m4 b/gl/m4/off_t.m4
index d355d01..f5885b3 100644
--- a/gl/m4/off_t.m4
+++ b/gl/m4/off_t.m4
@@ -1,5 +1,5 @@
 # off_t.m4 serial 1
-dnl Copyright (C) 2012-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/open.m4 b/gl/m4/open.m4
index a6cb101..68f116f 100644
--- a/gl/m4/open.m4
+++ b/gl/m4/open.m4
@@ -1,5 +1,5 @@
 # open.m4 serial 14
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/pathmax.m4 b/gl/m4/pathmax.m4
index e11bf57..114f91f 100644
--- a/gl/m4/pathmax.m4
+++ b/gl/m4/pathmax.m4
@@ -1,5 +1,5 @@
 # pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/printf-frexp.m4 b/gl/m4/printf-frexp.m4
deleted file mode 100644
index 8b373b1..0000000
--- a/gl/m4/printf-frexp.m4
+++ /dev/null
@@ -1,38 +0,0 @@
-# printf-frexp.m4 serial 5
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Check how to define printf_frexp() without linking with libm.
-
-AC_DEFUN([gl_FUNC_PRINTF_FREXP],
-[
-  AC_REQUIRE([gl_CHECK_FREXP_NO_LIBM])
-  if test $gl_cv_func_frexp_no_libm = yes; then
-    gl_FUNC_FREXP_WORKS
-    case "$gl_cv_func_frexp_works" in
-      *yes)
-        AC_DEFINE([HAVE_FREXP_IN_LIBC], [1],
-          [Define if the frexp function is available in libc.])
-        ;;
-    esac
-  fi
-
-  AC_CACHE_CHECK([whether ldexp can be used without linking with libm],
-    [gl_cv_func_ldexp_no_libm],
-    [
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <math.h>
-             double x;
-             int y;]],
-           [[return ldexp (x, y) < 1;]])],
-        [gl_cv_func_ldexp_no_libm=yes],
-        [gl_cv_func_ldexp_no_libm=no])
-    ])
-  if test $gl_cv_func_ldexp_no_libm = yes; then
-    AC_DEFINE([HAVE_LDEXP_IN_LIBC], [1],
-      [Define if the ldexp function is available in libc.])
-  fi
-])
diff --git a/gl/m4/printf-frexpl.m4 b/gl/m4/printf-frexpl.m4
deleted file mode 100644
index f1ce4c8..0000000
--- a/gl/m4/printf-frexpl.m4
+++ /dev/null
@@ -1,48 +0,0 @@
-# printf-frexpl.m4 serial 10
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Check how to define printf_frexpl() without linking with libm.
-
-AC_DEFUN([gl_FUNC_PRINTF_FREXPL],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
-
-  dnl Subset of gl_FUNC_FREXPL_NO_LIBM.
-  gl_CHECK_FREXPL_NO_LIBM
-  if test $gl_cv_func_frexpl_no_libm = yes; then
-    gl_FUNC_FREXPL_WORKS
-    case "$gl_cv_func_frexpl_works" in
-      *yes) gl_func_frexpl_no_libm=yes ;;
-      *)    gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;;
-    esac
-  else
-    gl_func_frexpl_no_libm=no
-    dnl Set REPLACE_FREXPL here because the system may have frexpl in libm.
-    REPLACE_FREXPL=1
-  fi
-  if test $gl_func_frexpl_no_libm = yes; then
-    AC_DEFINE([HAVE_FREXPL_IN_LIBC], [1],
-      [Define if the frexpl function is available in libc.])
-    dnl Also check whether it's declared.
-    dnl Mac OS X 10.3 has frexpl() in libc but doesn't declare it in <math.h>.
-    AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [[#include <math.h>]])
-  fi
-
-  gl_CHECK_LDEXPL_NO_LIBM
-  if test $gl_cv_func_ldexpl_no_libm = yes; then
-    gl_FUNC_LDEXPL_WORKS
-    case "$gl_cv_func_ldexpl_works" in
-      *yes)
-        AC_DEFINE([HAVE_LDEXPL_IN_LIBC], [1],
-          [Define if the ldexpl function is available in libc.])
-        dnl Also check whether it's declared.
-        dnl Mac OS X 10.3 has ldexpl() in libc but doesn't declare it in 
<math.h>.
-        AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [[#include <math.h>]])
-        ;;
-    esac
-  fi
-])
diff --git a/gl/m4/printf.m4 b/gl/m4/printf.m4
deleted file mode 100644
index ef44f78..0000000
--- a/gl/m4/printf.m4
+++ /dev/null
@@ -1,1570 +0,0 @@
-# printf.m4 serial 50
-dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Test whether the *printf family of functions supports the 'j', 'z', 't',
-dnl 'L' size specifiers. (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_printf_sizes_c99.
-
-AC_DEFUN([gl_PRINTF_SIZES_C99],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
-  AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports size specifiers as in C99],
-    [gl_cv_func_printf_sizes_c99],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#if HAVE_STDINT_H_WITH_UINTMAX
-# include <stdint.h>
-#endif
-#if HAVE_INTTYPES_H_WITH_UINTMAX
-# include <inttypes.h>
-#endif
-static char buf[100];
-int main ()
-{
-  int result = 0;
-#if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX
-  buf[0] = '\0';
-  if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0
-      || strcmp (buf, "12345671 33") != 0)
-    result |= 1;
-#endif
-  buf[0] = '\0';
-  if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0
-      || strcmp (buf, "12345672 33") != 0)
-    result |= 2;
-  buf[0] = '\0';
-  if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0
-      || strcmp (buf, "12345673 33") != 0)
-    result |= 4;
-  buf[0] = '\0';
-  if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0
-      || strcmp (buf, "1.5 33") != 0)
-    result |= 8;
-  return result;
-}]])],
-        [gl_cv_func_printf_sizes_c99=yes],
-        [gl_cv_func_printf_sizes_c99=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-                                 # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_printf_sizes_c99="guessing yes";;
-                                 # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_printf_sizes_c99="guessing no";;
-           freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
-                                 # Guess yes on Mac OS X >= 10.3.
-           darwin[1-6].*)        gl_cv_func_printf_sizes_c99="guessing no";;
-           darwin*)              gl_cv_func_printf_sizes_c99="guessing yes";;
-                                 # Guess yes on OpenBSD >= 3.9.
-           openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*)
-                                 gl_cv_func_printf_sizes_c99="guessing no";;
-           openbsd*)             gl_cv_func_printf_sizes_c99="guessing yes";;
-                                 # Guess yes on Solaris >= 2.10.
-           solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";;
-           solaris*)             gl_cv_func_printf_sizes_c99="guessing no";;
-                                 # Guess yes on NetBSD >= 3.
-           netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | 
netbsdcoff[1-2]*)
-                                 gl_cv_func_printf_sizes_c99="guessing no";;
-           netbsd*)              gl_cv_func_printf_sizes_c99="guessing yes";;
-                                 # If we don't know, assume the worst.
-           *)                    gl_cv_func_printf_sizes_c99="guessing no";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports 'long double'
-dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_printf_long_double.
-
-AC_DEFUN([gl_PRINTF_LONG_DOUBLE],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports 'long double' arguments],
-    [gl_cv_func_printf_long_double],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-static char buf[10000];
-int main ()
-{
-  int result = 0;
-  buf[0] = '\0';
-  if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0
-      || strcmp (buf, "1.750000 33") != 0)
-    result |= 1;
-  buf[0] = '\0';
-  if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0
-      || strcmp (buf, "1.750000e+00 33") != 0)
-    result |= 2;
-  buf[0] = '\0';
-  if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0
-      || strcmp (buf, "1.75 33") != 0)
-    result |= 4;
-  return result;
-}]])],
-        [gl_cv_func_printf_long_double=yes],
-        [gl_cv_func_printf_long_double=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           beos*)        gl_cv_func_printf_long_double="guessing no";;
-           mingw* | pw*) gl_cv_func_printf_long_double="guessing no";;
-           *)            gl_cv_func_printf_long_double="guessing yes";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports infinite and NaN
-dnl 'double' arguments and negative zero arguments in the %f, %e, %g
-dnl directives. (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_printf_infinite.
-
-AC_DEFUN([gl_PRINTF_INFINITE],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports infinite 'double' arguments],
-    [gl_cv_func_printf_infinite],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-static int
-strisnan (const char *string, size_t start_index, size_t end_index)
-{
-  if (start_index < end_index)
-    {
-      if (string[start_index] == '-')
-        start_index++;
-      if (start_index + 3 <= end_index
-          && memcmp (string + start_index, "nan", 3) == 0)
-        {
-          start_index += 3;
-          if (start_index == end_index
-              || (string[start_index] == '(' && string[end_index - 1] == ')'))
-            return 1;
-        }
-    }
-  return 0;
-}
-static int
-have_minus_zero ()
-{
-  static double plus_zero = 0.0;
-  double minus_zero = - plus_zero;
-  return memcmp (&plus_zero, &minus_zero, sizeof (double)) != 0;
-}
-static char buf[10000];
-static double zero = 0.0;
-int main ()
-{
-  int result = 0;
-  if (sprintf (buf, "%f", 1.0 / zero) < 0
-      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
-    result |= 1;
-  if (sprintf (buf, "%f", -1.0 / zero) < 0
-      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
-    result |= 1;
-  if (sprintf (buf, "%f", zero / zero) < 0
-      || !strisnan (buf, 0, strlen (buf)))
-    result |= 2;
-  if (sprintf (buf, "%e", 1.0 / zero) < 0
-      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
-    result |= 4;
-  if (sprintf (buf, "%e", -1.0 / zero) < 0
-      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
-    result |= 4;
-  if (sprintf (buf, "%e", zero / zero) < 0
-      || !strisnan (buf, 0, strlen (buf)))
-    result |= 8;
-  if (sprintf (buf, "%g", 1.0 / zero) < 0
-      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
-    result |= 16;
-  if (sprintf (buf, "%g", -1.0 / zero) < 0
-      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
-    result |= 16;
-  if (sprintf (buf, "%g", zero / zero) < 0
-      || !strisnan (buf, 0, strlen (buf)))
-    result |= 32;
-  /* This test fails on HP-UX 10.20.  */
-  if (have_minus_zero ())
-    if (sprintf (buf, "%g", - zero) < 0
-        || strcmp (buf, "-0") != 0)
-    result |= 64;
-  return result;
-}]])],
-        [gl_cv_func_printf_infinite=yes],
-        [gl_cv_func_printf_infinite=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-                                 # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_printf_infinite="guessing yes";;
-                                 # Guess yes on FreeBSD >= 6.
-           freebsd[1-5]*)        gl_cv_func_printf_infinite="guessing no";;
-           freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
-                                 # Guess yes on Mac OS X >= 10.3.
-           darwin[1-6].*)        gl_cv_func_printf_infinite="guessing no";;
-           darwin*)              gl_cv_func_printf_infinite="guessing yes";;
-                                 # Guess yes on HP-UX >= 11.
-           hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";;
-           hpux*)                gl_cv_func_printf_infinite="guessing yes";;
-                                 # Guess yes on NetBSD >= 3.
-           netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | 
netbsdcoff[1-2]*)
-                                 gl_cv_func_printf_infinite="guessing no";;
-           netbsd*)              gl_cv_func_printf_infinite="guessing yes";;
-                                 # Guess yes on BeOS.
-           beos*)                gl_cv_func_printf_infinite="guessing yes";;
-                                 # If we don't know, assume the worst.
-           *)                    gl_cv_func_printf_infinite="guessing no";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports infinite and NaN
-dnl 'long double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_printf_infinite_long_double.
-
-AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE],
-[
-  AC_REQUIRE([gl_PRINTF_LONG_DOUBLE])
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([gl_BIGENDIAN])
-  AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  dnl The user can set or unset the variable gl_printf_safe to indicate
-  dnl that he wishes a safe handling of non-IEEE-754 'long double' values.
-  if test -n "$gl_printf_safe"; then
-    AC_DEFINE([CHECK_PRINTF_SAFE], [1],
-      [Define if you wish *printf() functions that have a safe handling of
-       non-IEEE-754 'long double' values.])
-  fi
-  case "$gl_cv_func_printf_long_double" in
-    *yes)
-      AC_CACHE_CHECK([whether printf supports infinite 'long double' 
arguments],
-        [gl_cv_func_printf_infinite_long_double],
-        [
-          AC_RUN_IFELSE(
-            [AC_LANG_SOURCE([[
-]GL_NOCRASH[
-#include <float.h>
-#include <stdio.h>
-#include <string.h>
-static int
-strisnan (const char *string, size_t start_index, size_t end_index)
-{
-  if (start_index < end_index)
-    {
-      if (string[start_index] == '-')
-        start_index++;
-      if (start_index + 3 <= end_index
-          && memcmp (string + start_index, "nan", 3) == 0)
-        {
-          start_index += 3;
-          if (start_index == end_index
-              || (string[start_index] == '(' && string[end_index - 1] == ')'))
-            return 1;
-        }
-    }
-  return 0;
-}
-static char buf[10000];
-static long double zeroL = 0.0L;
-int main ()
-{
-  int result = 0;
-  nocrash_init();
-  if (sprintf (buf, "%Lf", 1.0L / zeroL) < 0
-      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
-    result |= 1;
-  if (sprintf (buf, "%Lf", -1.0L / zeroL) < 0
-      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
-    result |= 1;
-  if (sprintf (buf, "%Lf", zeroL / zeroL) < 0
-      || !strisnan (buf, 0, strlen (buf)))
-    result |= 1;
-  if (sprintf (buf, "%Le", 1.0L / zeroL) < 0
-      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
-    result |= 1;
-  if (sprintf (buf, "%Le", -1.0L / zeroL) < 0
-      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
-    result |= 1;
-  if (sprintf (buf, "%Le", zeroL / zeroL) < 0
-      || !strisnan (buf, 0, strlen (buf)))
-    result |= 1;
-  if (sprintf (buf, "%Lg", 1.0L / zeroL) < 0
-      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
-    result |= 1;
-  if (sprintf (buf, "%Lg", -1.0L / zeroL) < 0
-      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
-    result |= 1;
-  if (sprintf (buf, "%Lg", zeroL / zeroL) < 0
-      || !strisnan (buf, 0, strlen (buf)))
-    result |= 1;
-#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
-/* Representation of an 80-bit 'long double' as an initializer for a sequence
-   of 'unsigned int' words.  */
-# ifdef WORDS_BIGENDIAN
-#  define LDBL80_WORDS(exponent,manthi,mantlo) \
-     { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
-       ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16),    \
-       (unsigned int) (mantlo) << 16                                        \
-     }
-# else
-#  define LDBL80_WORDS(exponent,manthi,mantlo) \
-     { mantlo, manthi, exponent }
-# endif
-  { /* Quiet NaN.  */
-    static union { unsigned int word[4]; long double value; } x =
-      { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 2;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 2;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 2;
-  }
-  {
-    /* Signalling NaN.  */
-    static union { unsigned int word[4]; long double value; } x =
-      { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 2;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 2;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 2;
-  }
-  { /* Pseudo-NaN.  */
-    static union { unsigned int word[4]; long double value; } x =
-      { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 4;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 4;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 4;
-  }
-  { /* Pseudo-Infinity.  */
-    static union { unsigned int word[4]; long double value; } x =
-      { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 8;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 8;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 8;
-  }
-  { /* Pseudo-Zero.  */
-    static union { unsigned int word[4]; long double value; } x =
-      { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 16;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 16;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 16;
-  }
-  { /* Unnormalized number.  */
-    static union { unsigned int word[4]; long double value; } x =
-      { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 32;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 32;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 32;
-  }
-  { /* Pseudo-Denormal.  */
-    static union { unsigned int word[4]; long double value; } x =
-      { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
-    if (sprintf (buf, "%Lf", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 64;
-    if (sprintf (buf, "%Le", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 64;
-    if (sprintf (buf, "%Lg", x.value) < 0
-        || !strisnan (buf, 0, strlen (buf)))
-      result |= 64;
-  }
-#endif
-  return result;
-}]])],
-            [gl_cv_func_printf_infinite_long_double=yes],
-            [gl_cv_func_printf_infinite_long_double=no],
-            [
-changequote(,)dnl
-             case "$host_cpu" in
-                                     # Guess no on ia64, x86_64, i386.
-               ia64 | x86_64 | i*86) 
gl_cv_func_printf_infinite_long_double="guessing no";;
-               *)
-                 case "$host_os" in
-                                         # Guess yes on glibc systems.
-                   *-gnu*)               
gl_cv_func_printf_infinite_long_double="guessing yes";;
-                                         # Guess yes on FreeBSD >= 6.
-                   freebsd[1-5]*)        
gl_cv_func_printf_infinite_long_double="guessing no";;
-                   freebsd* | kfreebsd*) 
gl_cv_func_printf_infinite_long_double="guessing yes";;
-                                         # Guess yes on HP-UX >= 11.
-                   hpux[7-9]* | hpux10*) 
gl_cv_func_printf_infinite_long_double="guessing no";;
-                   hpux*)                
gl_cv_func_printf_infinite_long_double="guessing yes";;
-                                         # If we don't know, assume the worst.
-                   *)                    
gl_cv_func_printf_infinite_long_double="guessing no";;
-                 esac
-                 ;;
-             esac
-changequote([,])dnl
-            ])
-        ])
-      ;;
-    *)
-      gl_cv_func_printf_infinite_long_double="irrelevant"
-      ;;
-  esac
-])
-
-dnl Test whether the *printf family of functions supports the 'a' and 'A'
-dnl conversion specifier for hexadecimal output of floating-point numbers.
-dnl (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_printf_directive_a.
-
-AC_DEFUN([gl_PRINTF_DIRECTIVE_A],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives],
-    [gl_cv_func_printf_directive_a],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-static char buf[100];
-static double zero = 0.0;
-int main ()
-{
-  int result = 0;
-  if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0
-      || (strcmp (buf, "0x1.922p+1 33") != 0
-          && strcmp (buf, "0x3.244p+0 33") != 0
-          && strcmp (buf, "0x6.488p-1 33") != 0
-          && strcmp (buf, "0xc.91p-2 33") != 0))
-    result |= 1;
-  if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0
-      || (strcmp (buf, "-0X1.922P+1 33") != 0
-          && strcmp (buf, "-0X3.244P+0 33") != 0
-          && strcmp (buf, "-0X6.488P-1 33") != 0
-          && strcmp (buf, "-0XC.91P-2 33") != 0))
-    result |= 2;
-  /* This catches a FreeBSD 6.1 bug: it doesn't round.  */
-  if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0
-      || (strcmp (buf, "0x1.83p+0 33") != 0
-          && strcmp (buf, "0x3.05p-1 33") != 0
-          && strcmp (buf, "0x6.0ap-2 33") != 0
-          && strcmp (buf, "0xc.14p-3 33") != 0))
-    result |= 4;
-  /* This catches a FreeBSD 6.1 bug.  See
-     <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
-  if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0
-      || buf[0] == '0')
-    result |= 8;
-  /* This catches a Mac OS X 10.3.9 (Darwin 7.9) bug.  */
-  if (sprintf (buf, "%.1a", 1.999) < 0
-      || (strcmp (buf, "0x1.0p+1") != 0
-          && strcmp (buf, "0x2.0p+0") != 0
-          && strcmp (buf, "0x4.0p-1") != 0
-          && strcmp (buf, "0x8.0p-2") != 0))
-    result |= 16;
-  /* This catches the same Mac OS X 10.3.9 (Darwin 7.9) bug and also a
-     glibc 2.4 bug <http://sourceware.org/bugzilla/show_bug.cgi?id=2908>.  */
-  if (sprintf (buf, "%.1La", 1.999L) < 0
-      || (strcmp (buf, "0x1.0p+1") != 0
-          && strcmp (buf, "0x2.0p+0") != 0
-          && strcmp (buf, "0x4.0p-1") != 0
-          && strcmp (buf, "0x8.0p-2") != 0))
-    result |= 32;
-  return result;
-}]])],
-        [gl_cv_func_printf_directive_a=yes],
-        [gl_cv_func_printf_directive_a=no],
-        [
-         case "$host_os" in
-                                 # Guess yes on glibc >= 2.5 systems.
-           *-gnu*)
-             AC_EGREP_CPP([BZ2908], [
-               #include <features.h>
-               #ifdef __GNU_LIBRARY__
-                #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 
2)) && !defined __UCLIBC__
-                 BZ2908
-                #endif
-               #endif
-               ],
-               [gl_cv_func_printf_directive_a="guessing yes"],
-               [gl_cv_func_printf_directive_a="guessing no"])
-             ;;
-                                 # If we don't know, assume the worst.
-           *)                    gl_cv_func_printf_directive_a="guessing no";;
-         esac
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports the %F format
-dnl directive. (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_printf_directive_f.
-
-AC_DEFUN([gl_PRINTF_DIRECTIVE_F],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports the 'F' directive],
-    [gl_cv_func_printf_directive_f],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-static char buf[100];
-static double zero = 0.0;
-int main ()
-{
-  int result = 0;
-  if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0
-      || strcmp (buf, "1234567.000000 33") != 0)
-    result |= 1;
-  if (sprintf (buf, "%F", 1.0 / zero) < 0
-      || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0))
-    result |= 2;
-  /* This catches a Cygwin 1.5.x bug.  */
-  if (sprintf (buf, "%.F", 1234.0) < 0
-      || strcmp (buf, "1234") != 0)
-    result |= 4;
-  return result;
-}]])],
-        [gl_cv_func_printf_directive_f=yes],
-        [gl_cv_func_printf_directive_f=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-                                 # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_printf_directive_f="guessing yes";;
-                                 # Guess yes on FreeBSD >= 6.
-           freebsd[1-5]*)        gl_cv_func_printf_directive_f="guessing no";;
-           freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
-                                 # Guess yes on Mac OS X >= 10.3.
-           darwin[1-6].*)        gl_cv_func_printf_directive_f="guessing no";;
-           darwin*)              gl_cv_func_printf_directive_f="guessing yes";;
-                                 # Guess yes on Solaris >= 2.10.
-           solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";;
-           solaris*)             gl_cv_func_printf_sizes_c99="guessing no";;
-                                 # If we don't know, assume the worst.
-           *)                    gl_cv_func_printf_directive_f="guessing no";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports the %n format
-dnl directive. (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_printf_directive_n.
-
-AC_DEFUN([gl_PRINTF_DIRECTIVE_N],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports the 'n' directive],
-    [gl_cv_func_printf_directive_n],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _MSC_VER
-/* See page about "Parameter Validation" on msdn.microsoft.com.  */
-static void cdecl
-invalid_parameter_handler (const wchar_t *expression,
-                           const wchar_t *function,
-                           const wchar_t *file, unsigned int line,
-                           uintptr_t dummy)
-{
-  exit (1);
-}
-#endif
-static char fmtstring[10];
-static char buf[100];
-int main ()
-{
-  int count = -1;
-#ifdef _MSC_VER
-  _set_invalid_parameter_handler (invalid_parameter_handler);
-#endif
-  /* Copy the format string.  Some systems (glibc with _FORTIFY_SOURCE=2)
-     support %n in format strings in read-only memory but not in writable
-     memory.  */
-  strcpy (fmtstring, "%d %n");
-  if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0
-      || strcmp (buf, "123 ") != 0
-      || count != 4)
-    return 1;
-  return 0;
-}]])],
-        [gl_cv_func_printf_directive_n=yes],
-        [gl_cv_func_printf_directive_n=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           mingw*) gl_cv_func_printf_directive_n="guessing no";;
-           *)      gl_cv_func_printf_directive_n="guessing yes";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports the %ls format
-dnl directive and in particular, when a precision is specified, whether
-dnl the functions stop converting the wide string argument when the number
-dnl of bytes that have been produced by this conversion equals or exceeds
-dnl the precision.
-dnl Result is gl_cv_func_printf_directive_ls.
-
-AC_DEFUN([gl_PRINTF_DIRECTIVE_LS],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports the 'ls' directive],
-    [gl_cv_func_printf_directive_ls],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-   <wchar.h>.
-   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-   included before <wchar.h>.  */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
-#include <string.h>
-int main ()
-{
-  int result = 0;
-  char buf[100];
-  /* Test whether %ls works at all.
-     This test fails on OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Haiku, but not on
-     Cygwin 1.5.  */
-  {
-    static const wchar_t wstring[] = { 'a', 'b', 'c', 0 };
-    buf[0] = '\0';
-    if (sprintf (buf, "%ls", wstring) < 0
-        || strcmp (buf, "abc") != 0)
-      result |= 1;
-  }
-  /* This test fails on IRIX 6.5, Solaris 2.6, Cygwin 1.5, Haiku (with an
-     assertion failure inside libc), but not on OpenBSD 4.0.  */
-  {
-    static const wchar_t wstring[] = { 'a', 0 };
-    buf[0] = '\0';
-    if (sprintf (buf, "%ls", wstring) < 0
-        || strcmp (buf, "a") != 0)
-      result |= 2;
-  }
-  /* Test whether precisions in %ls are supported as specified in ISO C 99
-     section 7.19.6.1:
-       "If a precision is specified, no more than that many bytes are written
-        (including shift sequences, if any), and the array shall contain a
-        null wide character if, to equal the multibyte character sequence
-        length given by the precision, the function would need to access a
-        wide character one past the end of the array."
-     This test fails on Solaris 10.  */
-  {
-    static const wchar_t wstring[] = { 'a', 'b', (wchar_t) 0xfdfdfdfd, 0 };
-    buf[0] = '\0';
-    if (sprintf (buf, "%.2ls", wstring) < 0
-        || strcmp (buf, "ab") != 0)
-      result |= 8;
-  }
-  return result;
-}]])],
-        [gl_cv_func_printf_directive_ls=yes],
-        [gl_cv_func_printf_directive_ls=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           openbsd*)        gl_cv_func_printf_directive_ls="guessing no";;
-           irix*)           gl_cv_func_printf_directive_ls="guessing no";;
-           solaris*)        gl_cv_func_printf_directive_ls="guessing no";;
-           cygwin*)         gl_cv_func_printf_directive_ls="guessing no";;
-           beos* | haiku*)  gl_cv_func_printf_directive_ls="guessing no";;
-           *)               gl_cv_func_printf_directive_ls="guessing yes";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports POSIX/XSI format
-dnl strings with positions. (POSIX:2001)
-dnl Result is gl_cv_func_printf_positions.
-
-AC_DEFUN([gl_PRINTF_POSITIONS],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with 
positions],
-    [gl_cv_func_printf_positions],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-/* The string "%2$d %1$d", with dollar characters protected from the shell's
-   dollar expansion (possibly an autoconf bug).  */
-static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
-static char buf[100];
-int main ()
-{
-  sprintf (buf, format, 33, 55);
-  return (strcmp (buf, "55 33") != 0);
-}]])],
-        [gl_cv_func_printf_positions=yes],
-        [gl_cv_func_printf_positions=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | 
netbsdcoff[1-3]*)
-                         gl_cv_func_printf_positions="guessing no";;
-           beos*)        gl_cv_func_printf_positions="guessing no";;
-           mingw* | pw*) gl_cv_func_printf_positions="guessing no";;
-           *)            gl_cv_func_printf_positions="guessing yes";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports POSIX/XSI format
-dnl strings with the ' flag for grouping of decimal digits. (POSIX:2001)
-dnl Result is gl_cv_func_printf_flag_grouping.
-
-AC_DEFUN([gl_PRINTF_FLAG_GROUPING],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports the grouping flag],
-    [gl_cv_func_printf_flag_grouping],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-static char buf[100];
-int main ()
-{
-  if (sprintf (buf, "%'d %d", 1234567, 99) < 0
-      || buf[strlen (buf) - 1] != '9')
-    return 1;
-  return 0;
-}]])],
-        [gl_cv_func_printf_flag_grouping=yes],
-        [gl_cv_func_printf_flag_grouping=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           cygwin*)      gl_cv_func_printf_flag_grouping="guessing no";;
-           netbsd*)      gl_cv_func_printf_flag_grouping="guessing no";;
-           mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";;
-           *)            gl_cv_func_printf_flag_grouping="guessing yes";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports the - flag correctly.
-dnl (ISO C99.) See
-dnl <http://lists.gnu.org/archive/html/bug-coreutils/2008-02/msg00035.html>
-dnl Result is gl_cv_func_printf_flag_leftadjust.
-
-AC_DEFUN([gl_PRINTF_FLAG_LEFTADJUST],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly],
-    [gl_cv_func_printf_flag_leftadjust],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-static char buf[100];
-int main ()
-{
-  /* Check that a '-' flag is not annihilated by a negative width.  */
-  if (sprintf (buf, "a%-*sc", -3, "b") < 0
-      || strcmp (buf, "ab  c") != 0)
-    return 1;
-  return 0;
-}]])],
-        [gl_cv_func_printf_flag_leftadjust=yes],
-        [gl_cv_func_printf_flag_leftadjust=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-                    # Guess yes on HP-UX 11.
-           hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
-                    # Guess no on HP-UX 10 and older.
-           hpux*)   gl_cv_func_printf_flag_leftadjust="guessing no";;
-                    # Guess yes otherwise.
-           *)       gl_cv_func_printf_flag_leftadjust="guessing yes";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports padding of non-finite
-dnl values with the 0 flag correctly. (ISO C99 + TC1 + TC2.) See
-dnl <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html>
-dnl Result is gl_cv_func_printf_flag_zero.
-
-AC_DEFUN([gl_PRINTF_FLAG_ZERO],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports the zero flag correctly],
-    [gl_cv_func_printf_flag_zero],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-static char buf[100];
-static double zero = 0.0;
-int main ()
-{
-  if (sprintf (buf, "%010f", 1.0 / zero, 33, 44, 55) < 0
-      || (strcmp (buf, "       inf") != 0
-          && strcmp (buf, "  infinity") != 0))
-    return 1;
-  return 0;
-}]])],
-        [gl_cv_func_printf_flag_zero=yes],
-        [gl_cv_func_printf_flag_zero=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";;
-                   # Guess yes on BeOS.
-           beos*)  gl_cv_func_printf_flag_zero="guessing yes";;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_printf_flag_zero="guessing no";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions supports large precisions.
-dnl On mingw, precisions larger than 512 are treated like 512, in integer,
-dnl floating-point or pointer output. On Solaris 10/x86, precisions larger
-dnl than 510 in floating-point output crash the program. On Solaris 10/SPARC,
-dnl precisions larger than 510 in floating-point output yield wrong results.
-dnl On AIX 7.1, precisions larger than 998 in floating-point output yield
-dnl wrong results. On BeOS, precisions larger than 1044 crash the program.
-dnl Result is gl_cv_func_printf_precision.
-
-AC_DEFUN([gl_PRINTF_PRECISION],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf supports large precisions],
-    [gl_cv_func_printf_precision],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-static char buf[5000];
-int main ()
-{
-  int result = 0;
-#ifdef __BEOS__
-  /* On BeOS, this would crash and show a dialog box.  Avoid the crash.  */
-  return 1;
-#endif
-  if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3)
-    result |= 1;
-  if (sprintf (buf, "%.4000f %d", 1.0, 33, 44) < 4000 + 5)
-    result |= 2;
-  if (sprintf (buf, "%.511f %d", 1.0, 33, 44) < 511 + 5
-      || buf[0] != '1')
-    result |= 4;
-  if (sprintf (buf, "%.999f %d", 1.0, 33, 44) < 999 + 5
-      || buf[0] != '1')
-    result |= 4;
-  return result;
-}]])],
-        [gl_cv_func_printf_precision=yes],
-        [gl_cv_func_printf_precision=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           # Guess no only on Solaris, native Windows, and BeOS systems.
-           solaris*)     gl_cv_func_printf_precision="guessing no" ;;
-           mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;;
-           beos*)        gl_cv_func_printf_precision="guessing no" ;;
-           *)            gl_cv_func_printf_precision="guessing yes" ;;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the *printf family of functions recovers gracefully in case
-dnl of an out-of-memory condition, or whether it crashes the entire program.
-dnl Result is gl_cv_func_printf_enomem.
-
-AC_DEFUN([gl_PRINTF_ENOMEM],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([gl_MULTIARCH])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether printf survives out-of-memory conditions],
-    [gl_cv_func_printf_enomem],
-    [
-      gl_cv_func_printf_enomem="guessing no"
-      if test "$cross_compiling" = no; then
-        if test $APPLE_UNIVERSAL_BUILD = 0; then
-          AC_LANG_CONFTEST([AC_LANG_SOURCE([
-]GL_NOCRASH[
-changequote(,)dnl
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <errno.h>
-int main()
-{
-  struct rlimit limit;
-  int ret;
-  nocrash_init ();
-  /* Some printf implementations allocate temporary space with malloc.  */
-  /* On BSD systems, malloc() is limited by RLIMIT_DATA.  */
-#ifdef RLIMIT_DATA
-  if (getrlimit (RLIMIT_DATA, &limit) < 0)
-    return 77;
-  if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000)
-    limit.rlim_max = 5000000;
-  limit.rlim_cur = limit.rlim_max;
-  if (setrlimit (RLIMIT_DATA, &limit) < 0)
-    return 77;
-#endif
-  /* On Linux systems, malloc() is limited by RLIMIT_AS.  */
-#ifdef RLIMIT_AS
-  if (getrlimit (RLIMIT_AS, &limit) < 0)
-    return 77;
-  if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000)
-    limit.rlim_max = 5000000;
-  limit.rlim_cur = limit.rlim_max;
-  if (setrlimit (RLIMIT_AS, &limit) < 0)
-    return 77;
-#endif
-  /* Some printf implementations allocate temporary space on the stack.  */
-#ifdef RLIMIT_STACK
-  if (getrlimit (RLIMIT_STACK, &limit) < 0)
-    return 77;
-  if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000)
-    limit.rlim_max = 5000000;
-  limit.rlim_cur = limit.rlim_max;
-  if (setrlimit (RLIMIT_STACK, &limit) < 0)
-    return 77;
-#endif
-  ret = printf ("%.5000000f", 1.0);
-  return !(ret == 5000002 || (ret < 0 && errno == ENOMEM));
-}
-changequote([,])dnl
-          ])])
-          if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
-            (./conftest 2>&AS_MESSAGE_LOG_FD
-             result=$?
-             _AS_ECHO_LOG([\$? = $result])
-             if test $result != 0 && test $result != 77; then result=1; fi
-             exit $result
-            ) >/dev/null 2>/dev/null
-            case $? in
-              0) gl_cv_func_printf_enomem="yes" ;;
-              77) gl_cv_func_printf_enomem="guessing no" ;;
-              *) gl_cv_func_printf_enomem="no" ;;
-            esac
-          else
-            gl_cv_func_printf_enomem="guessing no"
-          fi
-          rm -fr conftest*
-        else
-          dnl A universal build on Apple Mac OS X platforms.
-          dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode.
-          dnl But we need a configuration result that is valid in both modes.
-          gl_cv_func_printf_enomem="guessing no"
-        fi
-      fi
-      if test "$gl_cv_func_printf_enomem" = "guessing no"; then
-changequote(,)dnl
-        case "$host_os" in
-                    # Guess yes on glibc systems.
-          *-gnu*)   gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on Solaris.
-          solaris*) gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on AIX.
-          aix*)     gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on HP-UX/hppa.
-          hpux*)    case "$host_cpu" in
-                      hppa*) gl_cv_func_printf_enomem="guessing yes";;
-                      *)     gl_cv_func_printf_enomem="guessing no";;
-                    esac
-                    ;;
-                    # Guess yes on IRIX.
-          irix*)    gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on OSF/1.
-          osf*)     gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on BeOS.
-          beos*)    gl_cv_func_printf_enomem="guessing yes";;
-                    # Guess yes on Haiku.
-          haiku*)   gl_cv_func_printf_enomem="guessing yes";;
-                    # If we don't know, assume the worst.
-          *)        gl_cv_func_printf_enomem="guessing no";;
-        esac
-changequote([,])dnl
-      fi
-    ])
-])
-
-dnl Test whether the snprintf function exists. (ISO C99, POSIX:2001)
-dnl Result is ac_cv_func_snprintf.
-
-AC_DEFUN([gl_SNPRINTF_PRESENCE],
-[
-  AC_CHECK_FUNCS_ONCE([snprintf])
-])
-
-dnl Test whether the string produced by the snprintf function is always NUL
-dnl terminated. (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_snprintf_truncation_c99.
-
-AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
-  AC_CACHE_CHECK([whether snprintf truncates the result as in C99],
-    [gl_cv_func_snprintf_truncation_c99],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-#if HAVE_SNPRINTF
-# define my_snprintf snprintf
-#else
-# include <stdarg.h>
-static int my_snprintf (char *buf, int size, const char *format, ...)
-{
-  va_list args;
-  int ret;
-  va_start (args, format);
-  ret = vsnprintf (buf, size, format, args);
-  va_end (args);
-  return ret;
-}
-#endif
-static char buf[100];
-int main ()
-{
-  strcpy (buf, "ABCDEF");
-  my_snprintf (buf, 3, "%d %d", 4567, 89);
-  if (memcmp (buf, "45\0DEF", 6) != 0)
-    return 1;
-  return 0;
-}]])],
-        [gl_cv_func_snprintf_truncation_c99=yes],
-        [gl_cv_func_snprintf_truncation_c99=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-                                 # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_snprintf_truncation_c99="guessing 
no";;
-           freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # Guess yes on Mac OS X >= 10.3.
-           darwin[1-6].*)        gl_cv_func_snprintf_truncation_c99="guessing 
no";;
-           darwin*)              gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # Guess yes on OpenBSD >= 3.9.
-           openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*)
-                                 gl_cv_func_snprintf_truncation_c99="guessing 
no";;
-           openbsd*)             gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # Guess yes on Solaris >= 2.6.
-           solaris2.[0-5] | solaris2.[0-5].*)
-                                 gl_cv_func_snprintf_truncation_c99="guessing 
no";;
-           solaris*)             gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # Guess yes on AIX >= 4.
-           aix[1-3]*)            gl_cv_func_snprintf_truncation_c99="guessing 
no";;
-           aix*)                 gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # Guess yes on HP-UX >= 11.
-           hpux[7-9]* | hpux10*) gl_cv_func_snprintf_truncation_c99="guessing 
no";;
-           hpux*)                gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # Guess yes on IRIX >= 6.5.
-           irix6.5)              gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # Guess yes on OSF/1 >= 5.
-           osf[3-4]*)            gl_cv_func_snprintf_truncation_c99="guessing 
no";;
-           osf*)                 gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # Guess yes on NetBSD >= 3.
-           netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | 
netbsdcoff[1-2]*)
-                                 gl_cv_func_snprintf_truncation_c99="guessing 
no";;
-           netbsd*)              gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # Guess yes on BeOS.
-           beos*)                gl_cv_func_snprintf_truncation_c99="guessing 
yes";;
-                                 # If we don't know, assume the worst.
-           *)                    gl_cv_func_snprintf_truncation_c99="guessing 
no";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the return value of the snprintf function is the number
-dnl of bytes (excluding the terminating NUL) that would have been produced
-dnl if the buffer had been large enough. (ISO C99, POSIX:2001)
-dnl For example, this test program fails on IRIX 6.5:
-dnl     ---------------------------------------------------------------------
-dnl     #include <stdio.h>
-dnl     int main()
-dnl     {
-dnl       static char buf[8];
-dnl       int retval = snprintf (buf, 3, "%d", 12345);
-dnl       return retval >= 0 && retval < 3;
-dnl     }
-dnl     ---------------------------------------------------------------------
-dnl Result is gl_cv_func_snprintf_retval_c99.
-
-AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
-  AC_CACHE_CHECK([whether snprintf returns a byte count as in C99],
-    [gl_cv_func_snprintf_retval_c99],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-#if HAVE_SNPRINTF
-# define my_snprintf snprintf
-#else
-# include <stdarg.h>
-static int my_snprintf (char *buf, int size, const char *format, ...)
-{
-  va_list args;
-  int ret;
-  va_start (args, format);
-  ret = vsnprintf (buf, size, format, args);
-  va_end (args);
-  return ret;
-}
-#endif
-static char buf[100];
-int main ()
-{
-  strcpy (buf, "ABCDEF");
-  if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7)
-    return 1;
-  if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7)
-    return 2;
-  if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7)
-    return 3;
-  return 0;
-}]])],
-        [gl_cv_func_snprintf_retval_c99=yes],
-        [gl_cv_func_snprintf_retval_c99=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-                                 # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_snprintf_retval_c99="guessing 
yes";;
-                                 # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_snprintf_retval_c99="guessing no";;
-           freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing 
yes";;
-                                 # Guess yes on Mac OS X >= 10.3.
-           darwin[1-6].*)        gl_cv_func_snprintf_retval_c99="guessing no";;
-           darwin*)              gl_cv_func_snprintf_retval_c99="guessing 
yes";;
-                                 # Guess yes on OpenBSD >= 3.9.
-           openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*)
-                                 gl_cv_func_snprintf_retval_c99="guessing no";;
-           openbsd*)             gl_cv_func_snprintf_retval_c99="guessing 
yes";;
-                                 # Guess yes on Solaris >= 2.10.
-           solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";;
-           solaris*)             gl_cv_func_printf_sizes_c99="guessing no";;
-                                 # Guess yes on AIX >= 4.
-           aix[1-3]*)            gl_cv_func_snprintf_retval_c99="guessing no";;
-           aix*)                 gl_cv_func_snprintf_retval_c99="guessing 
yes";;
-                                 # Guess yes on NetBSD >= 3.
-           netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | 
netbsdcoff[1-2]*)
-                                 gl_cv_func_snprintf_retval_c99="guessing no";;
-           netbsd*)              gl_cv_func_snprintf_retval_c99="guessing 
yes";;
-                                 # Guess yes on BeOS.
-           beos*)                gl_cv_func_snprintf_retval_c99="guessing 
yes";;
-                                 # If we don't know, assume the worst.
-           *)                    gl_cv_func_snprintf_retval_c99="guessing no";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the snprintf function supports the %n format directive
-dnl also in truncated portions of the format string. (ISO C99, POSIX:2001)
-dnl Result is gl_cv_func_snprintf_directive_n.
-
-AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
-  AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive],
-    [gl_cv_func_snprintf_directive_n],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#include <string.h>
-#if HAVE_SNPRINTF
-# define my_snprintf snprintf
-#else
-# include <stdarg.h>
-static int my_snprintf (char *buf, int size, const char *format, ...)
-{
-  va_list args;
-  int ret;
-  va_start (args, format);
-  ret = vsnprintf (buf, size, format, args);
-  va_end (args);
-  return ret;
-}
-#endif
-static char fmtstring[10];
-static char buf[100];
-int main ()
-{
-  int count = -1;
-  /* Copy the format string.  Some systems (glibc with _FORTIFY_SOURCE=2)
-     support %n in format strings in read-only memory but not in writable
-     memory.  */
-  strcpy (fmtstring, "%d %n");
-  my_snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55);
-  if (count != 6)
-    return 1;
-  return 0;
-}]])],
-        [gl_cv_func_snprintf_directive_n=yes],
-        [gl_cv_func_snprintf_directive_n=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-                                 # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_snprintf_directive_n="guessing 
yes";;
-                                 # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_snprintf_directive_n="guessing 
no";;
-           freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing 
yes";;
-                                 # Guess yes on Mac OS X >= 10.3.
-           darwin[1-6].*)        gl_cv_func_snprintf_directive_n="guessing 
no";;
-           darwin*)              gl_cv_func_snprintf_directive_n="guessing 
yes";;
-                                 # Guess yes on Solaris >= 2.6.
-           solaris2.[0-5] | solaris2.[0-5].*)
-                                 gl_cv_func_snprintf_directive_n="guessing 
no";;
-           solaris*)             gl_cv_func_snprintf_directive_n="guessing 
yes";;
-                                 # Guess yes on AIX >= 4.
-           aix[1-3]*)            gl_cv_func_snprintf_directive_n="guessing 
no";;
-           aix*)                 gl_cv_func_snprintf_directive_n="guessing 
yes";;
-                                 # Guess yes on IRIX >= 6.5.
-           irix6.5)              gl_cv_func_snprintf_directive_n="guessing 
yes";;
-                                 # Guess yes on OSF/1 >= 5.
-           osf[3-4]*)            gl_cv_func_snprintf_directive_n="guessing 
no";;
-           osf*)                 gl_cv_func_snprintf_directive_n="guessing 
yes";;
-                                 # Guess yes on NetBSD >= 3.
-           netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | 
netbsdcoff[1-2]*)
-                                 gl_cv_func_snprintf_directive_n="guessing 
no";;
-           netbsd*)              gl_cv_func_snprintf_directive_n="guessing 
yes";;
-                                 # Guess yes on BeOS.
-           beos*)                gl_cv_func_snprintf_directive_n="guessing 
yes";;
-                                 # If we don't know, assume the worst.
-           *)                    gl_cv_func_snprintf_directive_n="guessing 
no";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl Test whether the snprintf function, when passed a size = 1, writes any
-dnl output without bounds in this case, behaving like sprintf. This is the
-dnl case on Linux libc5.
-dnl Result is gl_cv_func_snprintf_size1.
-
-AC_DEFUN([gl_SNPRINTF_SIZE1],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([gl_SNPRINTF_PRESENCE])
-  AC_CACHE_CHECK([whether snprintf respects a size of 1],
-    [gl_cv_func_snprintf_size1],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdio.h>
-#if HAVE_SNPRINTF
-# define my_snprintf snprintf
-#else
-# include <stdarg.h>
-static int my_snprintf (char *buf, int size, const char *format, ...)
-{
-  va_list args;
-  int ret;
-  va_start (args, format);
-  ret = vsnprintf (buf, size, format, args);
-  va_end (args);
-  return ret;
-}
-#endif
-int main()
-{
-  static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
-  my_snprintf (buf, 1, "%d", 12345);
-  return buf[1] != 'E';
-}]])],
-        [gl_cv_func_snprintf_size1=yes],
-        [gl_cv_func_snprintf_size1=no],
-        [gl_cv_func_snprintf_size1="guessing yes"])
-    ])
-])
-
-dnl Test whether the vsnprintf function, when passed a zero size, produces no
-dnl output. (ISO C99, POSIX:2001)
-dnl For example, snprintf nevertheless writes a NUL byte in this case
-dnl on OSF/1 5.1:
-dnl     ---------------------------------------------------------------------
-dnl     #include <stdio.h>
-dnl     int main()
-dnl     {
-dnl       static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
-dnl       snprintf (buf, 0, "%d", 12345);
-dnl       return buf[0] != 'D';
-dnl     }
-dnl     ---------------------------------------------------------------------
-dnl And vsnprintf writes any output without bounds in this case, behaving like
-dnl vsprintf, on HP-UX 11 and OSF/1 5.1:
-dnl     ---------------------------------------------------------------------
-dnl     #include <stdarg.h>
-dnl     #include <stdio.h>
-dnl     static int my_snprintf (char *buf, int size, const char *format, ...)
-dnl     {
-dnl       va_list args;
-dnl       int ret;
-dnl       va_start (args, format);
-dnl       ret = vsnprintf (buf, size, format, args);
-dnl       va_end (args);
-dnl       return ret;
-dnl     }
-dnl     int main()
-dnl     {
-dnl       static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
-dnl       my_snprintf (buf, 0, "%d", 12345);
-dnl       return buf[0] != 'D';
-dnl     }
-dnl     ---------------------------------------------------------------------
-dnl Result is gl_cv_func_vsnprintf_zerosize_c99.
-
-AC_DEFUN([gl_VSNPRINTF_ZEROSIZE_C99],
-[
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99],
-    [gl_cv_func_vsnprintf_zerosize_c99],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stdarg.h>
-#include <stdio.h>
-static int my_snprintf (char *buf, int size, const char *format, ...)
-{
-  va_list args;
-  int ret;
-  va_start (args, format);
-  ret = vsnprintf (buf, size, format, args);
-  va_end (args);
-  return ret;
-}
-int main()
-{
-  static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
-  my_snprintf (buf, 0, "%d", 12345);
-  return buf[0] != 'D';
-}]])],
-        [gl_cv_func_vsnprintf_zerosize_c99=yes],
-        [gl_cv_func_vsnprintf_zerosize_c99=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-                                 # Guess yes on glibc systems.
-           *-gnu*)               gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
-                                 # Guess yes on FreeBSD >= 5.
-           freebsd[1-4]*)        gl_cv_func_vsnprintf_zerosize_c99="guessing 
no";;
-           freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
-                                 # Guess yes on Mac OS X >= 10.3.
-           darwin[1-6].*)        gl_cv_func_vsnprintf_zerosize_c99="guessing 
no";;
-           darwin*)              gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
-                                 # Guess yes on Cygwin.
-           cygwin*)              gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
-                                 # Guess yes on Solaris >= 2.6.
-           solaris2.[0-5] | solaris2.[0-5].*)
-                                 gl_cv_func_vsnprintf_zerosize_c99="guessing 
no";;
-           solaris*)             gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
-                                 # Guess yes on AIX >= 4.
-           aix[1-3]*)            gl_cv_func_vsnprintf_zerosize_c99="guessing 
no";;
-           aix*)                 gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
-                                 # Guess yes on IRIX >= 6.5.
-           irix6.5)              gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
-                                 # Guess yes on NetBSD >= 3.
-           netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | 
netbsdcoff[1-2]*)
-                                 gl_cv_func_vsnprintf_zerosize_c99="guessing 
no";;
-           netbsd*)              gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
-                                 # Guess yes on BeOS.
-           beos*)                gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
-                                 # Guess yes on mingw.
-           mingw* | pw*)         gl_cv_func_vsnprintf_zerosize_c99="guessing 
yes";;
-                                 # If we don't know, assume the worst.
-           *)                    gl_cv_func_vsnprintf_zerosize_c99="guessing 
no";;
-         esac
-changequote([,])dnl
-        ])
-    ])
-])
-
-dnl The results of these tests on various platforms are:
-dnl
-dnl 1 = gl_PRINTF_SIZES_C99
-dnl 2 = gl_PRINTF_LONG_DOUBLE
-dnl 3 = gl_PRINTF_INFINITE
-dnl 4 = gl_PRINTF_INFINITE_LONG_DOUBLE
-dnl 5 = gl_PRINTF_DIRECTIVE_A
-dnl 6 = gl_PRINTF_DIRECTIVE_F
-dnl 7 = gl_PRINTF_DIRECTIVE_N
-dnl 8 = gl_PRINTF_DIRECTIVE_LS
-dnl 9 = gl_PRINTF_POSITIONS
-dnl 10 = gl_PRINTF_FLAG_GROUPING
-dnl 11 = gl_PRINTF_FLAG_LEFTADJUST
-dnl 12 = gl_PRINTF_FLAG_ZERO
-dnl 13 = gl_PRINTF_PRECISION
-dnl 14 = gl_PRINTF_ENOMEM
-dnl 15 = gl_SNPRINTF_PRESENCE
-dnl 16 = gl_SNPRINTF_TRUNCATION_C99
-dnl 17 = gl_SNPRINTF_RETVAL_C99
-dnl 18 = gl_SNPRINTF_DIRECTIVE_N
-dnl 19 = gl_SNPRINTF_SIZE1
-dnl 20 = gl_VSNPRINTF_ZEROSIZE_C99
-dnl
-dnl 1 = checking whether printf supports size specifiers as in C99...
-dnl 2 = checking whether printf supports 'long double' arguments...
-dnl 3 = checking whether printf supports infinite 'double' arguments...
-dnl 4 = checking whether printf supports infinite 'long double' arguments...
-dnl 5 = checking whether printf supports the 'a' and 'A' directives...
-dnl 6 = checking whether printf supports the 'F' directive...
-dnl 7 = checking whether printf supports the 'n' directive...
-dnl 8 = checking whether printf supports the 'ls' directive...
-dnl 9 = checking whether printf supports POSIX/XSI format strings with 
positions...
-dnl 10 = checking whether printf supports the grouping flag...
-dnl 11 = checking whether printf supports the left-adjust flag correctly...
-dnl 12 = checking whether printf supports the zero flag correctly...
-dnl 13 = checking whether printf supports large precisions...
-dnl 14 = checking whether printf survives out-of-memory conditions...
-dnl 15 = checking for snprintf...
-dnl 16 = checking whether snprintf truncates the result as in C99...
-dnl 17 = checking whether snprintf returns a byte count as in C99...
-dnl 18 = checking whether snprintf fully supports the 'n' directive...
-dnl 19 = checking whether snprintf respects a size of 1...
-dnl 20 = checking whether vsnprintf respects a zero size as in C99...
-dnl
-dnl . = yes, # = no.
-dnl
-dnl                                  1  2  3  4  5  6  7  8  9 10 11 12 13 14 
15 16 17 18 19 20
-dnl   glibc 2.5                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .
-dnl   glibc 2.3.6                    .  .  .  .  #  .  .  .  .  .  .  .  .  .  
.  .  .  .  .  .
-dnl   FreeBSD 5.4, 6.1               .  .  .  .  #  .  .  .  .  .  .  #  .  #  
.  .  .  .  .  .
-dnl   Mac OS X 10.5.8                .  .  .  #  #  .  .  .  .  .  .  #  .  .  
.  .  .  .  .  .
-dnl   Mac OS X 10.3.9                .  .  .  .  #  .  .  .  .  .  .  #  .  #  
.  .  .  .  .  .
-dnl   OpenBSD 3.9, 4.0               .  .  #  #  #  #  .  #  .  #  .  #  .  #  
.  .  .  .  .  .
-dnl   Cygwin 1.7.0 (2009)            .  .  .  #  .  .  .  ?  .  .  .  .  .  ?  
.  .  .  .  .  .
-dnl   Cygwin 1.5.25 (2008)           .  .  .  #  #  .  .  #  .  .  .  .  .  #  
.  .  .  .  .  .
-dnl   Cygwin 1.5.19 (2006)           #  .  .  #  #  #  .  #  .  #  .  #  #  #  
.  .  .  .  .  .
-dnl   Solaris 11 2011-11             .  .  #  #  #  .  .  #  .  .  .  #  .  .  
.  .  .  .  .  .
-dnl   Solaris 10                     .  .  #  #  #  .  .  #  .  .  .  #  #  .  
.  .  .  .  .  .
-dnl   Solaris 2.6 ... 9              #  .  #  #  #  #  .  #  .  .  .  #  #  .  
.  .  #  .  .  .
-dnl   Solaris 2.5.1                  #  .  #  #  #  #  .  #  .  .  .  #  .  .  
#  #  #  #  #  #
-dnl   AIX 7.1                        .  .  #  #  #  .  .  .  .  .  .  #  #  .  
.  .  .  .  .  .
-dnl   AIX 5.2                        .  .  #  #  #  .  .  .  .  .  .  #  .  .  
.  .  .  .  .  .
-dnl   AIX 4.3.2, 5.1                 #  .  #  #  #  #  .  .  .  .  .  #  .  .  
.  .  #  .  .  .
-dnl   HP-UX 11.31                    .  .  .  .  #  .  .  .  .  .  .  #  .  .  
.  .  #  #  .  .
-dnl   HP-UX 11.{00,11,23}            #  .  .  .  #  #  .  .  .  .  .  #  .  .  
.  .  #  #  .  #
-dnl   HP-UX 10.20                    #  .  #  .  #  #  .  ?  .  .  #  #  .  .  
.  .  #  #  ?  #
-dnl   IRIX 6.5                       #  .  #  #  #  #  .  #  .  .  .  #  .  .  
.  .  #  .  .  .
-dnl   OSF/1 5.1                      #  .  #  #  #  #  .  .  .  .  .  #  .  .  
.  .  #  .  .  #
-dnl   OSF/1 4.0d                     #  .  #  #  #  #  .  .  .  .  .  #  .  .  
#  #  #  #  #  #
-dnl   NetBSD 5.0                     .  .  .  #  #  .  .  .  .  .  .  #  .  #  
.  .  .  .  .  .
-dnl   NetBSD 4.0                     .  ?  ?  ?  ?  ?  .  ?  .  ?  ?  ?  ?  ?  
.  .  .  ?  ?  ?
-dnl   NetBSD 3.0                     .  .  .  .  #  #  .  ?  #  #  ?  #  .  #  
.  .  .  .  .  .
-dnl   Haiku                          .  .  .  #  #  #  .  #  .  .  .  .  .  ?  
.  .  ?  .  .  .
-dnl   BeOS                           #  #  .  #  #  #  .  ?  #  .  ?  .  #  ?  
.  .  ?  .  .  .
-dnl   old mingw / msvcrt             #  #  #  #  #  #  .  .  #  #  .  #  #  ?  
.  #  #  #  .  .
-dnl   MSVC 9                         #  #  #  #  #  #  #  .  #  #  .  #  #  ?  
#  #  #  #  .  .
-dnl   mingw 2009-2011                .  #  .  #  .  .  .  .  #  #  .  .  .  ?  
.  .  .  .  .  .
-dnl   mingw-w64 2011                 #  #  #  #  #  #  .  .  #  #  .  #  #  ?  
.  #  #  #  .  .
diff --git a/gl/m4/putenv.m4 b/gl/m4/putenv.m4
index c33b5b5..d79321b 100644
--- a/gl/m4/putenv.m4
+++ b/gl/m4/putenv.m4
@@ -1,5 +1,5 @@
 # putenv.m4 serial 20
-dnl Copyright (C) 2002-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/setenv.m4 b/gl/m4/setenv.m4
index cb5351a..0f46a7b 100644
--- a/gl/m4/setenv.m4
+++ b/gl/m4/setenv.m4
@@ -1,5 +1,5 @@
 # setenv.m4 serial 26
-dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/signbit.m4 b/gl/m4/signbit.m4
deleted file mode 100644
index d58caaf..0000000
--- a/gl/m4/signbit.m4
+++ /dev/null
@@ -1,365 +0,0 @@
-# signbit.m4 serial 13
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_SIGNBIT],
-[
-  AC_REQUIRE([gl_MATH_H_DEFAULTS])
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-  AC_CACHE_CHECK([for signbit macro], [gl_cv_func_signbit],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <math.h>
-/* If signbit is defined as a function, don't use it, since calling it for
-   'float' or 'long double' arguments would involve conversions.
-   If signbit is not declared at all but exists as a library function, don't
-   use it, since the prototype may not match.
-   If signbit is not declared at all but exists as a compiler built-in, don't
-   use it, since it's preferable to use __builtin_signbit* (no warnings,
-   no conversions).  */
-#ifndef signbit
-# error "signbit should be a macro"
-#endif
-#include <string.h>
-]gl_SIGNBIT_TEST_PROGRAM
-])],
-        [gl_cv_func_signbit=yes],
-        [gl_cv_func_signbit=no],
-        [case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_signbit="guessing yes" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_signbit="guessing no" ;;
-         esac
-        ])
-    ])
-  dnl GCC 4.0 and newer provides three built-ins for signbit.
-  dnl They can be used without warnings, also in C++, regardless of <math.h>.
-  dnl But they may expand to calls to functions, which may or may not be in
-  dnl libc.
-  AC_CACHE_CHECK([for signbit compiler built-ins], [gl_cv_func_signbit_gcc],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#if __GNUC__ >= 4
-# define signbit(x) \
-   (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \
-    sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \
-    __builtin_signbitf (x))
-#else
-# error "signbit should be three compiler built-ins"
-#endif
-#include <string.h>
-]gl_SIGNBIT_TEST_PROGRAM
-])],
-        [gl_cv_func_signbit_gcc=yes],
-        [gl_cv_func_signbit_gcc=no],
-        [case "$host_os" in
-                   # Guess yes on glibc systems.
-           *-gnu*) gl_cv_func_signbit_gcc="guessing yes" ;;
-                   # If we don't know, assume the worst.
-           *)      gl_cv_func_signbit_gcc="guessing no" ;;
-         esac
-        ])
-    ])
-  dnl Use the compiler built-ins whenever possible, because they are more
-  dnl efficient than the system library functions (if they exist).
-  case "$gl_cv_func_signbit_gcc" in
-    *yes)
-      REPLACE_SIGNBIT_USING_GCC=1
-      ;;
-    *)
-      case "$gl_cv_func_signbit" in
-        *yes) ;;
-        *)
-          dnl REPLACE_SIGNBIT=1 makes sure the signbit[fdl] functions get 
built.
-          REPLACE_SIGNBIT=1
-          gl_FLOAT_SIGN_LOCATION
-          gl_DOUBLE_SIGN_LOCATION
-          gl_LONG_DOUBLE_SIGN_LOCATION
-          if test "$gl_cv_cc_float_signbit" = unknown; then
-            dnl Test whether copysignf() is declared.
-            AC_CHECK_DECLS([copysignf], , , [[#include <math.h>]])
-            if test "$ac_cv_have_decl_copysignf" = yes; then
-              dnl Test whether copysignf() can be used without libm.
-              AC_CACHE_CHECK([whether copysignf can be used without linking 
with libm],
-                [gl_cv_func_copysignf_no_libm],
-                [
-                  AC_LINK_IFELSE(
-                    [AC_LANG_PROGRAM(
-                       [[#include <math.h>
-                         float x, y;]],
-                       [[return copysignf (x, y) < 0;]])],
-                    [gl_cv_func_copysignf_no_libm=yes],
-                    [gl_cv_func_copysignf_no_libm=no])
-                ])
-              if test $gl_cv_func_copysignf_no_libm = yes; then
-                AC_DEFINE([HAVE_COPYSIGNF_IN_LIBC], [1],
-                  [Define if the copysignf function is declared in <math.h> 
and available in libc.])
-              fi
-            fi
-          fi
-          if test "$gl_cv_cc_double_signbit" = unknown; then
-            dnl Test whether copysign() is declared.
-            AC_CHECK_DECLS([copysign], , , [[#include <math.h>]])
-            if test "$ac_cv_have_decl_copysign" = yes; then
-              dnl Test whether copysign() can be used without libm.
-              AC_CACHE_CHECK([whether copysign can be used without linking 
with libm],
-                [gl_cv_func_copysign_no_libm],
-                [
-                  AC_LINK_IFELSE(
-                    [AC_LANG_PROGRAM(
-                       [[#include <math.h>
-                         double x, y;]],
-                       [[return copysign (x, y) < 0;]])],
-                    [gl_cv_func_copysign_no_libm=yes],
-                    [gl_cv_func_copysign_no_libm=no])
-                ])
-              if test $gl_cv_func_copysign_no_libm = yes; then
-                AC_DEFINE([HAVE_COPYSIGN_IN_LIBC], [1],
-                  [Define if the copysign function is declared in <math.h> and 
available in libc.])
-              fi
-            fi
-          fi
-          if test "$gl_cv_cc_long_double_signbit" = unknown; then
-            dnl Test whether copysignl() is declared.
-            AC_CHECK_DECLS([copysignl], , , [[#include <math.h>]])
-            if test "$ac_cv_have_decl_copysignl" = yes; then
-              dnl Test whether copysignl() can be used without libm.
-              AC_CACHE_CHECK([whether copysignl can be used without linking 
with libm],
-                [gl_cv_func_copysignl_no_libm],
-                [
-                  AC_LINK_IFELSE(
-                    [AC_LANG_PROGRAM(
-                       [[#include <math.h>
-                         long double x, y;]],
-                       [[return copysignl (x, y) < 0;]])],
-                    [gl_cv_func_copysignl_no_libm=yes],
-                    [gl_cv_func_copysignl_no_libm=no])
-                ])
-              if test $gl_cv_func_copysignl_no_libm = yes; then
-                AC_DEFINE([HAVE_COPYSIGNL_IN_LIBC], [1],
-                  [Define if the copysignl function is declared in <math.h> 
and available in libc.])
-              fi
-            fi
-          fi
-          ;;
-      esac
-      ;;
-  esac
-])
-
-AC_DEFUN([gl_SIGNBIT_TEST_PROGRAM], [[
-/* Global variables.
-   Needed because GCC 4 constant-folds __builtin_signbitl (literal)
-   but cannot constant-fold            __builtin_signbitl (variable).  */
-float vf;
-double vd;
-long double vl;
-int main ()
-{
-/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0.
-   So we use -p0f and -p0d instead.  */
-float p0f = 0.0f;
-float m0f = -p0f;
-double p0d = 0.0;
-double m0d = -p0d;
-/* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
-   So we use another constant expression instead.
-   But that expression does not work on other platforms, such as when
-   cross-compiling to PowerPC on Mac OS X 10.5.  */
-long double p0l = 0.0L;
-#if defined __hpux || defined __sgi
-long double m0l = -LDBL_MIN * LDBL_MIN;
-#else
-long double m0l = -p0l;
-#endif
-  int result = 0;
-  if (signbit (vf)) /* link check */
-    vf++;
-  {
-    float plus_inf = 1.0f / p0f;
-    float minus_inf = -1.0f / p0f;
-    if (!(!signbit (255.0f)
-          && signbit (-255.0f)
-          && !signbit (p0f)
-          && (memcmp (&m0f, &p0f, sizeof (float)) == 0 || signbit (m0f))
-          && !signbit (plus_inf)
-          && signbit (minus_inf)))
-      result |= 1;
-  }
-  if (signbit (vd)) /* link check */
-    vd++;
-  {
-    double plus_inf = 1.0 / p0d;
-    double minus_inf = -1.0 / p0d;
-    if (!(!signbit (255.0)
-          && signbit (-255.0)
-          && !signbit (p0d)
-          && (memcmp (&m0d, &p0d, sizeof (double)) == 0 || signbit (m0d))
-          && !signbit (plus_inf)
-          && signbit (minus_inf)))
-      result |= 2;
-  }
-  if (signbit (vl)) /* link check */
-    vl++;
-  {
-    long double plus_inf = 1.0L / p0l;
-    long double minus_inf = -1.0L / p0l;
-    if (signbit (255.0L))
-      result |= 4;
-    if (!signbit (-255.0L))
-      result |= 4;
-    if (signbit (p0l))
-      result |= 8;
-    if (!(memcmp (&m0l, &p0l, sizeof (long double)) == 0 || signbit (m0l)))
-      result |= 16;
-    if (signbit (plus_inf))
-      result |= 32;
-    if (!signbit (minus_inf))
-      result |= 64;
-  }
-  return result;
-}
-]])
-
-AC_DEFUN([gl_FLOAT_SIGN_LOCATION],
-[
-  gl_FLOATTYPE_SIGN_LOCATION([float], [gl_cv_cc_float_signbit], [f], [FLT])
-])
-
-AC_DEFUN([gl_DOUBLE_SIGN_LOCATION],
-[
-  gl_FLOATTYPE_SIGN_LOCATION([double], [gl_cv_cc_double_signbit], [], [DBL])
-])
-
-AC_DEFUN([gl_LONG_DOUBLE_SIGN_LOCATION],
-[
-  gl_FLOATTYPE_SIGN_LOCATION([long double], [gl_cv_cc_long_double_signbit], 
[L], [LDBL])
-])
-
-AC_DEFUN([gl_FLOATTYPE_SIGN_LOCATION],
-[
-  AC_CACHE_CHECK([where to find the sign bit in a '$1'],
-    [$2],
-    [
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <stddef.h>
-#include <stdio.h>
-#define NWORDS \
-  ((sizeof ($1) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-typedef union { $1 value; unsigned int word[NWORDS]; }
-        memory_float;
-static memory_float plus = { 1.0$3 };
-static memory_float minus = { -1.0$3 };
-int main ()
-{
-  size_t j, k, i;
-  unsigned int m;
-  FILE *fp = fopen ("conftest.out", "w");
-  if (fp == NULL)
-    return 1;
-  /* Find the different bit.  */
-  k = 0; m = 0;
-  for (j = 0; j < NWORDS; j++)
-    {
-      unsigned int x = plus.word[j] ^ minus.word[j];
-      if ((x & (x - 1)) || (x && m))
-        {
-          /* More than one bit difference.  */
-          fprintf (fp, "unknown");
-          return 2;
-        }
-      if (x)
-        {
-          k = j;
-          m = x;
-        }
-    }
-  if (m == 0)
-    {
-      /* No difference.  */
-      fprintf (fp, "unknown");
-      return 3;
-    }
-  /* Now m = plus.word[k] ^ ~minus.word[k].  */
-  if (plus.word[k] & ~minus.word[k])
-    {
-      /* Oh? The sign bit is set in the positive and cleared in the negative
-         numbers?  */
-      fprintf (fp, "unknown");
-      return 4;
-    }
-  for (i = 0; ; i++)
-    if ((m >> i) & 1)
-      break;
-  fprintf (fp, "word %d bit %d", (int) k, (int) i);
-  if (fclose (fp) != 0)
-    return 5;
-  return 0;
-}
-        ]])],
-        [$2=`cat conftest.out`],
-        [$2="unknown"],
-        [
-          dnl When cross-compiling, we don't know. It depends on the
-          dnl ABI and compiler version. There are too many cases.
-          $2="unknown"
-        ])
-      rm -f conftest.out
-    ])
-  case "$]$2[" in
-    word*bit*)
-      word=`echo "$]$2[" | sed -e 's/word //' -e 's/ bit.*//'`
-      bit=`echo "$]$2[" | sed -e 's/word.*bit //'`
-      AC_DEFINE_UNQUOTED([$4][_SIGNBIT_WORD], [$word],
-        [Define as the word index where to find the sign of '$1'.])
-      AC_DEFINE_UNQUOTED([$4][_SIGNBIT_BIT], [$bit],
-        [Define as the bit index in the word where to find the sign of '$1'.])
-      ;;
-  esac
-])
-
-# Expands to code that defines a function signbitf(float).
-# It extracts the sign bit of a non-NaN value.
-AC_DEFUN([gl_FLOAT_SIGNBIT_CODE],
-[
-  gl_FLOATTYPE_SIGNBIT_CODE([float], [f], [f])
-])
-
-# Expands to code that defines a function signbitd(double).
-# It extracts the sign bit of a non-NaN value.
-AC_DEFUN([gl_DOUBLE_SIGNBIT_CODE],
-[
-  gl_FLOATTYPE_SIGNBIT_CODE([double], [d], [])
-])
-
-# Expands to code that defines a function signbitl(long double).
-# It extracts the sign bit of a non-NaN value.
-AC_DEFUN([gl_LONG_DOUBLE_SIGNBIT_CODE],
-[
-  gl_FLOATTYPE_SIGNBIT_CODE([long double], [l], [L])
-])
-
-AC_DEFUN([gl_FLOATTYPE_SIGNBIT_CODE],
-[[
-static int
-signbit$2 ($1 value)
-{
-  typedef union { $1 f; unsigned char b[sizeof ($1)]; } float_union;
-  static float_union plus_one = { 1.0$3 };   /* unused bits are zero here */
-  static float_union minus_one = { -1.0$3 }; /* unused bits are zero here */
-  /* Compute the sign bit mask as the XOR of plus_one and minus_one.  */
-  float_union u;
-  unsigned int i;
-  u.f = value;
-  for (i = 0; i < sizeof ($1); i++)
-    if (u.b[i] & (plus_one.b[i] ^ minus_one.b[i]))
-      return 1;
-  return 0;
-}
-]])
diff --git a/gl/m4/size_max.m4 b/gl/m4/size_max.m4
deleted file mode 100644
index 4b247ab..0000000
--- a/gl/m4/size_max.m4
+++ /dev/null
@@ -1,79 +0,0 @@
-# size_max.m4 serial 10
-dnl Copyright (C) 2003, 2005-2006, 2008-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([gl_SIZE_MAX],
-[
-  AC_CHECK_HEADERS([stdint.h])
-  dnl First test whether the system already has SIZE_MAX.
-  AC_CACHE_CHECK([for SIZE_MAX], [gl_cv_size_max], [
-    gl_cv_size_max=
-    AC_EGREP_CPP([Found it], [
-#include <limits.h>
-#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#ifdef SIZE_MAX
-Found it
-#endif
-], [gl_cv_size_max=yes])
-    if test -z "$gl_cv_size_max"; then
-      dnl Define it ourselves. Here we assume that the type 'size_t' is not 
wider
-      dnl than the type 'unsigned long'. Try hard to find a definition that can
-      dnl be used in a preprocessor #if, i.e. doesn't contain a cast.
-      AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1],
-        [#include <stddef.h>
-#include <limits.h>], [size_t_bits_minus_1=])
-      AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned 
int)],
-        [#include <stddef.h>], [fits_in_uint=])
-      if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
-        if test $fits_in_uint = 1; then
-          dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
-          dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned 
long'.
-          AC_COMPILE_IFELSE(
-            [AC_LANG_PROGRAM(
-               [[#include <stddef.h>
-                 extern size_t foo;
-                 extern unsigned long foo;
-               ]],
-               [[]])],
-            [fits_in_uint=0])
-        fi
-        dnl We cannot use 'expr' to simplify this expression, because 'expr'
-        dnl works only with 'long' integers in the host environment, while we
-        dnl might be cross-compiling from a 32-bit platform to a 64-bit 
platform.
-        if test $fits_in_uint = 1; then
-          gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)"
-        else
-          gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)"
-        fi
-      else
-        dnl Shouldn't happen, but who knows...
-        gl_cv_size_max='((size_t)~(size_t)0)'
-      fi
-    fi
-  ])
-  if test "$gl_cv_size_max" != yes; then
-    AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max],
-      [Define as the maximum value of type 'size_t', if the system doesn't 
define it.])
-  fi
-  dnl Don't redefine SIZE_MAX in config.h if config.h is re-included after
-  dnl <stdint.h>. Remember that the #undef in AH_VERBATIM gets replaced with
-  dnl #define by AC_DEFINE_UNQUOTED.
-  AH_VERBATIM([SIZE_MAX],
-[/* Define as the maximum value of type 'size_t', if the system doesn't define
-   it. */
-#ifndef SIZE_MAX
-# undef SIZE_MAX
-#endif])
-])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
-  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
diff --git a/gl/m4/ssize_t.m4 b/gl/m4/ssize_t.m4
index 6338134..fbe1d06 100644
--- a/gl/m4/ssize_t.m4
+++ b/gl/m4/ssize_t.m4
@@ -1,5 +1,5 @@
 # ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/stat.m4 b/gl/m4/stat.m4
index 2456297..1ae327b 100644
--- a/gl/m4/stat.m4
+++ b/gl/m4/stat.m4
@@ -1,6 +1,6 @@
 # serial 11
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/gl/m4/stdarg.m4 b/gl/m4/stdarg.m4
index c087f61..732aa31 100644
--- a/gl/m4/stdarg.m4
+++ b/gl/m4/stdarg.m4
@@ -1,5 +1,5 @@
 # stdarg.m4 serial 6
-dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/stdbool.m4 b/gl/m4/stdbool.m4
index 80d5559..006ed52 100644
--- a/gl/m4/stdbool.m4
+++ b/gl/m4/stdbool.m4
@@ -1,6 +1,6 @@
 # Check for stdbool.h that conforms to C99.
 
-dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/stddef_h.m4 b/gl/m4/stddef_h.m4
index 5da8ab1..c555e29 100644
--- a/gl/m4/stddef_h.m4
+++ b/gl/m4/stddef_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
 # stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/stdint.m4 b/gl/m4/stdint.m4
index 27cdcdb..1981d9d 100644
--- a/gl/m4/stdint.m4
+++ b/gl/m4/stdint.m4
@@ -1,5 +1,5 @@
 # stdint.m4 serial 43
-dnl Copyright (C) 2001-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/stdint_h.m4 b/gl/m4/stdint_h.m4
deleted file mode 100644
index 511ab4e..0000000
--- a/gl/m4/stdint_h.m4
+++ /dev/null
@@ -1,27 +0,0 @@
-# stdint_h.m4 serial 9
-dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paul Eggert.
-
-# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
-# doesn't clash with <sys/types.h>, and declares uintmax_t.
-
-AC_DEFUN([gl_AC_HEADER_STDINT_H],
-[
-  AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h],
-    [AC_COMPILE_IFELSE(
-       [AC_LANG_PROGRAM(
-          [[#include <sys/types.h>
-            #include <stdint.h>]],
-          [[uintmax_t i = (uintmax_t) -1; return !i;]])],
-       [gl_cv_header_stdint_h=yes],
-       [gl_cv_header_stdint_h=no])])
-  if test $gl_cv_header_stdint_h = yes; then
-    AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1],
-      [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
-       and declares uintmax_t. ])
-  fi
-])
diff --git a/gl/m4/stdio_h.m4 b/gl/m4/stdio_h.m4
index ebade06..d15913a 100644
--- a/gl/m4/stdio_h.m4
+++ b/gl/m4/stdio_h.m4
@@ -1,5 +1,5 @@
 # stdio_h.m4 serial 43
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/stdlib_h.m4 b/gl/m4/stdlib_h.m4
index 2027ab3..03b448b 100644
--- a/gl/m4/stdlib_h.m4
+++ b/gl/m4/stdlib_h.m4
@@ -1,5 +1,5 @@
 # stdlib_h.m4 serial 42
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/strerror.m4 b/gl/m4/strerror.m4
index 3989844..0763fe3 100644
--- a/gl/m4/strerror.m4
+++ b/gl/m4/strerror.m4
@@ -1,5 +1,5 @@
 # strerror.m4 serial 17
-dnl Copyright (C) 2002, 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/string_h.m4 b/gl/m4/string_h.m4
index cc5fbbb..64e683f 100644
--- a/gl/m4/string_h.m4
+++ b/gl/m4/string_h.m4
@@ -1,6 +1,6 @@
 # Configure a GNU-like replacement for <string.h>.
 
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
 # This file 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.
diff --git a/gl/m4/symlink.m4 b/gl/m4/symlink.m4
index 82ede2a..de4924b 100644
--- a/gl/m4/symlink.m4
+++ b/gl/m4/symlink.m4
@@ -1,7 +1,7 @@
 # serial 6
 # See if we need to provide symlink replacement.
 
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/sys_socket_h.m4 b/gl/m4/sys_socket_h.m4
index 9486377..114d828 100644
--- a/gl/m4/sys_socket_h.m4
+++ b/gl/m4/sys_socket_h.m4
@@ -1,5 +1,5 @@
 # sys_socket_h.m4 serial 23
-dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/sys_stat_h.m4 b/gl/m4/sys_stat_h.m4
index 6dd3d99..eaa7642 100644
--- a/gl/m4/sys_stat_h.m4
+++ b/gl/m4/sys_stat_h.m4
@@ -1,5 +1,5 @@
 # sys_stat_h.m4 serial 28   -*- Autoconf -*-
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/sys_time_h.m4 b/gl/m4/sys_time_h.m4
new file mode 100644
index 0000000..5c79300
--- /dev/null
+++ b/gl/m4/sys_time_h.m4
@@ -0,0 +1,110 @@
+# Configure a replacement for <sys/time.h>.
+# serial 8
+
+# Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
+# This file 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.
+
+# Written by Paul Eggert and Martin Lambers.
+
+AC_DEFUN([gl_HEADER_SYS_TIME_H],
+[
+  dnl Use AC_REQUIRE here, so that the REPLACE_GETTIMEOFDAY=0 statement
+  dnl below is expanded once only, before all REPLACE_GETTIMEOFDAY=1
+  dnl statements that occur in other macros.
+  AC_REQUIRE([gl_HEADER_SYS_TIME_H_BODY])
+])
+
+AC_DEFUN([gl_HEADER_SYS_TIME_H_BODY],
+[
+  AC_REQUIRE([AC_C_RESTRICT])
+  AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS])
+  AC_CHECK_HEADERS_ONCE([sys/time.h])
+  gl_CHECK_NEXT_HEADERS([sys/time.h])
+
+  if test $ac_cv_header_sys_time_h != yes; then
+    HAVE_SYS_TIME_H=0
+  fi
+
+  dnl On native Windows with MSVC, 'struct timeval' is defined in <winsock2.h>
+  dnl only. So include that header in the list.
+  gl_PREREQ_SYS_H_WINSOCK2
+  AC_CACHE_CHECK([for struct timeval], [gl_cv_sys_struct_timeval],
+    [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM(
+          [[#if HAVE_SYS_TIME_H
+             #include <sys/time.h>
+            #endif
+            #include <time.h>
+            #if HAVE_WINSOCK2_H
+            # include <winsock2.h>
+            #endif
+          ]],
+          [[static struct timeval x; x.tv_sec = x.tv_usec;]])],
+       [gl_cv_sys_struct_timeval=yes],
+       [gl_cv_sys_struct_timeval=no])
+    ])
+  if test $gl_cv_sys_struct_timeval != yes; then
+    HAVE_STRUCT_TIMEVAL=0
+  else
+    dnl On native Windows with a 64-bit 'time_t', 'struct timeval' is defined
+    dnl (in <sys/time.h> and <winsock2.h> for mingw64, in <winsock2.h> only
+    dnl for MSVC) with a tv_sec field of type 'long' (32-bit!), which is
+    dnl smaller than the 'time_t' type mandated by POSIX.
+    dnl On OpenBSD 5.1 amd64, tv_sec is 64 bits and time_t 32 bits, but
+    dnl that is good enough.
+    AC_CACHE_CHECK([for wide-enough struct timeval.tv_sec member],
+      [gl_cv_sys_struct_timeval_tv_sec],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[#if HAVE_SYS_TIME_H
+               #include <sys/time.h>
+              #endif
+              #include <time.h>
+              #if HAVE_WINSOCK2_H
+              # include <winsock2.h>
+              #endif
+            ]],
+            [[static struct timeval x;
+              typedef int verify_tv_sec_type[
+                sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1
+              ];
+            ]])],
+         [gl_cv_sys_struct_timeval_tv_sec=yes],
+         [gl_cv_sys_struct_timeval_tv_sec=no])
+      ])
+    if test $gl_cv_sys_struct_timeval_tv_sec != yes; then
+      REPLACE_STRUCT_TIMEVAL=1
+    fi
+  fi
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use.
+  gl_WARN_ON_USE_PREPARE([[
+#if HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+#include <time.h>
+    ]], [gettimeofday])
+])
+
+AC_DEFUN([gl_SYS_TIME_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_HEADER_SYS_TIME_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_HEADER_SYS_TIME_H_DEFAULTS],
+[
+  GNULIB_GETTIMEOFDAY=0;     AC_SUBST([GNULIB_GETTIMEOFDAY])
+  dnl Assume POSIX behavior unless another module says otherwise.
+  HAVE_GETTIMEOFDAY=1;       AC_SUBST([HAVE_GETTIMEOFDAY])
+  HAVE_STRUCT_TIMEVAL=1;     AC_SUBST([HAVE_STRUCT_TIMEVAL])
+  HAVE_SYS_TIME_H=1;         AC_SUBST([HAVE_SYS_TIME_H])
+  REPLACE_GETTIMEOFDAY=0;    AC_SUBST([REPLACE_GETTIMEOFDAY])
+  REPLACE_STRUCT_TIMEVAL=0;  AC_SUBST([REPLACE_STRUCT_TIMEVAL])
+])
diff --git a/gl/m4/sys_types_h.m4 b/gl/m4/sys_types_h.m4
index d15c1b3..9748905 100644
--- a/gl/m4/sys_types_h.m4
+++ b/gl/m4/sys_types_h.m4
@@ -1,5 +1,5 @@
 # sys_types_h.m4 serial 5
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/time_h.m4 b/gl/m4/time_h.m4
index 3b83900..9852778 100644
--- a/gl/m4/time_h.m4
+++ b/gl/m4/time_h.m4
@@ -1,8 +1,8 @@
 # Configure a more-standard replacement for <time.h>.
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2014 Free Software Foundation, Inc.
 
-# serial 7
+# serial 8
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -106,4 +106,13 @@ AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS],
   REPLACE_MKTIME=GNULIB_PORTCHECK;       AC_SUBST([REPLACE_MKTIME])
   REPLACE_NANOSLEEP=GNULIB_PORTCHECK;    AC_SUBST([REPLACE_NANOSLEEP])
   REPLACE_TIMEGM=GNULIB_PORTCHECK;       AC_SUBST([REPLACE_TIMEGM])
+
+  dnl Hack so that the time module doesn't depend on the sys_time module.
+  dnl First, default GNULIB_GETTIMEOFDAY to 0 if sys_time is absent.
+  : ${GNULIB_GETTIMEOFDAY=0};            AC_SUBST([GNULIB_GETTIMEOFDAY])
+  dnl Second, it's OK to not use GNULIB_PORTCHECK for REPLACE_GMTIME
+  dnl and REPLACE_LOCALTIME, as portability to Solaris 2.6 and earlier
+  dnl is no longer a big deal.
+  REPLACE_GMTIME=0;                      AC_SUBST([REPLACE_GMTIME])
+  REPLACE_LOCALTIME=0;                   AC_SUBST([REPLACE_LOCALTIME])
 ])
diff --git a/gl/m4/unistd_h.m4 b/gl/m4/unistd_h.m4
index 4231578..1fa197e 100644
--- a/gl/m4/unistd_h.m4
+++ b/gl/m4/unistd_h.m4
@@ -1,5 +1,5 @@
 # unistd_h.m4 serial 67
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/valgrind-tests.m4 b/gl/m4/valgrind-tests.m4
index 66f81fb..fb91d53 100644
--- a/gl/m4/valgrind-tests.m4
+++ b/gl/m4/valgrind-tests.m4
@@ -1,5 +1,5 @@
 # valgrind-tests.m4 serial 3
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -12,8 +12,8 @@ dnl From Simon Josefsson
 AC_DEFUN([gl_VALGRIND_TESTS],
 [
   AC_ARG_ENABLE(valgrind-tests,
-    AS_HELP_STRING([--enable-valgrind-tests],
-                   [run self tests under valgrind]),
+    AS_HELP_STRING([--disable-valgrind-tests],
+                   [don't try to run self tests under valgrind]),
     [opt_valgrind_tests=$enableval], [opt_valgrind_tests=yes])
 
   # Run self-tests under valgrind?
diff --git a/gl/m4/vasnprintf.m4 b/gl/m4/vasnprintf.m4
deleted file mode 100644
index d730e43..0000000
--- a/gl/m4/vasnprintf.m4
+++ /dev/null
@@ -1,291 +0,0 @@
-# vasnprintf.m4 serial 36
-dnl Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_VASNPRINTF],
-[
-  AC_CHECK_FUNCS_ONCE([vasnprintf])
-  if test $ac_cv_func_vasnprintf = no; then
-    gl_REPLACE_VASNPRINTF
-  fi
-])
-
-AC_DEFUN([gl_REPLACE_VASNPRINTF],
-[
-  AC_CHECK_FUNCS_ONCE([vasnprintf])
-  AC_LIBOBJ([vasnprintf])
-  AC_LIBOBJ([printf-args])
-  AC_LIBOBJ([printf-parse])
-  AC_LIBOBJ([asnprintf])
-  if test $ac_cv_func_vasnprintf = yes; then
-    AC_DEFINE([REPLACE_VASNPRINTF], [1],
-      [Define if vasnprintf exists but is overridden by gnulib.])
-  fi
-  gl_PREREQ_PRINTF_ARGS
-  gl_PREREQ_PRINTF_PARSE
-  gl_PREREQ_VASNPRINTF
-  gl_PREREQ_ASNPRINTF
-])
-
-# Prerequisites of lib/printf-args.h, lib/printf-args.c.
-AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
-[
-  AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
-  AC_REQUIRE([gt_TYPE_WCHAR_T])
-  AC_REQUIRE([gt_TYPE_WINT_T])
-])
-
-# Prerequisites of lib/printf-parse.h, lib/printf-parse.c.
-AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
-[
-  AC_REQUIRE([gl_FEATURES_H])
-  AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
-  AC_REQUIRE([gt_TYPE_WCHAR_T])
-  AC_REQUIRE([gt_TYPE_WINT_T])
-  AC_REQUIRE([AC_TYPE_SIZE_T])
-  AC_CHECK_TYPE([ptrdiff_t], ,
-    [AC_DEFINE([ptrdiff_t], [long],
-       [Define as the type of the result of subtracting two pointers, if the 
system doesn't define it.])
-    ])
-  AC_REQUIRE([gt_AC_TYPE_INTMAX_T])
-])
-
-# Prerequisites of lib/vasnprintf.c.
-AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF],
-[
-  AC_REQUIRE([AC_FUNC_ALLOCA])
-  AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
-  AC_REQUIRE([gt_TYPE_WCHAR_T])
-  AC_REQUIRE([gt_TYPE_WINT_T])
-  AC_CHECK_FUNCS([snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb])
-  dnl Use the _snprintf function only if it is declared (because on NetBSD it
-  dnl is defined as a weak alias of snprintf; we prefer to use the latter).
-  AC_CHECK_DECLS([_snprintf], , , [[#include <stdio.h>]])
-  dnl Knowing DBL_EXPBIT0_WORD and DBL_EXPBIT0_BIT enables an optimization
-  dnl in the code for NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE.
-  AC_REQUIRE([gl_DOUBLE_EXPONENT_LOCATION])
-  dnl We can avoid a lot of code by assuming that snprintf's return value
-  dnl conforms to ISO C99. So check that.
-  AC_REQUIRE([gl_SNPRINTF_RETVAL_C99])
-  case "$gl_cv_func_snprintf_retval_c99" in
-    *yes)
-      AC_DEFINE([HAVE_SNPRINTF_RETVAL_C99], [1],
-        [Define if the return value of the snprintf function is the number of
-         of bytes (excluding the terminating NUL) that would have been produced
-         if the buffer had been large enough.])
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for supporting 'long double'
-# arguments.
-AC_DEFUN_ONCE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE],
-[
-  AC_REQUIRE([gl_PRINTF_LONG_DOUBLE])
-  case "$gl_cv_func_printf_long_double" in
-    *yes)
-      ;;
-    *)
-      AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1],
-        [Define if the vasnprintf implementation needs special code for
-         'long double' arguments.])
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for supporting infinite 'double'
-# arguments.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE],
-[
-  AC_REQUIRE([gl_PRINTF_INFINITE])
-  case "$gl_cv_func_printf_infinite" in
-    *yes)
-      ;;
-    *)
-      AC_DEFINE([NEED_PRINTF_INFINITE_DOUBLE], [1],
-        [Define if the vasnprintf implementation needs special code for
-         infinite 'double' arguments.])
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for supporting infinite 'long double'
-# arguments.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE],
-[
-  AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE])
-  dnl There is no need to set NEED_PRINTF_INFINITE_LONG_DOUBLE if
-  dnl NEED_PRINTF_LONG_DOUBLE is already set.
-  AC_REQUIRE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE])
-  case "$gl_cv_func_printf_long_double" in
-    *yes)
-      case "$gl_cv_func_printf_infinite_long_double" in
-        *yes)
-          ;;
-        *)
-          AC_DEFINE([NEED_PRINTF_INFINITE_LONG_DOUBLE], [1],
-            [Define if the vasnprintf implementation needs special code for
-             infinite 'long double' arguments.])
-          ;;
-      esac
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for supporting the 'a' directive.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A],
-[
-  AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
-  case "$gl_cv_func_printf_directive_a" in
-    *yes)
-      ;;
-    *)
-      AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], [1],
-        [Define if the vasnprintf implementation needs special code for
-         the 'a' and 'A' directives.])
-      AC_CHECK_FUNCS([nl_langinfo])
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for supporting the 'F' directive.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_F],
-[
-  AC_REQUIRE([gl_PRINTF_DIRECTIVE_F])
-  case "$gl_cv_func_printf_directive_f" in
-    *yes)
-      ;;
-    *)
-      AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], [1],
-        [Define if the vasnprintf implementation needs special code for
-         the 'F' directive.])
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for supporting the 'ls' directive.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_LS],
-[
-  AC_REQUIRE([gl_PRINTF_DIRECTIVE_LS])
-  case "$gl_cv_func_printf_directive_ls" in
-    *yes)
-      ;;
-    *)
-      AC_DEFINE([NEED_PRINTF_DIRECTIVE_LS], [1],
-        [Define if the vasnprintf implementation needs special code for
-         the 'ls' directive.])
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for supporting the ' flag.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING],
-[
-  AC_REQUIRE([gl_PRINTF_FLAG_GROUPING])
-  case "$gl_cv_func_printf_flag_grouping" in
-    *yes)
-      ;;
-    *)
-      AC_DEFINE([NEED_PRINTF_FLAG_GROUPING], [1],
-        [Define if the vasnprintf implementation needs special code for the
-         ' flag.])
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for supporting the '-' flag.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST],
-[
-  AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST])
-  case "$gl_cv_func_printf_flag_leftadjust" in
-    *yes)
-      ;;
-    *)
-      AC_DEFINE([NEED_PRINTF_FLAG_LEFTADJUST], [1],
-        [Define if the vasnprintf implementation needs special code for the
-         '-' flag.])
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for supporting the 0 flag.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO],
-[
-  AC_REQUIRE([gl_PRINTF_FLAG_ZERO])
-  case "$gl_cv_func_printf_flag_zero" in
-    *yes)
-      ;;
-    *)
-      AC_DEFINE([NEED_PRINTF_FLAG_ZERO], [1],
-        [Define if the vasnprintf implementation needs special code for the
-         0 flag.])
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for supporting large precisions.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_PRECISION],
-[
-  AC_REQUIRE([gl_PRINTF_PRECISION])
-  case "$gl_cv_func_printf_precision" in
-    *yes)
-      ;;
-    *)
-      AC_DEFINE([NEED_PRINTF_UNBOUNDED_PRECISION], [1],
-        [Define if the vasnprintf implementation needs special code for
-         supporting large precisions without arbitrary bounds.])
-      AC_DEFINE([NEED_PRINTF_DOUBLE], [1],
-        [Define if the vasnprintf implementation needs special code for
-         'double' arguments.])
-      AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1],
-        [Define if the vasnprintf implementation needs special code for
-         'long double' arguments.])
-      ;;
-  esac
-])
-
-# Extra prerequisites of lib/vasnprintf.c for surviving out-of-memory
-# conditions.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_ENOMEM],
-[
-  AC_REQUIRE([gl_PRINTF_ENOMEM])
-  case "$gl_cv_func_printf_enomem" in
-    *yes)
-      ;;
-    *)
-      AC_DEFINE([NEED_PRINTF_ENOMEM], [1],
-        [Define if the vasnprintf implementation needs special code for
-         surviving out-of-memory conditions.])
-      AC_DEFINE([NEED_PRINTF_DOUBLE], [1],
-        [Define if the vasnprintf implementation needs special code for
-         'double' arguments.])
-      AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], [1],
-        [Define if the vasnprintf implementation needs special code for
-         'long double' arguments.])
-      ;;
-  esac
-])
-
-# Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance.
-AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_EXTRAS],
-[
-  AC_REQUIRE([gl_PREREQ_VASNPRINTF])
-  gl_PREREQ_VASNPRINTF_LONG_DOUBLE
-  gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE
-  gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE
-  gl_PREREQ_VASNPRINTF_DIRECTIVE_A
-  gl_PREREQ_VASNPRINTF_DIRECTIVE_F
-  gl_PREREQ_VASNPRINTF_DIRECTIVE_LS
-  gl_PREREQ_VASNPRINTF_FLAG_GROUPING
-  gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST
-  gl_PREREQ_VASNPRINTF_FLAG_ZERO
-  gl_PREREQ_VASNPRINTF_PRECISION
-  gl_PREREQ_VASNPRINTF_ENOMEM
-])
-
-# Prerequisites of lib/asnprintf.c.
-AC_DEFUN([gl_PREREQ_ASNPRINTF],
-[
-])
diff --git a/gl/m4/version-etc.m4 b/gl/m4/version-etc.m4
index 5dbef8e..667f9f8 100644
--- a/gl/m4/version-etc.m4
+++ b/gl/m4/version-etc.m4
@@ -1,5 +1,5 @@
 # version-etc.m4 serial 1
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 # This file 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.
diff --git a/gl/m4/vfprintf-posix.m4 b/gl/m4/vfprintf-posix.m4
deleted file mode 100644
index 47a4645..0000000
--- a/gl/m4/vfprintf-posix.m4
+++ /dev/null
@@ -1,110 +0,0 @@
-# vfprintf-posix.m4 serial 14
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_VFPRINTF_POSIX],
-[
-  AC_REQUIRE([gl_PRINTF_SIZES_C99])
-  AC_REQUIRE([gl_PRINTF_LONG_DOUBLE])
-  AC_REQUIRE([gl_PRINTF_INFINITE])
-  AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE])
-  AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
-  AC_REQUIRE([gl_PRINTF_DIRECTIVE_F])
-  AC_REQUIRE([gl_PRINTF_DIRECTIVE_N])
-  AC_REQUIRE([gl_PRINTF_DIRECTIVE_LS])
-  AC_REQUIRE([gl_PRINTF_POSITIONS])
-  AC_REQUIRE([gl_PRINTF_FLAG_GROUPING])
-  AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST])
-  AC_REQUIRE([gl_PRINTF_FLAG_ZERO])
-  AC_REQUIRE([gl_PRINTF_PRECISION])
-  AC_REQUIRE([gl_PRINTF_ENOMEM])
-  gl_cv_func_vfprintf_posix=no
-  case "$gl_cv_func_printf_sizes_c99" in
-    *yes)
-      case "$gl_cv_func_printf_long_double" in
-        *yes)
-          case "$gl_cv_func_printf_infinite" in
-            *yes)
-              case "$gl_cv_func_printf_infinite_long_double" in
-                *yes)
-                  case "$gl_cv_func_printf_directive_a" in
-                    *yes)
-                      case "$gl_cv_func_printf_directive_f" in
-                        *yes)
-                          case "$gl_cv_func_printf_directive_n" in
-                            *yes)
-                              case "$gl_cv_func_printf_directive_ls" in
-                                *yes)
-                                  case "$gl_cv_func_printf_positions" in
-                                    *yes)
-                                      case "$gl_cv_func_printf_flag_grouping" 
in
-                                        *yes)
-                                          case 
"$gl_cv_func_printf_flag_leftadjust" in
-                                            *yes)
-                                              case 
"$gl_cv_func_printf_flag_zero" in
-                                                *yes)
-                                                  case 
"$gl_cv_func_printf_precision" in
-                                                    *yes)
-                                                      case 
"$gl_cv_func_printf_enomem" in
-                                                        *yes)
-                                                          # vfprintf exists 
and is
-                                                          # already POSIX 
compliant.
-                                                          
gl_cv_func_vfprintf_posix=yes
-                                                          ;;
-                                                      esac
-                                                      ;;
-                                                  esac
-                                                  ;;
-                                              esac
-                                              ;;
-                                          esac
-                                          ;;
-                                      esac
-                                      ;;
-                                  esac
-                                  ;;
-                              esac
-                              ;;
-                          esac
-                          ;;
-                      esac
-                      ;;
-                  esac
-                  ;;
-              esac
-              ;;
-          esac
-          ;;
-      esac
-      ;;
-  esac
-  if test $gl_cv_func_vfprintf_posix = no; then
-    gl_PREREQ_VASNPRINTF_LONG_DOUBLE
-    gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE
-    gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE
-    gl_PREREQ_VASNPRINTF_DIRECTIVE_A
-    gl_PREREQ_VASNPRINTF_DIRECTIVE_F
-    gl_PREREQ_VASNPRINTF_DIRECTIVE_LS
-    gl_PREREQ_VASNPRINTF_FLAG_GROUPING
-    gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST
-    gl_PREREQ_VASNPRINTF_FLAG_ZERO
-    gl_PREREQ_VASNPRINTF_PRECISION
-    gl_PREREQ_VASNPRINTF_ENOMEM
-    gl_REPLACE_VASNPRINTF
-    gl_REPLACE_VFPRINTF
-  fi
-])
-
-AC_DEFUN([gl_REPLACE_VFPRINTF],
-[
-  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
-  AC_LIBOBJ([vfprintf])
-  REPLACE_VFPRINTF=1
-  AC_DEFINE([REPLACE_VFPRINTF_POSIX], [1],
-    [Define if vfprintf is overridden by a POSIX compliant gnulib 
implementation.])
-  gl_PREREQ_VFPRINTF
-])
-
-AC_DEFUN([gl_PREREQ_VFPRINTF], [:])
diff --git a/gl/m4/warn-on-use.m4 b/gl/m4/warn-on-use.m4
index e43beeb..cc690f8 100644
--- a/gl/m4/warn-on-use.m4
+++ b/gl/m4/warn-on-use.m4
@@ -1,5 +1,5 @@
 # warn-on-use.m4 serial 5
-dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/warnings.m4 b/gl/m4/warnings.m4
index e3d239b..43156f4 100644
--- a/gl/m4/warnings.m4
+++ b/gl/m4/warnings.m4
@@ -1,5 +1,5 @@
 # warnings.m4 serial 11
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/wchar_h.m4 b/gl/m4/wchar_h.m4
index bedb15a..85db952 100644
--- a/gl/m4/wchar_h.m4
+++ b/gl/m4/wchar_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
 
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/wchar_t.m4 b/gl/m4/wchar_t.m4
index e1e1e69..839a04c 100644
--- a/gl/m4/wchar_t.m4
+++ b/gl/m4/wchar_t.m4
@@ -1,5 +1,5 @@
 # wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/wint_t.m4 b/gl/m4/wint_t.m4
index d7cd3db..9b07b07 100644
--- a/gl/m4/wint_t.m4
+++ b/gl/m4/wint_t.m4
@@ -1,5 +1,5 @@
 # wint_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/gl/m4/xsize.m4 b/gl/m4/xsize.m4
deleted file mode 100644
index 8ea9f2c..0000000
--- a/gl/m4/xsize.m4
+++ /dev/null
@@ -1,12 +0,0 @@
-# xsize.m4 serial 5
-dnl Copyright (C) 2003-2004, 2008-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_XSIZE],
-[
-  dnl Prerequisites of lib/xsize.h.
-  AC_REQUIRE([gl_SIZE_MAX])
-  AC_CHECK_HEADERS([stdint.h])
-])
diff --git a/gl/math.c b/gl/math.c
deleted file mode 100644
index ddb2ded..0000000
--- a/gl/math.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <config.h>
-#define _GL_MATH_INLINE _GL_EXTERN_INLINE
-#include "math.h"
diff --git a/gl/math.in.h b/gl/math.in.h
deleted file mode 100644
index 6cc0f7d..0000000
--- a/gl/math.in.h
+++ /dev/null
@@ -1,2278 +0,0 @@
-/* A GNU-like <math.h>.
-
-   Copyright (C) 2002-2003, 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 address@hidden@_MATH_H
-
-#if __GNUC__ >= 3
address@hidden@
-#endif
address@hidden@
-
-/* The include_next requires a split double-inclusion guard.  */
address@hidden@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
-
-#ifndef address@hidden@_MATH_H
-#define address@hidden@_MATH_H
-
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
-_GL_INLINE_HEADER_BEGIN
-#ifndef _GL_MATH_INLINE
-# define _GL_MATH_INLINE _GL_INLINE
-#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.  */
-
-#ifdef __cplusplus
-/* Helper macros to define type-generic function FUNC as overloaded functions,
-   rather than as macros like in C.  POSIX declares these with an argument of
-   real-floating (that is, one of float, double, or long double).  */
-# define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \
-static inline int                                                   \
-_gl_cxx_ ## func ## f (float f)                                     \
-{                                                                   \
-  return func (f);                                                  \
-}                                                                   \
-static inline int                                                   \
-_gl_cxx_ ## func ## d (double d)                                    \
-{                                                                   \
-  return func (d);                                                  \
-}                                                                   \
-static inline int                                                   \
-_gl_cxx_ ## func ## l (long double l)                               \
-{                                                                   \
-  return func (l);                                                  \
-}
-# define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func) \
-inline int                                                          \
-func (float f)                                                      \
-{                                                                   \
-  return _gl_cxx_ ## func ## f (f);                                 \
-}                                                                   \
-inline int                                                          \
-func (double d)                                                     \
-{                                                                   \
-  return _gl_cxx_ ## func ## d (d);                                 \
-}                                                                   \
-inline int                                                          \
-func (long double l)                                                \
-{                                                                   \
-  return _gl_cxx_ ## func ## l (l);                                 \
-}
-#endif
-
-/* Helper macros to define a portability warning for the
-   classification macro FUNC called with VALUE.  POSIX declares the
-   classification macros with an argument of real-floating (that is,
-   one of float, double, or long double).  */
-#define _GL_WARN_REAL_FLOATING_DECL(func) \
-_GL_MATH_INLINE int                                                 \
-rpl_ ## func ## f (float f)                                         \
-{                                                                   \
-  return func (f);                                                  \
-}                                                                   \
-_GL_MATH_INLINE int                                                 \
-rpl_ ## func ## d (double d)                                        \
-{                                                                   \
-  return func (d);                                                  \
-}                                                                   \
-_GL_MATH_INLINE int                                                 \
-rpl_ ## func ## l (long double l)                                   \
-{                                                                   \
-  return func (l);                                                  \
-}                                                                   \
-_GL_WARN_ON_USE (rpl_ ## func ## f, #func " is unportable - "       \
-                 "use gnulib module " #func " for portability");    \
-_GL_WARN_ON_USE (rpl_ ## func ## d, #func " is unportable - "       \
-                 "use gnulib module " #func " for portability");    \
-_GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - "       \
-                 "use gnulib module " #func " for portability")
-#define _GL_WARN_REAL_FLOATING_IMPL(func, value) \
-  (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value)     \
-   : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value)  \
-   : rpl_ ## func ## l (value))
-
-
-#if @REPLACE_ITOLD@
-/* Pull in a function that fixes the 'int' to 'long double' conversion
-   of glibc 2.7.  */
-_GL_EXTERN_C void _Qp_itoq (long double *, int);
-static void (*_gl_math_fix_itold) (long double *, int) = _Qp_itoq;
-#endif
-
-
-/* POSIX allows platforms that don't support NAN.  But all major
-   machines in the past 15 years have supported something close to
-   IEEE NaN, so we define this unconditionally.  We also must define
-   it on platforms like Solaris 10, where NAN is present but defined
-   as a function pointer rather than a floating point constant.  */
-#if !defined NAN || @REPLACE_NAN@
-# if !GNULIB_defined_NAN
-#  undef NAN
-  /* 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
-_GL_MATH_INLINE float
-_NaN ()
-{
-  static float zero = 0.0f;
-  return zero / zero;
-}
-#   define NAN (_NaN())
-#  else
-#   define NAN (0.0f / 0.0f)
-#  endif
-#  define GNULIB_defined_NAN 1
-# endif
-#endif
-
-/* Solaris 10 defines HUGE_VAL, but as a function pointer rather
-   than a floating point constant.  */
-#if @REPLACE_HUGE_VAL@
-# undef HUGE_VALF
-# define HUGE_VALF (1.0f / 0.0f)
-# undef HUGE_VAL
-# define HUGE_VAL (1.0 / 0.0)
-# undef HUGE_VALL
-# define HUGE_VALL (1.0L / 0.0L)
-#endif
-
-/* HUGE_VALF is a 'float' Infinity.  */
-#ifndef HUGE_VALF
-# if defined _MSC_VER
-/* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f.  */
-#  define HUGE_VALF (1e25f * 1e25f)
-# else
-#  define HUGE_VALF (1.0f / 0.0f)
-# endif
-#endif
-
-/* HUGE_VAL is a 'double' Infinity.  */
-#ifndef HUGE_VAL
-# if defined _MSC_VER
-/* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0.  */
-#  define HUGE_VAL (1e250 * 1e250)
-# else
-#  define HUGE_VAL (1.0 / 0.0)
-# endif
-#endif
-
-/* HUGE_VALL is a 'long double' Infinity.  */
-#ifndef HUGE_VALL
-# if defined _MSC_VER
-/* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L.  */
-#  define HUGE_VALL (1e250L * 1e250L)
-# else
-#  define HUGE_VALL (1.0L / 0.0L)
-# endif
-#endif
-
-
-/* Ensure FP_ILOGB0 and FP_ILOGBNAN are defined.  */
-#if !(defined FP_ILOGB0 && defined FP_ILOGBNAN)
-# if defined __NetBSD__ || defined __sgi
-  /* NetBSD, IRIX 6.5: match what ilogb() does */
-#  define FP_ILOGB0   (- 2147483647 - 1) /* INT_MIN */
-#  define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
-# elif defined _AIX
-  /* AIX 5.1: match what ilogb() does in AIX >= 5.2 */
-#  define FP_ILOGB0   (- 2147483647 - 1) /* INT_MIN */
-#  define FP_ILOGBNAN 2147483647 /* INT_MAX */
-# elif defined __sun
-  /* Solaris 9: match what ilogb() does */
-#  define FP_ILOGB0   (- 2147483647) /* - INT_MAX */
-#  define FP_ILOGBNAN 2147483647 /* INT_MAX */
-# else
-  /* Gnulib defined values.  */
-#  define FP_ILOGB0   (- 2147483647) /* - INT_MAX */
-#  define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
-# endif
-#endif
-
-
-#if @GNULIB_ACOSF@
-# if address@hidden@
-#  undef acosf
-_GL_FUNCDECL_SYS (acosf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (acosf, float, (float x));
-_GL_CXXALIASWARN (acosf);
-#elif defined GNULIB_POSIXCHECK
-# undef acosf
-# if HAVE_RAW_DECL_ACOSF
-_GL_WARN_ON_USE (acosf, "acosf is unportable - "
-                 "use gnulib module acosf for portability");
-# endif
-#endif
-
-#if @GNULIB_ACOSL@
-# if address@hidden@ || address@hidden@
-#  undef acosl
-_GL_FUNCDECL_SYS (acosl, long double, (long double x));
-# endif
-_GL_CXXALIAS_SYS (acosl, long double, (long double x));
-_GL_CXXALIASWARN (acosl);
-#elif defined GNULIB_POSIXCHECK
-# undef acosl
-# if HAVE_RAW_DECL_ACOSL
-_GL_WARN_ON_USE (acosl, "acosl is unportable - "
-                 "use gnulib module acosl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_ASINF@
-# if address@hidden@
-#  undef asinf
-_GL_FUNCDECL_SYS (asinf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (asinf, float, (float x));
-_GL_CXXALIASWARN (asinf);
-#elif defined GNULIB_POSIXCHECK
-# undef asinf
-# if HAVE_RAW_DECL_ASINF
-_GL_WARN_ON_USE (asinf, "asinf is unportable - "
-                 "use gnulib module asinf for portability");
-# endif
-#endif
-
-#if @GNULIB_ASINL@
-# if address@hidden@ || address@hidden@
-#  undef asinl
-_GL_FUNCDECL_SYS (asinl, long double, (long double x));
-# endif
-_GL_CXXALIAS_SYS (asinl, long double, (long double x));
-_GL_CXXALIASWARN (asinl);
-#elif defined GNULIB_POSIXCHECK
-# undef asinl
-# if HAVE_RAW_DECL_ASINL
-_GL_WARN_ON_USE (asinl, "asinl is unportable - "
-                 "use gnulib module asinl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_ATANF@
-# if address@hidden@
-#  undef atanf
-_GL_FUNCDECL_SYS (atanf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (atanf, float, (float x));
-_GL_CXXALIASWARN (atanf);
-#elif defined GNULIB_POSIXCHECK
-# undef atanf
-# if HAVE_RAW_DECL_ATANF
-_GL_WARN_ON_USE (atanf, "atanf is unportable - "
-                 "use gnulib module atanf for portability");
-# endif
-#endif
-
-#if @GNULIB_ATANL@
-# if address@hidden@ || address@hidden@
-#  undef atanl
-_GL_FUNCDECL_SYS (atanl, long double, (long double x));
-# endif
-_GL_CXXALIAS_SYS (atanl, long double, (long double x));
-_GL_CXXALIASWARN (atanl);
-#elif defined GNULIB_POSIXCHECK
-# undef atanl
-# if HAVE_RAW_DECL_ATANL
-_GL_WARN_ON_USE (atanl, "atanl is unportable - "
-                 "use gnulib module atanl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_ATAN2F@
-# if address@hidden@
-#  undef atan2f
-_GL_FUNCDECL_SYS (atan2f, float, (float y, float x));
-# endif
-_GL_CXXALIAS_SYS (atan2f, float, (float y, float x));
-_GL_CXXALIASWARN (atan2f);
-#elif defined GNULIB_POSIXCHECK
-# undef atan2f
-# if HAVE_RAW_DECL_ATAN2F
-_GL_WARN_ON_USE (atan2f, "atan2f is unportable - "
-                 "use gnulib module atan2f for portability");
-# endif
-#endif
-
-
-#if @GNULIB_CBRTF@
-# if @REPLACE_CBRTF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef cbrtf
-#   define cbrtf rpl_cbrtf
-#  endif
-_GL_FUNCDECL_RPL (cbrtf, float, (float x));
-_GL_CXXALIAS_RPL (cbrtf, float, (float x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (cbrtf, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (cbrtf, float, (float x));
-# endif
-_GL_CXXALIASWARN (cbrtf);
-#elif defined GNULIB_POSIXCHECK
-# undef cbrtf
-# if HAVE_RAW_DECL_CBRTF
-_GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - "
-                 "use gnulib module cbrtf for portability");
-# endif
-#endif
-
-#if @GNULIB_CBRT@
-# if address@hidden@
-_GL_FUNCDECL_SYS (cbrt, double, (double x));
-# endif
-_GL_CXXALIAS_SYS (cbrt, double, (double x));
-_GL_CXXALIASWARN (cbrt);
-#elif defined GNULIB_POSIXCHECK
-# undef cbrt
-# if HAVE_RAW_DECL_CBRT
-_GL_WARN_ON_USE (cbrt, "cbrt is unportable - "
-                 "use gnulib module cbrt for portability");
-# endif
-#endif
-
-#if @GNULIB_CBRTL@
-# if @REPLACE_CBRTL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef cbrtl
-#   define cbrtl rpl_cbrtl
-#  endif
-_GL_FUNCDECL_RPL (cbrtl, long double, (long double x));
-_GL_CXXALIAS_RPL (cbrtl, long double, (long double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (cbrtl, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (cbrtl, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (cbrtl);
-#elif defined GNULIB_POSIXCHECK
-# undef cbrtl
-# if HAVE_RAW_DECL_CBRTL
-_GL_WARN_ON_USE (cbrtl, "cbrtl is unportable - "
-                 "use gnulib module cbrtl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_CEILF@
-# if @REPLACE_CEILF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef ceilf
-#   define ceilf rpl_ceilf
-#  endif
-_GL_FUNCDECL_RPL (ceilf, float, (float x));
-_GL_CXXALIAS_RPL (ceilf, float, (float x));
-# else
-#  if address@hidden@
-#   undef ceilf
-_GL_FUNCDECL_SYS (ceilf, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (ceilf, float, (float x));
-# endif
-_GL_CXXALIASWARN (ceilf);
-#elif defined GNULIB_POSIXCHECK
-# undef ceilf
-# if HAVE_RAW_DECL_CEILF
-_GL_WARN_ON_USE (ceilf, "ceilf is unportable - "
-                 "use gnulib module ceilf for portability");
-# endif
-#endif
-
-#if @GNULIB_CEIL@
-# if @REPLACE_CEIL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define ceil rpl_ceil
-#  endif
-_GL_FUNCDECL_RPL (ceil, double, (double x));
-_GL_CXXALIAS_RPL (ceil, double, (double x));
-# else
-_GL_CXXALIAS_SYS (ceil, double, (double x));
-# endif
-_GL_CXXALIASWARN (ceil);
-#endif
-
-#if @GNULIB_CEILL@
-# if @REPLACE_CEILL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef ceill
-#   define ceill rpl_ceill
-#  endif
-_GL_FUNCDECL_RPL (ceill, long double, (long double x));
-_GL_CXXALIAS_RPL (ceill, long double, (long double x));
-# else
-#  if address@hidden@
-#   undef ceill
-_GL_FUNCDECL_SYS (ceill, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (ceill, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (ceill);
-#elif defined GNULIB_POSIXCHECK
-# undef ceill
-# if HAVE_RAW_DECL_CEILL
-_GL_WARN_ON_USE (ceill, "ceill is unportable - "
-                 "use gnulib module ceill for portability");
-# endif
-#endif
-
-
-#if @GNULIB_COPYSIGNF@
-# if address@hidden@
-_GL_FUNCDECL_SYS (copysignf, float, (float x, float y));
-# endif
-_GL_CXXALIAS_SYS (copysignf, float, (float x, float y));
-_GL_CXXALIASWARN (copysignf);
-#elif defined GNULIB_POSIXCHECK
-# undef copysignf
-# if HAVE_RAW_DECL_COPYSIGNF
-_GL_WARN_ON_USE (copysignf, "copysignf is unportable - "
-                 "use gnulib module copysignf for portability");
-# endif
-#endif
-
-#if @GNULIB_COPYSIGN@
-# if address@hidden@
-_GL_FUNCDECL_SYS (copysign, double, (double x, double y));
-# endif
-_GL_CXXALIAS_SYS (copysign, double, (double x, double y));
-_GL_CXXALIASWARN (copysign);
-#elif defined GNULIB_POSIXCHECK
-# undef copysign
-# if HAVE_RAW_DECL_COPYSIGN
-_GL_WARN_ON_USE (copysign, "copysign is unportable - "
-                 "use gnulib module copysign for portability");
-# endif
-#endif
-
-#if @GNULIB_COPYSIGNL@
-# if address@hidden@
-_GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y));
-# endif
-_GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y));
-_GL_CXXALIASWARN (copysignl);
-#elif defined GNULIB_POSIXCHECK
-# undef copysignl
-# if HAVE_RAW_DECL_COPYSIGNL
-_GL_WARN_ON_USE (copysign, "copysignl is unportable - "
-                 "use gnulib module copysignl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_COSF@
-# if address@hidden@
-#  undef cosf
-_GL_FUNCDECL_SYS (cosf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (cosf, float, (float x));
-_GL_CXXALIASWARN (cosf);
-#elif defined GNULIB_POSIXCHECK
-# undef cosf
-# if HAVE_RAW_DECL_COSF
-_GL_WARN_ON_USE (cosf, "cosf is unportable - "
-                 "use gnulib module cosf for portability");
-# endif
-#endif
-
-#if @GNULIB_COSL@
-# if address@hidden@ || address@hidden@
-#  undef cosl
-_GL_FUNCDECL_SYS (cosl, long double, (long double x));
-# endif
-_GL_CXXALIAS_SYS (cosl, long double, (long double x));
-_GL_CXXALIASWARN (cosl);
-#elif defined GNULIB_POSIXCHECK
-# undef cosl
-# if HAVE_RAW_DECL_COSL
-_GL_WARN_ON_USE (cosl, "cosl is unportable - "
-                 "use gnulib module cosl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_COSHF@
-# if address@hidden@
-#  undef coshf
-_GL_FUNCDECL_SYS (coshf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (coshf, float, (float x));
-_GL_CXXALIASWARN (coshf);
-#elif defined GNULIB_POSIXCHECK
-# undef coshf
-# if HAVE_RAW_DECL_COSHF
-_GL_WARN_ON_USE (coshf, "coshf is unportable - "
-                 "use gnulib module coshf for portability");
-# endif
-#endif
-
-
-#if @GNULIB_EXPF@
-# if address@hidden@
-#  undef expf
-_GL_FUNCDECL_SYS (expf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (expf, float, (float x));
-_GL_CXXALIASWARN (expf);
-#elif defined GNULIB_POSIXCHECK
-# undef expf
-# if HAVE_RAW_DECL_EXPF
-_GL_WARN_ON_USE (expf, "expf is unportable - "
-                 "use gnulib module expf for portability");
-# endif
-#endif
-
-#if @GNULIB_EXPL@
-# if address@hidden@ || address@hidden@
-#  undef expl
-_GL_FUNCDECL_SYS (expl, long double, (long double x));
-# endif
-_GL_CXXALIAS_SYS (expl, long double, (long double x));
-_GL_CXXALIASWARN (expl);
-#elif defined GNULIB_POSIXCHECK
-# undef expl
-# if HAVE_RAW_DECL_EXPL
-_GL_WARN_ON_USE (expl, "expl is unportable - "
-                 "use gnulib module expl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_EXP2F@
-# if address@hidden@
-_GL_FUNCDECL_SYS (exp2f, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (exp2f, float, (float x));
-_GL_CXXALIASWARN (exp2f);
-#elif defined GNULIB_POSIXCHECK
-# undef exp2f
-# if HAVE_RAW_DECL_EXP2F
-_GL_WARN_ON_USE (exp2f, "exp2f is unportable - "
-                 "use gnulib module exp2f for portability");
-# endif
-#endif
-
-#if @GNULIB_EXP2@
-# if @REPLACE_EXP2@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef exp2
-#   define exp2 rpl_exp2
-#  endif
-_GL_FUNCDECL_RPL (exp2, double, (double x));
-_GL_CXXALIAS_RPL (exp2, double, (double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (exp2, double, (double x));
-#  endif
-_GL_CXXALIAS_SYS (exp2, double, (double x));
-# endif
-_GL_CXXALIASWARN (exp2);
-#elif defined GNULIB_POSIXCHECK
-# undef exp2
-# if HAVE_RAW_DECL_EXP2
-_GL_WARN_ON_USE (exp2, "exp2 is unportable - "
-                 "use gnulib module exp2 for portability");
-# endif
-#endif
-
-#if @GNULIB_EXP2L@
-# if @REPLACE_EXP2L@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef exp2l
-#   define exp2l rpl_exp2l
-#  endif
-_GL_FUNCDECL_RPL (exp2l, long double, (long double x));
-_GL_CXXALIAS_RPL (exp2l, long double, (long double x));
-# else
-#  if address@hidden@
-#   undef exp2l
-_GL_FUNCDECL_SYS (exp2l, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (exp2l, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (exp2l);
-#elif defined GNULIB_POSIXCHECK
-# undef exp2l
-# if HAVE_RAW_DECL_EXP2L
-_GL_WARN_ON_USE (exp2l, "exp2l is unportable - "
-                 "use gnulib module exp2l for portability");
-# endif
-#endif
-
-
-#if @GNULIB_EXPM1F@
-# if @REPLACE_EXPM1F@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef expm1f
-#   define expm1f rpl_expm1f
-#  endif
-_GL_FUNCDECL_RPL (expm1f, float, (float x));
-_GL_CXXALIAS_RPL (expm1f, float, (float x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (expm1f, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (expm1f, float, (float x));
-# endif
-_GL_CXXALIASWARN (expm1f);
-#elif defined GNULIB_POSIXCHECK
-# undef expm1f
-# if HAVE_RAW_DECL_EXPM1F
-_GL_WARN_ON_USE (expm1f, "expm1f is unportable - "
-                 "use gnulib module expm1f for portability");
-# endif
-#endif
-
-#if @GNULIB_EXPM1@
-# if @REPLACE_EXPM1@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef expm1
-#   define expm1 rpl_expm1
-#  endif
-_GL_FUNCDECL_RPL (expm1, double, (double x));
-_GL_CXXALIAS_RPL (expm1, double, (double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (expm1, double, (double x));
-#  endif
-_GL_CXXALIAS_SYS (expm1, double, (double x));
-# endif
-_GL_CXXALIASWARN (expm1);
-#elif defined GNULIB_POSIXCHECK
-# undef expm1
-# if HAVE_RAW_DECL_EXPM1
-_GL_WARN_ON_USE (expm1, "expm1 is unportable - "
-                 "use gnulib module expm1 for portability");
-# endif
-#endif
-
-#if @GNULIB_EXPM1L@
-# if address@hidden@
-#  undef expm1l
-_GL_FUNCDECL_SYS (expm1l, long double, (long double x));
-# endif
-_GL_CXXALIAS_SYS (expm1l, long double, (long double x));
-_GL_CXXALIASWARN (expm1l);
-#elif defined GNULIB_POSIXCHECK
-# undef expm1l
-# if HAVE_RAW_DECL_EXPM1L
-_GL_WARN_ON_USE (expm1l, "expm1l is unportable - "
-                 "use gnulib module expm1l for portability");
-# endif
-#endif
-
-
-#if @GNULIB_FABSF@
-# if address@hidden@
-#  undef fabsf
-_GL_FUNCDECL_SYS (fabsf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (fabsf, float, (float x));
-_GL_CXXALIASWARN (fabsf);
-#elif defined GNULIB_POSIXCHECK
-# undef fabsf
-# if HAVE_RAW_DECL_FABSF
-_GL_WARN_ON_USE (fabsf, "fabsf is unportable - "
-                 "use gnulib module fabsf for portability");
-# endif
-#endif
-
-#if @GNULIB_FABSL@
-# if @REPLACE_FABSL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef fabsl
-#   define fabsl rpl_fabsl
-#  endif
-_GL_FUNCDECL_RPL (fabsl, long double, (long double x));
-_GL_CXXALIAS_RPL (fabsl, long double, (long double x));
-# else
-#  if address@hidden@
-#   undef fabsl
-_GL_FUNCDECL_SYS (fabsl, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (fabsl, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (fabsl);
-#elif defined GNULIB_POSIXCHECK
-# undef fabsl
-# if HAVE_RAW_DECL_FABSL
-_GL_WARN_ON_USE (fabsl, "fabsl is unportable - "
-                 "use gnulib module fabsl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_FLOORF@
-# if @REPLACE_FLOORF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef floorf
-#   define floorf rpl_floorf
-#  endif
-_GL_FUNCDECL_RPL (floorf, float, (float x));
-_GL_CXXALIAS_RPL (floorf, float, (float x));
-# else
-#  if address@hidden@
-#   undef floorf
-_GL_FUNCDECL_SYS (floorf, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (floorf, float, (float x));
-# endif
-_GL_CXXALIASWARN (floorf);
-#elif defined GNULIB_POSIXCHECK
-# undef floorf
-# if HAVE_RAW_DECL_FLOORF
-_GL_WARN_ON_USE (floorf, "floorf is unportable - "
-                 "use gnulib module floorf for portability");
-# endif
-#endif
-
-#if @GNULIB_FLOOR@
-# if @REPLACE_FLOOR@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define floor rpl_floor
-#  endif
-_GL_FUNCDECL_RPL (floor, double, (double x));
-_GL_CXXALIAS_RPL (floor, double, (double x));
-# else
-_GL_CXXALIAS_SYS (floor, double, (double x));
-# endif
-_GL_CXXALIASWARN (floor);
-#endif
-
-#if @GNULIB_FLOORL@
-# if @REPLACE_FLOORL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef floorl
-#   define floorl rpl_floorl
-#  endif
-_GL_FUNCDECL_RPL (floorl, long double, (long double x));
-_GL_CXXALIAS_RPL (floorl, long double, (long double x));
-# else
-#  if address@hidden@
-#   undef floorl
-_GL_FUNCDECL_SYS (floorl, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (floorl, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (floorl);
-#elif defined GNULIB_POSIXCHECK
-# undef floorl
-# if HAVE_RAW_DECL_FLOORL
-_GL_WARN_ON_USE (floorl, "floorl is unportable - "
-                 "use gnulib module floorl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_FMAF@
-# if @REPLACE_FMAF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef fmaf
-#   define fmaf rpl_fmaf
-#  endif
-_GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z));
-_GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z));
-#  endif
-_GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z));
-# endif
-_GL_CXXALIASWARN (fmaf);
-#elif defined GNULIB_POSIXCHECK
-# undef fmaf
-# if HAVE_RAW_DECL_FMAF
-_GL_WARN_ON_USE (fmaf, "fmaf is unportable - "
-                 "use gnulib module fmaf for portability");
-# endif
-#endif
-
-#if @GNULIB_FMA@
-# if @REPLACE_FMA@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef fma
-#   define fma rpl_fma
-#  endif
-_GL_FUNCDECL_RPL (fma, double, (double x, double y, double z));
-_GL_CXXALIAS_RPL (fma, double, (double x, double y, double z));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (fma, double, (double x, double y, double z));
-#  endif
-_GL_CXXALIAS_SYS (fma, double, (double x, double y, double z));
-# endif
-_GL_CXXALIASWARN (fma);
-#elif defined GNULIB_POSIXCHECK
-# undef fma
-# if HAVE_RAW_DECL_FMA
-_GL_WARN_ON_USE (fma, "fma is unportable - "
-                 "use gnulib module fma for portability");
-# endif
-#endif
-
-#if @GNULIB_FMAL@
-# if @REPLACE_FMAL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef fmal
-#   define fmal rpl_fmal
-#  endif
-_GL_FUNCDECL_RPL (fmal, long double,
-                  (long double x, long double y, long double z));
-_GL_CXXALIAS_RPL (fmal, long double,
-                  (long double x, long double y, long double z));
-# else
-#  if address@hidden@
-#   undef fmal
-_GL_FUNCDECL_SYS (fmal, long double,
-                  (long double x, long double y, long double z));
-#  endif
-_GL_CXXALIAS_SYS (fmal, long double,
-                  (long double x, long double y, long double z));
-# endif
-_GL_CXXALIASWARN (fmal);
-#elif defined GNULIB_POSIXCHECK
-# undef fmal
-# if HAVE_RAW_DECL_FMAL
-_GL_WARN_ON_USE (fmal, "fmal is unportable - "
-                 "use gnulib module fmal for portability");
-# endif
-#endif
-
-
-#if @GNULIB_FMODF@
-# if @REPLACE_FMODF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef fmodf
-#   define fmodf rpl_fmodf
-#  endif
-_GL_FUNCDECL_RPL (fmodf, float, (float x, float y));
-_GL_CXXALIAS_RPL (fmodf, float, (float x, float y));
-# else
-#  if address@hidden@
-#   undef fmodf
-_GL_FUNCDECL_SYS (fmodf, float, (float x, float y));
-#  endif
-_GL_CXXALIAS_SYS (fmodf, float, (float x, float y));
-# endif
-_GL_CXXALIASWARN (fmodf);
-#elif defined GNULIB_POSIXCHECK
-# undef fmodf
-# if HAVE_RAW_DECL_FMODF
-_GL_WARN_ON_USE (fmodf, "fmodf is unportable - "
-                 "use gnulib module fmodf for portability");
-# endif
-#endif
-
-#if @GNULIB_FMOD@
-# if @REPLACE_FMOD@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef fmod
-#   define fmod rpl_fmod
-#  endif
-_GL_FUNCDECL_RPL (fmod, double, (double x, double y));
-_GL_CXXALIAS_RPL (fmod, double, (double x, double y));
-# else
-_GL_CXXALIAS_SYS (fmod, double, (double x, double y));
-# endif
-_GL_CXXALIASWARN (fmod);
-#elif defined GNULIB_POSIXCHECK
-# undef fmod
-# if HAVE_RAW_DECL_FMOD
-_GL_WARN_ON_USE (fmod, "fmod has portability problems - "
-                 "use gnulib module fmod for portability");
-# endif
-#endif
-
-#if @GNULIB_FMODL@
-# if @REPLACE_FMODL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef fmodl
-#   define fmodl rpl_fmodl
-#  endif
-_GL_FUNCDECL_RPL (fmodl, long double, (long double x, long double y));
-_GL_CXXALIAS_RPL (fmodl, long double, (long double x, long double y));
-# else
-#  if address@hidden@
-#   undef fmodl
-_GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y));
-#  endif
-_GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y));
-# endif
-_GL_CXXALIASWARN (fmodl);
-#elif defined GNULIB_POSIXCHECK
-# undef fmodl
-# if HAVE_RAW_DECL_FMODL
-_GL_WARN_ON_USE (fmodl, "fmodl is unportable - "
-                 "use gnulib module fmodl for portability");
-# endif
-#endif
-
-
-/* Write x as
-     x = mantissa * 2^exp
-   where
-     If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
-     If x is zero: mantissa = x, exp = 0.
-     If x is infinite or NaN: mantissa = x, exp unspecified.
-   Store exp in *EXPPTR and return mantissa.  */
-#if @GNULIB_FREXPF@
-# if @REPLACE_FREXPF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef frexpf
-#   define frexpf rpl_frexpf
-#  endif
-_GL_FUNCDECL_RPL (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (frexpf, float, (float x, int *expptr));
-# else
-#  if address@hidden@
-#   undef frexpf
-_GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr));
-# endif
-_GL_CXXALIASWARN (frexpf);
-#elif defined GNULIB_POSIXCHECK
-# undef frexpf
-# if HAVE_RAW_DECL_FREXPF
-_GL_WARN_ON_USE (frexpf, "frexpf is unportable - "
-                 "use gnulib module frexpf for portability");
-# endif
-#endif
-
-/* Write x as
-     x = mantissa * 2^exp
-   where
-     If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
-     If x is zero: mantissa = x, exp = 0.
-     If x is infinite or NaN: mantissa = x, exp unspecified.
-   Store exp in *EXPPTR and return mantissa.  */
-#if @GNULIB_FREXP@
-# if @REPLACE_FREXP@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define frexp rpl_frexp
-#  endif
-_GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL 
((2)));
-_GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr));
-# else
-_GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr));
-# endif
-_GL_CXXALIASWARN (frexp);
-#elif defined GNULIB_POSIXCHECK
-# undef frexp
-/* Assume frexp is always declared.  */
-_GL_WARN_ON_USE (frexp, "frexp is unportable - "
-                 "use gnulib module frexp for portability");
-#endif
-
-/* Write x as
-     x = mantissa * 2^exp
-   where
-     If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
-     If x is zero: mantissa = x, exp = 0.
-     If x is infinite or NaN: mantissa = x, exp unspecified.
-   Store exp in *EXPPTR and return mantissa.  */
-#if @GNULIB_FREXPL@ && @REPLACE_FREXPL@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef frexpl
-#  define frexpl rpl_frexpl
-# endif
-_GL_FUNCDECL_RPL (frexpl, long double,
-                  (long double x, int *expptr) _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (frexpl, long double, (long double x, int *expptr));
-#else
-# if address@hidden@
-_GL_FUNCDECL_SYS (frexpl, long double,
-                  (long double x, int *expptr) _GL_ARG_NONNULL ((2)));
-# endif
-# if @GNULIB_FREXPL@
-_GL_CXXALIAS_SYS (frexpl, long double, (long double x, int *expptr));
-# endif
-#endif
-#if @GNULIB_FREXPL@ && !(@REPLACE_FREXPL@ && address@hidden@)
-_GL_CXXALIASWARN (frexpl);
-#endif
-#if address@hidden@ && defined GNULIB_POSIXCHECK
-# undef frexpl
-# if HAVE_RAW_DECL_FREXPL
-_GL_WARN_ON_USE (frexpl, "frexpl is unportable - "
-                 "use gnulib module frexpl for portability");
-# endif
-#endif
-
-
-/* Return sqrt(x^2+y^2).  */
-#if @GNULIB_HYPOTF@
-# if @REPLACE_HYPOTF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef hypotf
-#   define hypotf rpl_hypotf
-#  endif
-_GL_FUNCDECL_RPL (hypotf, float, (float x, float y));
-_GL_CXXALIAS_RPL (hypotf, float, (float x, float y));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (hypotf, float, (float x, float y));
-#  endif
-_GL_CXXALIAS_SYS (hypotf, float, (float x, float y));
-# endif
-_GL_CXXALIASWARN (hypotf);
-#elif defined GNULIB_POSIXCHECK
-# undef hypotf
-# if HAVE_RAW_DECL_HYPOTF
-_GL_WARN_ON_USE (hypotf, "hypotf is unportable - "
-                 "use gnulib module hypotf for portability");
-# endif
-#endif
-
-/* Return sqrt(x^2+y^2).  */
-#if @GNULIB_HYPOT@
-# if @REPLACE_HYPOT@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef hypot
-#   define hypot rpl_hypot
-#  endif
-_GL_FUNCDECL_RPL (hypot, double, (double x, double y));
-_GL_CXXALIAS_RPL (hypot, double, (double x, double y));
-# else
-_GL_CXXALIAS_SYS (hypot, double, (double x, double y));
-# endif
-_GL_CXXALIASWARN (hypot);
-#elif defined GNULIB_POSIXCHECK
-# undef hypot
-# if HAVE_RAW_DECL_HYPOT
-_GL_WARN_ON_USE (hypotf, "hypot has portability problems - "
-                 "use gnulib module hypot for portability");
-# endif
-#endif
-
-/* Return sqrt(x^2+y^2).  */
-#if @GNULIB_HYPOTL@
-# if @REPLACE_HYPOTL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef hypotl
-#   define hypotl rpl_hypotl
-#  endif
-_GL_FUNCDECL_RPL (hypotl, long double, (long double x, long double y));
-_GL_CXXALIAS_RPL (hypotl, long double, (long double x, long double y));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (hypotl, long double, (long double x, long double y));
-#  endif
-_GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y));
-# endif
-_GL_CXXALIASWARN (hypotl);
-#elif defined GNULIB_POSIXCHECK
-# undef hypotl
-# if HAVE_RAW_DECL_HYPOTL
-_GL_WARN_ON_USE (hypotl, "hypotl is unportable - "
-                 "use gnulib module hypotl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_ILOGBF@
-# if @REPLACE_ILOGBF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef ilogbf
-#   define ilogbf rpl_ilogbf
-#  endif
-_GL_FUNCDECL_RPL (ilogbf, int, (float x));
-_GL_CXXALIAS_RPL (ilogbf, int, (float x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (ilogbf, int, (float x));
-#  endif
-_GL_CXXALIAS_SYS (ilogbf, int, (float x));
-# endif
-_GL_CXXALIASWARN (ilogbf);
-#elif defined GNULIB_POSIXCHECK
-# undef ilogbf
-# if HAVE_RAW_DECL_ILOGBF
-_GL_WARN_ON_USE (ilogbf, "ilogbf is unportable - "
-                 "use gnulib module ilogbf for portability");
-# endif
-#endif
-
-#if @GNULIB_ILOGB@
-# if @REPLACE_ILOGB@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef ilogb
-#   define ilogb rpl_ilogb
-#  endif
-_GL_FUNCDECL_RPL (ilogb, int, (double x));
-_GL_CXXALIAS_RPL (ilogb, int, (double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (ilogb, int, (double x));
-#  endif
-_GL_CXXALIAS_SYS (ilogb, int, (double x));
-# endif
-_GL_CXXALIASWARN (ilogb);
-#elif defined GNULIB_POSIXCHECK
-# undef ilogb
-# if HAVE_RAW_DECL_ILOGB
-_GL_WARN_ON_USE (ilogb, "ilogb is unportable - "
-                 "use gnulib module ilogb for portability");
-# endif
-#endif
-
-#if @GNULIB_ILOGBL@
-# if address@hidden@
-_GL_FUNCDECL_SYS (ilogbl, int, (long double x));
-# endif
-_GL_CXXALIAS_SYS (ilogbl, int, (long double x));
-_GL_CXXALIASWARN (ilogbl);
-#elif defined GNULIB_POSIXCHECK
-# undef ilogbl
-# if HAVE_RAW_DECL_ILOGBL
-_GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - "
-                 "use gnulib module ilogbl for portability");
-# endif
-#endif
-
-
-/* Return x * 2^exp.  */
-#if @GNULIB_LDEXPF@
-# if address@hidden@
-#  undef ldexpf
-_GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp));
-# endif
-_GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp));
-_GL_CXXALIASWARN (ldexpf);
-#elif defined GNULIB_POSIXCHECK
-# undef ldexpf
-# if HAVE_RAW_DECL_LDEXPF
-_GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - "
-                 "use gnulib module ldexpf for portability");
-# endif
-#endif
-
-/* Return x * 2^exp.  */
-#if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  undef ldexpl
-#  define ldexpl rpl_ldexpl
-# endif
-_GL_FUNCDECL_RPL (ldexpl, long double, (long double x, int exp));
-_GL_CXXALIAS_RPL (ldexpl, long double, (long double x, int exp));
-#else
-# if address@hidden@
-_GL_FUNCDECL_SYS (ldexpl, long double, (long double x, int exp));
-# endif
-# if @GNULIB_LDEXPL@
-_GL_CXXALIAS_SYS (ldexpl, long double, (long double x, int exp));
-# endif
-#endif
-#if @GNULIB_LDEXPL@
-_GL_CXXALIASWARN (ldexpl);
-#endif
-#if address@hidden@ && defined GNULIB_POSIXCHECK
-# undef ldexpl
-# if HAVE_RAW_DECL_LDEXPL
-_GL_WARN_ON_USE (ldexpl, "ldexpl is unportable - "
-                 "use gnulib module ldexpl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_LOGF@
-# if @REPLACE_LOGF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef logf
-#   define logf rpl_logf
-#  endif
-_GL_FUNCDECL_RPL (logf, float, (float x));
-_GL_CXXALIAS_RPL (logf, float, (float x));
-# else
-#  if address@hidden@
-#   undef logf
-_GL_FUNCDECL_SYS (logf, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (logf, float, (float x));
-# endif
-_GL_CXXALIASWARN (logf);
-#elif defined GNULIB_POSIXCHECK
-# undef logf
-# if HAVE_RAW_DECL_LOGF
-_GL_WARN_ON_USE (logf, "logf is unportable - "
-                 "use gnulib module logf for portability");
-# endif
-#endif
-
-#if @GNULIB_LOG@
-# if @REPLACE_LOG@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef log
-#   define log rpl_log
-#  endif
-_GL_FUNCDECL_RPL (log, double, (double x));
-_GL_CXXALIAS_RPL (log, double, (double x));
-# else
-_GL_CXXALIAS_SYS (log, double, (double x));
-# endif
-_GL_CXXALIASWARN (log);
-#elif defined GNULIB_POSIXCHECK
-# undef log
-# if HAVE_RAW_DECL_LOG
-_GL_WARN_ON_USE (log, "log has portability problems - "
-                 "use gnulib module log for portability");
-# endif
-#endif
-
-#if @GNULIB_LOGL@
-# if @REPLACE_LOGL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef logl
-#   define logl rpl_logl
-#  endif
-_GL_FUNCDECL_RPL (logl, long double, (long double x));
-_GL_CXXALIAS_RPL (logl, long double, (long double x));
-# else
-#  if address@hidden@ || address@hidden@
-#   undef logl
-_GL_FUNCDECL_SYS (logl, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (logl, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (logl);
-#elif defined GNULIB_POSIXCHECK
-# undef logl
-# if HAVE_RAW_DECL_LOGL
-_GL_WARN_ON_USE (logl, "logl is unportable - "
-                 "use gnulib module logl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_LOG10F@
-# if @REPLACE_LOG10F@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef log10f
-#   define log10f rpl_log10f
-#  endif
-_GL_FUNCDECL_RPL (log10f, float, (float x));
-_GL_CXXALIAS_RPL (log10f, float, (float x));
-# else
-#  if address@hidden@
-#   undef log10f
-_GL_FUNCDECL_SYS (log10f, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (log10f, float, (float x));
-# endif
-_GL_CXXALIASWARN (log10f);
-#elif defined GNULIB_POSIXCHECK
-# undef log10f
-# if HAVE_RAW_DECL_LOG10F
-_GL_WARN_ON_USE (log10f, "log10f is unportable - "
-                 "use gnulib module log10f for portability");
-# endif
-#endif
-
-#if @GNULIB_LOG10@
-# if @REPLACE_LOG10@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef log10
-#   define log10 rpl_log10
-#  endif
-_GL_FUNCDECL_RPL (log10, double, (double x));
-_GL_CXXALIAS_RPL (log10, double, (double x));
-# else
-_GL_CXXALIAS_SYS (log10, double, (double x));
-# endif
-_GL_CXXALIASWARN (log10);
-#elif defined GNULIB_POSIXCHECK
-# undef log10
-# if HAVE_RAW_DECL_LOG10
-_GL_WARN_ON_USE (log10, "log10 has portability problems - "
-                 "use gnulib module log10 for portability");
-# endif
-#endif
-
-#if @GNULIB_LOG10L@
-# if @REPLACE_LOG10L@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef log10l
-#   define log10l rpl_log10l
-#  endif
-_GL_FUNCDECL_RPL (log10l, long double, (long double x));
-_GL_CXXALIAS_RPL (log10l, long double, (long double x));
-# else
-#  if address@hidden@ || address@hidden@
-#   undef log10l
-_GL_FUNCDECL_SYS (log10l, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (log10l, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (log10l);
-#elif defined GNULIB_POSIXCHECK
-# undef log10l
-# if HAVE_RAW_DECL_LOG10L
-_GL_WARN_ON_USE (log10l, "log10l is unportable - "
-                 "use gnulib module log10l for portability");
-# endif
-#endif
-
-
-#if @GNULIB_LOG1PF@
-# if @REPLACE_LOG1PF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef log1pf
-#   define log1pf rpl_log1pf
-#  endif
-_GL_FUNCDECL_RPL (log1pf, float, (float x));
-_GL_CXXALIAS_RPL (log1pf, float, (float x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (log1pf, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (log1pf, float, (float x));
-# endif
-_GL_CXXALIASWARN (log1pf);
-#elif defined GNULIB_POSIXCHECK
-# undef log1pf
-# if HAVE_RAW_DECL_LOG1PF
-_GL_WARN_ON_USE (log1pf, "log1pf is unportable - "
-                 "use gnulib module log1pf for portability");
-# endif
-#endif
-
-#if @GNULIB_LOG1P@
-# if @REPLACE_LOG1P@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef log1p
-#   define log1p rpl_log1p
-#  endif
-_GL_FUNCDECL_RPL (log1p, double, (double x));
-_GL_CXXALIAS_RPL (log1p, double, (double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (log1p, double, (double x));
-#  endif
-_GL_CXXALIAS_SYS (log1p, double, (double x));
-# endif
-_GL_CXXALIASWARN (log1p);
-#elif defined GNULIB_POSIXCHECK
-# undef log1p
-# if HAVE_RAW_DECL_LOG1P
-_GL_WARN_ON_USE (log1p, "log1p has portability problems - "
-                 "use gnulib module log1p for portability");
-# endif
-#endif
-
-#if @GNULIB_LOG1PL@
-# if @REPLACE_LOG1PL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef log1pl
-#   define log1pl rpl_log1pl
-#  endif
-_GL_FUNCDECL_RPL (log1pl, long double, (long double x));
-_GL_CXXALIAS_RPL (log1pl, long double, (long double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (log1pl, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (log1pl, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (log1pl);
-#elif defined GNULIB_POSIXCHECK
-# undef log1pl
-# if HAVE_RAW_DECL_LOG1PL
-_GL_WARN_ON_USE (log1pl, "log1pl has portability problems - "
-                 "use gnulib module log1pl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_LOG2F@
-# if @REPLACE_LOG2F@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef log2f
-#   define log2f rpl_log2f
-#  endif
-_GL_FUNCDECL_RPL (log2f, float, (float x));
-_GL_CXXALIAS_RPL (log2f, float, (float x));
-# else
-#  if address@hidden@
-#   undef log2f
-_GL_FUNCDECL_SYS (log2f, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (log2f, float, (float x));
-# endif
-_GL_CXXALIASWARN (log2f);
-#elif defined GNULIB_POSIXCHECK
-# undef log2f
-# if HAVE_RAW_DECL_LOG2F
-_GL_WARN_ON_USE (log2f, "log2f is unportable - "
-                 "use gnulib module log2f for portability");
-# endif
-#endif
-
-#if @GNULIB_LOG2@
-# if @REPLACE_LOG2@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef log2
-#   define log2 rpl_log2
-#  endif
-_GL_FUNCDECL_RPL (log2, double, (double x));
-_GL_CXXALIAS_RPL (log2, double, (double x));
-# else
-#  if address@hidden@
-#   undef log2
-_GL_FUNCDECL_SYS (log2, double, (double x));
-#  endif
-_GL_CXXALIAS_SYS (log2, double, (double x));
-# endif
-_GL_CXXALIASWARN (log2);
-#elif defined GNULIB_POSIXCHECK
-# undef log2
-# if HAVE_RAW_DECL_LOG2
-_GL_WARN_ON_USE (log2, "log2 is unportable - "
-                 "use gnulib module log2 for portability");
-# endif
-#endif
-
-#if @GNULIB_LOG2L@
-# if @REPLACE_LOG2L@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef log2l
-#   define log2l rpl_log2l
-#  endif
-_GL_FUNCDECL_RPL (log2l, long double, (long double x));
-_GL_CXXALIAS_RPL (log2l, long double, (long double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (log2l, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (log2l, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (log2l);
-#elif defined GNULIB_POSIXCHECK
-# undef log2l
-# if HAVE_RAW_DECL_LOG2L
-_GL_WARN_ON_USE (log2l, "log2l is unportable - "
-                 "use gnulib module log2l for portability");
-# endif
-#endif
-
-
-#if @GNULIB_LOGBF@
-# if @REPLACE_LOGBF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef logbf
-#   define logbf rpl_logbf
-#  endif
-_GL_FUNCDECL_RPL (logbf, float, (float x));
-_GL_CXXALIAS_RPL (logbf, float, (float x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (logbf, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (logbf, float, (float x));
-# endif
-_GL_CXXALIASWARN (logbf);
-#elif defined GNULIB_POSIXCHECK
-# undef logbf
-# if HAVE_RAW_DECL_LOGBF
-_GL_WARN_ON_USE (logbf, "logbf is unportable - "
-                 "use gnulib module logbf for portability");
-# endif
-#endif
-
-#if @GNULIB_LOGB@
-# if @REPLACE_LOGB@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef logb
-#   define logb rpl_logb
-#  endif
-_GL_FUNCDECL_RPL (logb, double, (double x));
-_GL_CXXALIAS_RPL (logb, double, (double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (logb, double, (double x));
-#  endif
-_GL_CXXALIAS_SYS (logb, double, (double x));
-# endif
-_GL_CXXALIASWARN (logb);
-#elif defined GNULIB_POSIXCHECK
-# undef logb
-# if HAVE_RAW_DECL_LOGB
-_GL_WARN_ON_USE (logb, "logb is unportable - "
-                 "use gnulib module logb for portability");
-# endif
-#endif
-
-#if @GNULIB_LOGBL@
-# if @REPLACE_LOGBL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef logbl
-#   define logbl rpl_logbl
-#  endif
-_GL_FUNCDECL_RPL (logbl, long double, (long double x));
-_GL_CXXALIAS_RPL (logbl, long double, (long double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (logbl, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (logbl, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (logbl);
-#elif defined GNULIB_POSIXCHECK
-# undef logbl
-# if HAVE_RAW_DECL_LOGBL
-_GL_WARN_ON_USE (logbl, "logbl is unportable - "
-                 "use gnulib module logbl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_MODFF@
-# if @REPLACE_MODFF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef modff
-#   define modff rpl_modff
-#  endif
-_GL_FUNCDECL_RPL (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (modff, float, (float x, float *iptr));
-# else
-#  if address@hidden@
-#   undef modff
-_GL_FUNCDECL_SYS (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (modff, float, (float x, float *iptr));
-# endif
-_GL_CXXALIASWARN (modff);
-#elif defined GNULIB_POSIXCHECK
-# undef modff
-# if HAVE_RAW_DECL_MODFF
-_GL_WARN_ON_USE (modff, "modff is unportable - "
-                 "use gnulib module modff for portability");
-# endif
-#endif
-
-#if @GNULIB_MODF@
-# if @REPLACE_MODF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef modf
-#   define modf rpl_modf
-#  endif
-_GL_FUNCDECL_RPL (modf, double, (double x, double *iptr) _GL_ARG_NONNULL 
((2)));
-_GL_CXXALIAS_RPL (modf, double, (double x, double *iptr));
-# else
-_GL_CXXALIAS_SYS (modf, double, (double x, double *iptr));
-# endif
-_GL_CXXALIASWARN (modf);
-#elif defined GNULIB_POSIXCHECK
-# undef modf
-# if HAVE_RAW_DECL_MODF
-_GL_WARN_ON_USE (modf, "modf has portability problems - "
-                 "use gnulib module modf for portability");
-# endif
-#endif
-
-#if @GNULIB_MODFL@
-# if @REPLACE_MODFL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef modfl
-#   define modfl rpl_modfl
-#  endif
-_GL_FUNCDECL_RPL (modfl, long double, (long double x, long double *iptr)
-                                      _GL_ARG_NONNULL ((2)));
-_GL_CXXALIAS_RPL (modfl, long double, (long double x, long double *iptr));
-# else
-#  if address@hidden@
-#   undef modfl
-_GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr)
-                                      _GL_ARG_NONNULL ((2)));
-#  endif
-_GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr));
-# endif
-_GL_CXXALIASWARN (modfl);
-#elif defined GNULIB_POSIXCHECK
-# undef modfl
-# if HAVE_RAW_DECL_MODFL
-_GL_WARN_ON_USE (modfl, "modfl is unportable - "
-                 "use gnulib module modfl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_POWF@
-# if address@hidden@
-#  undef powf
-_GL_FUNCDECL_SYS (powf, float, (float x, float y));
-# endif
-_GL_CXXALIAS_SYS (powf, float, (float x, float y));
-_GL_CXXALIASWARN (powf);
-#elif defined GNULIB_POSIXCHECK
-# undef powf
-# if HAVE_RAW_DECL_POWF
-_GL_WARN_ON_USE (powf, "powf is unportable - "
-                 "use gnulib module powf for portability");
-# endif
-#endif
-
-
-#if @GNULIB_REMAINDERF@
-# if @REPLACE_REMAINDERF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef remainderf
-#   define remainderf rpl_remainderf
-#  endif
-_GL_FUNCDECL_RPL (remainderf, float, (float x, float y));
-_GL_CXXALIAS_RPL (remainderf, float, (float x, float y));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (remainderf, float, (float x, float y));
-#  endif
-_GL_CXXALIAS_SYS (remainderf, float, (float x, float y));
-# endif
-_GL_CXXALIASWARN (remainderf);
-#elif defined GNULIB_POSIXCHECK
-# undef remainderf
-# if HAVE_RAW_DECL_REMAINDERF
-_GL_WARN_ON_USE (remainderf, "remainderf is unportable - "
-                 "use gnulib module remainderf for portability");
-# endif
-#endif
-
-#if @GNULIB_REMAINDER@
-# if @REPLACE_REMAINDER@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef remainder
-#   define remainder rpl_remainder
-#  endif
-_GL_FUNCDECL_RPL (remainder, double, (double x, double y));
-_GL_CXXALIAS_RPL (remainder, double, (double x, double y));
-# else
-#  if address@hidden@ || address@hidden@
-_GL_FUNCDECL_SYS (remainder, double, (double x, double y));
-#  endif
-_GL_CXXALIAS_SYS (remainder, double, (double x, double y));
-# endif
-_GL_CXXALIASWARN (remainder);
-#elif defined GNULIB_POSIXCHECK
-# undef remainder
-# if HAVE_RAW_DECL_REMAINDER
-_GL_WARN_ON_USE (remainder, "remainder is unportable - "
-                 "use gnulib module remainder for portability");
-# endif
-#endif
-
-#if @GNULIB_REMAINDERL@
-# if @REPLACE_REMAINDERL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef remainderl
-#   define remainderl rpl_remainderl
-#  endif
-_GL_FUNCDECL_RPL (remainderl, long double, (long double x, long double y));
-_GL_CXXALIAS_RPL (remainderl, long double, (long double x, long double y));
-# else
-#  if address@hidden@
-#   undef remainderl
-_GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y));
-#  endif
-_GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y));
-# endif
-_GL_CXXALIASWARN (remainderl);
-#elif defined GNULIB_POSIXCHECK
-# undef remainderl
-# if HAVE_RAW_DECL_REMAINDERL
-_GL_WARN_ON_USE (remainderl, "remainderl is unportable - "
-                 "use gnulib module remainderl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_RINTF@
-# if address@hidden@
-_GL_FUNCDECL_SYS (rintf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (rintf, float, (float x));
-_GL_CXXALIASWARN (rintf);
-#elif defined GNULIB_POSIXCHECK
-# undef rintf
-# if HAVE_RAW_DECL_RINTF
-_GL_WARN_ON_USE (rintf, "rintf is unportable - "
-                 "use gnulib module rintf for portability");
-# endif
-#endif
-
-#if @GNULIB_RINT@
-# if address@hidden@
-_GL_FUNCDECL_SYS (rint, double, (double x));
-# endif
-_GL_CXXALIAS_SYS (rint, double, (double x));
-_GL_CXXALIASWARN (rint);
-#elif defined GNULIB_POSIXCHECK
-# undef rint
-# if HAVE_RAW_DECL_RINT
-_GL_WARN_ON_USE (rint, "rint is unportable - "
-                 "use gnulib module rint for portability");
-# endif
-#endif
-
-#if @GNULIB_RINTL@
-# if address@hidden@
-_GL_FUNCDECL_SYS (rintl, long double, (long double x));
-# endif
-_GL_CXXALIAS_SYS (rintl, long double, (long double x));
-_GL_CXXALIASWARN (rintl);
-#elif defined GNULIB_POSIXCHECK
-# undef rintl
-# if HAVE_RAW_DECL_RINTL
-_GL_WARN_ON_USE (rintl, "rintl is unportable - "
-                 "use gnulib module rintl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_ROUNDF@
-# if @REPLACE_ROUNDF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef roundf
-#   define roundf rpl_roundf
-#  endif
-_GL_FUNCDECL_RPL (roundf, float, (float x));
-_GL_CXXALIAS_RPL (roundf, float, (float x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (roundf, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (roundf, float, (float x));
-# endif
-_GL_CXXALIASWARN (roundf);
-#elif defined GNULIB_POSIXCHECK
-# undef roundf
-# if HAVE_RAW_DECL_ROUNDF
-_GL_WARN_ON_USE (roundf, "roundf is unportable - "
-                 "use gnulib module roundf for portability");
-# endif
-#endif
-
-#if @GNULIB_ROUND@
-# if @REPLACE_ROUND@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef round
-#   define round rpl_round
-#  endif
-_GL_FUNCDECL_RPL (round, double, (double x));
-_GL_CXXALIAS_RPL (round, double, (double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (round, double, (double x));
-#  endif
-_GL_CXXALIAS_SYS (round, double, (double x));
-# endif
-_GL_CXXALIASWARN (round);
-#elif defined GNULIB_POSIXCHECK
-# undef round
-# if HAVE_RAW_DECL_ROUND
-_GL_WARN_ON_USE (round, "round is unportable - "
-                 "use gnulib module round for portability");
-# endif
-#endif
-
-#if @GNULIB_ROUNDL@
-# if @REPLACE_ROUNDL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef roundl
-#   define roundl rpl_roundl
-#  endif
-_GL_FUNCDECL_RPL (roundl, long double, (long double x));
-_GL_CXXALIAS_RPL (roundl, long double, (long double x));
-# else
-#  if address@hidden@
-#   undef roundl
-_GL_FUNCDECL_SYS (roundl, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (roundl, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (roundl);
-#elif defined GNULIB_POSIXCHECK
-# undef roundl
-# if HAVE_RAW_DECL_ROUNDL
-_GL_WARN_ON_USE (roundl, "roundl is unportable - "
-                 "use gnulib module roundl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_SINF@
-# if address@hidden@
-#  undef sinf
-_GL_FUNCDECL_SYS (sinf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (sinf, float, (float x));
-_GL_CXXALIASWARN (sinf);
-#elif defined GNULIB_POSIXCHECK
-# undef sinf
-# if HAVE_RAW_DECL_SINF
-_GL_WARN_ON_USE (sinf, "sinf is unportable - "
-                 "use gnulib module sinf for portability");
-# endif
-#endif
-
-#if @GNULIB_SINL@
-# if address@hidden@ || address@hidden@
-#  undef sinl
-_GL_FUNCDECL_SYS (sinl, long double, (long double x));
-# endif
-_GL_CXXALIAS_SYS (sinl, long double, (long double x));
-_GL_CXXALIASWARN (sinl);
-#elif defined GNULIB_POSIXCHECK
-# undef sinl
-# if HAVE_RAW_DECL_SINL
-_GL_WARN_ON_USE (sinl, "sinl is unportable - "
-                 "use gnulib module sinl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_SINHF@
-# if address@hidden@
-#  undef sinhf
-_GL_FUNCDECL_SYS (sinhf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (sinhf, float, (float x));
-_GL_CXXALIASWARN (sinhf);
-#elif defined GNULIB_POSIXCHECK
-# undef sinhf
-# if HAVE_RAW_DECL_SINHF
-_GL_WARN_ON_USE (sinhf, "sinhf is unportable - "
-                 "use gnulib module sinhf for portability");
-# endif
-#endif
-
-
-#if @GNULIB_SQRTF@
-# if address@hidden@
-#  undef sqrtf
-_GL_FUNCDECL_SYS (sqrtf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (sqrtf, float, (float x));
-_GL_CXXALIASWARN (sqrtf);
-#elif defined GNULIB_POSIXCHECK
-# undef sqrtf
-# if HAVE_RAW_DECL_SQRTF
-_GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - "
-                 "use gnulib module sqrtf for portability");
-# endif
-#endif
-
-#if @GNULIB_SQRTL@
-# if @REPLACE_SQRTL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef sqrtl
-#   define sqrtl rpl_sqrtl
-#  endif
-_GL_FUNCDECL_RPL (sqrtl, long double, (long double x));
-_GL_CXXALIAS_RPL (sqrtl, long double, (long double x));
-# else
-#  if address@hidden@ || address@hidden@
-#   undef sqrtl
-_GL_FUNCDECL_SYS (sqrtl, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (sqrtl, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (sqrtl);
-#elif defined GNULIB_POSIXCHECK
-# undef sqrtl
-# if HAVE_RAW_DECL_SQRTL
-_GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - "
-                 "use gnulib module sqrtl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_TANF@
-# if address@hidden@
-#  undef tanf
-_GL_FUNCDECL_SYS (tanf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (tanf, float, (float x));
-_GL_CXXALIASWARN (tanf);
-#elif defined GNULIB_POSIXCHECK
-# undef tanf
-# if HAVE_RAW_DECL_TANF
-_GL_WARN_ON_USE (tanf, "tanf is unportable - "
-                 "use gnulib module tanf for portability");
-# endif
-#endif
-
-#if @GNULIB_TANL@
-# if address@hidden@ || address@hidden@
-#  undef tanl
-_GL_FUNCDECL_SYS (tanl, long double, (long double x));
-# endif
-_GL_CXXALIAS_SYS (tanl, long double, (long double x));
-_GL_CXXALIASWARN (tanl);
-#elif defined GNULIB_POSIXCHECK
-# undef tanl
-# if HAVE_RAW_DECL_TANL
-_GL_WARN_ON_USE (tanl, "tanl is unportable - "
-                 "use gnulib module tanl for portability");
-# endif
-#endif
-
-
-#if @GNULIB_TANHF@
-# if address@hidden@
-#  undef tanhf
-_GL_FUNCDECL_SYS (tanhf, float, (float x));
-# endif
-_GL_CXXALIAS_SYS (tanhf, float, (float x));
-_GL_CXXALIASWARN (tanhf);
-#elif defined GNULIB_POSIXCHECK
-# undef tanhf
-# if HAVE_RAW_DECL_TANHF
-_GL_WARN_ON_USE (tanhf, "tanhf is unportable - "
-                 "use gnulib module tanhf for portability");
-# endif
-#endif
-
-
-#if @GNULIB_TRUNCF@
-# if @REPLACE_TRUNCF@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define truncf rpl_truncf
-#  endif
-_GL_FUNCDECL_RPL (truncf, float, (float x));
-_GL_CXXALIAS_RPL (truncf, float, (float x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (truncf, float, (float x));
-#  endif
-_GL_CXXALIAS_SYS (truncf, float, (float x));
-# endif
-_GL_CXXALIASWARN (truncf);
-#elif defined GNULIB_POSIXCHECK
-# undef truncf
-# if HAVE_RAW_DECL_TRUNCF
-_GL_WARN_ON_USE (truncf, "truncf is unportable - "
-                 "use gnulib module truncf for portability");
-# endif
-#endif
-
-#if @GNULIB_TRUNC@
-# if @REPLACE_TRUNC@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   define trunc rpl_trunc
-#  endif
-_GL_FUNCDECL_RPL (trunc, double, (double x));
-_GL_CXXALIAS_RPL (trunc, double, (double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (trunc, double, (double x));
-#  endif
-_GL_CXXALIAS_SYS (trunc, double, (double x));
-# endif
-_GL_CXXALIASWARN (trunc);
-#elif defined GNULIB_POSIXCHECK
-# undef trunc
-# if HAVE_RAW_DECL_TRUNC
-_GL_WARN_ON_USE (trunc, "trunc is unportable - "
-                 "use gnulib module trunc for portability");
-# endif
-#endif
-
-#if @GNULIB_TRUNCL@
-# if @REPLACE_TRUNCL@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef truncl
-#   define truncl rpl_truncl
-#  endif
-_GL_FUNCDECL_RPL (truncl, long double, (long double x));
-_GL_CXXALIAS_RPL (truncl, long double, (long double x));
-# else
-#  if address@hidden@
-_GL_FUNCDECL_SYS (truncl, long double, (long double x));
-#  endif
-_GL_CXXALIAS_SYS (truncl, long double, (long double x));
-# endif
-_GL_CXXALIASWARN (truncl);
-#elif defined GNULIB_POSIXCHECK
-# undef truncl
-# if HAVE_RAW_DECL_TRUNCL
-_GL_WARN_ON_USE (truncl, "truncl is unportable - "
-                 "use gnulib module truncl for portability");
-# endif
-#endif
-
-
-/* Definitions of function-like macros come here, after the function
-   declarations.  */
-
-
-#if @GNULIB_ISFINITE@
-# if @REPLACE_ISFINITE@
-_GL_EXTERN_C int gl_isfinitef (float x);
-_GL_EXTERN_C int gl_isfinited (double x);
-_GL_EXTERN_C int gl_isfinitel (long double x);
-#  undef isfinite
-#  define isfinite(x) \
-   (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \
-    sizeof (x) == sizeof (double) ? gl_isfinited (x) : \
-    gl_isfinitef (x))
-# endif
-# ifdef __cplusplus
-#  ifdef isfinite
-_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite)
-#   undef isfinite
-_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite)
-#  endif
-# endif
-#elif defined GNULIB_POSIXCHECK
-# if defined isfinite
-_GL_WARN_REAL_FLOATING_DECL (isfinite);
-#  undef isfinite
-#  define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x)
-# endif
-#endif
-
-
-#if @GNULIB_ISINF@
-# if @REPLACE_ISINF@
-_GL_EXTERN_C int gl_isinff (float x);
-_GL_EXTERN_C int gl_isinfd (double x);
-_GL_EXTERN_C int gl_isinfl (long double x);
-#  undef isinf
-#  define isinf(x) \
-   (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \
-    sizeof (x) == sizeof (double) ? gl_isinfd (x) : \
-    gl_isinff (x))
-# endif
-# ifdef __cplusplus
-#  ifdef isinf
-_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf)
-#   undef isinf
-_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf)
-#  endif
-# endif
-#elif defined GNULIB_POSIXCHECK
-# if defined isinf
-_GL_WARN_REAL_FLOATING_DECL (isinf);
-#  undef isinf
-#  define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x)
-# endif
-#endif
-
-
-#if @GNULIB_ISNANF@
-/* Test for NaN for 'float' numbers.  */
-# if @HAVE_ISNANF@
-/* The original <math.h> included above provides a declaration of isnan macro
-   or (older) isnanf function.  */
-#  if __GNUC__ >= 4
-    /* GCC 4.0 and newer provides three built-ins for isnan.  */
-#   undef isnanf
-#   define isnanf(x) __builtin_isnanf ((float)(x))
-#  elif defined isnan
-#   undef isnanf
-#   define isnanf(x) isnan ((float)(x))
-#  endif
-# else
-/* Test whether X is a NaN.  */
-#  undef isnanf
-#  define isnanf rpl_isnanf
-_GL_EXTERN_C int isnanf (float x);
-# endif
-#endif
-
-#if @GNULIB_ISNAND@
-/* Test for NaN for 'double' numbers.
-   This function is a gnulib extension, unlike isnan() which applied only
-   to 'double' numbers earlier but now is a type-generic macro.  */
-# if @HAVE_ISNAND@
-/* The original <math.h> included above provides a declaration of isnan
-   macro.  */
-#  if __GNUC__ >= 4
-    /* GCC 4.0 and newer provides three built-ins for isnan.  */
-#   undef isnand
-#   define isnand(x) __builtin_isnan ((double)(x))
-#  else
-#   undef isnand
-#   define isnand(x) isnan ((double)(x))
-#  endif
-# else
-/* Test whether X is a NaN.  */
-#  undef isnand
-#  define isnand rpl_isnand
-_GL_EXTERN_C int isnand (double x);
-# endif
-#endif
-
-#if @GNULIB_ISNANL@
-/* Test for NaN for 'long double' numbers.  */
-# if @HAVE_ISNANL@
-/* The original <math.h> included above provides a declaration of isnan
-   macro or (older) isnanl function.  */
-#  if __GNUC__ >= 4
-    /* GCC 4.0 and newer provides three built-ins for isnan.  */
-#   undef isnanl
-#   define isnanl(x) __builtin_isnanl ((long double)(x))
-#  elif defined isnan
-#   undef isnanl
-#   define isnanl(x) isnan ((long double)(x))
-#  endif
-# else
-/* Test whether X is a NaN.  */
-#  undef isnanl
-#  define isnanl rpl_isnanl
-_GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST;
-# endif
-#endif
-
-/* This must come *after* the snippets for GNULIB_ISNANF and GNULIB_ISNANL!  */
-#if @GNULIB_ISNAN@
-# if @REPLACE_ISNAN@
-/* We can't just use the isnanf macro (e.g.) as exposed by
-   isnanf.h (e.g.) here, because those may end up being macros
-   that recursively expand back to isnan.  So use the gnulib
-   replacements for them directly. */
-#  if @HAVE_ISNANF@ && __GNUC__ >= 4
-#   define gl_isnan_f(x) __builtin_isnanf ((float)(x))
-#  else
-_GL_EXTERN_C int rpl_isnanf (float x);
-#   define gl_isnan_f(x) rpl_isnanf (x)
-#  endif
-#  if @HAVE_ISNAND@ && __GNUC__ >= 4
-#   define gl_isnan_d(x) __builtin_isnan ((double)(x))
-#  else
-_GL_EXTERN_C int rpl_isnand (double x);
-#   define gl_isnan_d(x) rpl_isnand (x)
-#  endif
-#  if @HAVE_ISNANL@ && __GNUC__ >= 4
-#   define gl_isnan_l(x) __builtin_isnanl ((long double)(x))
-#  else
-_GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
-#   define gl_isnan_l(x) rpl_isnanl (x)
-#  endif
-#  undef isnan
-#  define isnan(x) \
-   (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \
-    sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \
-    gl_isnan_f (x))
-# elif __GNUC__ >= 4
-#  undef isnan
-#  define isnan(x) \
-   (sizeof (x) == sizeof (long double) ? __builtin_isnanl ((long double)(x)) : 
\
-    sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \
-    __builtin_isnanf ((float)(x)))
-# endif
-# ifdef __cplusplus
-#  ifdef isnan
-_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan)
-#   undef isnan
-_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan)
-#  endif
-# else
-/* Ensure isnan is a macro.  */
-#  ifndef isnan
-#   define isnan isnan
-#  endif
-# endif
-#elif defined GNULIB_POSIXCHECK
-# if defined isnan
-_GL_WARN_REAL_FLOATING_DECL (isnan);
-#  undef isnan
-#  define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x)
-# endif
-#endif
-
-
-#if @GNULIB_SIGNBIT@
-# if @REPLACE_SIGNBIT_USING_GCC@
-#  undef signbit
-   /* GCC 4.0 and newer provides three built-ins for signbit.  */
-#  define signbit(x) \
-   (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \
-    sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \
-    __builtin_signbitf (x))
-# endif
-# if @REPLACE_SIGNBIT@
-#  undef signbit
-_GL_EXTERN_C int gl_signbitf (float arg);
-_GL_EXTERN_C int gl_signbitd (double arg);
-_GL_EXTERN_C int gl_signbitl (long double arg);
-#  if __GNUC__ >= 2 && !defined __STRICT_ANSI__
-#   define _GL_NUM_UINT_WORDS(type) \
-      ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-#   if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined 
gl_signbitf
-#    define gl_signbitf_OPTIMIZED_MACRO
-#    define gl_signbitf(arg) \
-       ({ union { float _value;                                         \
-                  unsigned int _word[_GL_NUM_UINT_WORDS (float)];       \
-                } _m;                                                   \
-          _m._value = (arg);                                            \
-          (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1;          \
-        })
-#   endif
-#   if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined 
gl_signbitd
-#    define gl_signbitd_OPTIMIZED_MACRO
-#    define gl_signbitd(arg) \
-       ({ union { double _value;                                        \
-                  unsigned int _word[_GL_NUM_UINT_WORDS (double)];      \
-                } _m;                                                   \
-          _m._value = (arg);                                            \
-          (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1;          \
-        })
-#   endif
-#   if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined 
gl_signbitl
-#    define gl_signbitl_OPTIMIZED_MACRO
-#    define gl_signbitl(arg) \
-       ({ union { long double _value;                                   \
-                  unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \
-                } _m;                                                   \
-          _m._value = (arg);                                            \
-          (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1;        \
-        })
-#   endif
-#  endif
-#  define signbit(x) \
-   (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \
-    sizeof (x) == sizeof (double) ? gl_signbitd (x) : \
-    gl_signbitf (x))
-# endif
-# ifdef __cplusplus
-#  ifdef signbit
-_GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit)
-#   undef signbit
-_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
-#  endif
-# endif
-#elif defined GNULIB_POSIXCHECK
-# if defined signbit
-_GL_WARN_REAL_FLOATING_DECL (signbit);
-#  undef signbit
-#  define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x)
-# endif
-#endif
-
-_GL_INLINE_HEADER_END
-
-#endif /* address@hidden@_MATH_H */
-#endif /* address@hidden@_MATH_H */
diff --git a/gl/memchr.c b/gl/memchr.c
deleted file mode 100644
index 3db38a9..0000000
--- a/gl/memchr.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2013
-   Free Software Foundation, Inc.
-
-   Based on strlen implementation by Torbjorn Granlund (address@hidden),
-   with help from Dan Sahlin (address@hidden) and
-   commentary by Jim Blandy (address@hidden);
-   adaptation to memchr suggested by Dick Karpinski (address@hidden),
-   and implemented by Roland McGrath (address@hidden).
-
-NOTE: The canonical source of this file is maintained with the GNU C Library.
-Bugs can be reported to address@hidden
-
-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 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 _LIBC
-# include <config.h>
-#endif
-
-#include <string.h>
-
-#include <stddef.h>
-
-#if defined _LIBC
-# include <memcopy.h>
-#else
-# define reg_char char
-#endif
-
-#include <limits.h>
-
-#if HAVE_BP_SYM_H || defined _LIBC
-# include <bp-sym.h>
-#else
-# define BP_SYM(sym) sym
-#endif
-
-#undef __memchr
-#ifdef _LIBC
-# undef memchr
-#endif
-
-#ifndef weak_alias
-# define __memchr memchr
-#endif
-
-/* Search no more than N bytes of S for C.  */
-void *
-__memchr (void const *s, int c_in, size_t n)
-{
-  /* On 32-bit hardware, choosing longword to be a 32-bit unsigned
-     long instead of a 64-bit uintmax_t tends to give better
-     performance.  On 64-bit hardware, unsigned long is generally 64
-     bits already.  Change this typedef to experiment with
-     performance.  */
-  typedef unsigned long int longword;
-
-  const unsigned char *char_ptr;
-  const longword *longword_ptr;
-  longword repeated_one;
-  longword repeated_c;
-  unsigned reg_char c;
-
-  c = (unsigned char) c_in;
-
-  /* Handle the first few bytes by reading one byte at a time.
-     Do this until CHAR_PTR is aligned on a longword boundary.  */
-  for (char_ptr = (const unsigned char *) s;
-       n > 0 && (size_t) char_ptr % sizeof (longword) != 0;
-       --n, ++char_ptr)
-    if (*char_ptr == c)
-      return (void *) char_ptr;
-
-  longword_ptr = (const longword *) char_ptr;
-
-  /* All these elucidatory comments refer to 4-byte longwords,
-     but the theory applies equally well to any size longwords.  */
-
-  /* Compute auxiliary longword values:
-     repeated_one is a value which has a 1 in every byte.
-     repeated_c has c in every byte.  */
-  repeated_one = 0x01010101;
-  repeated_c = c | (c << 8);
-  repeated_c |= repeated_c << 16;
-  if (0xffffffffU < (longword) -1)
-    {
-      repeated_one |= repeated_one << 31 << 1;
-      repeated_c |= repeated_c << 31 << 1;
-      if (8 < sizeof (longword))
-        {
-          size_t i;
-
-          for (i = 64; i < sizeof (longword) * 8; i *= 2)
-            {
-              repeated_one |= repeated_one << i;
-              repeated_c |= repeated_c << i;
-            }
-        }
-    }
-
-  /* Instead of the traditional loop which tests each byte, we will test a
-     longword at a time.  The tricky part is testing if *any of the four*
-     bytes in the longword in question are equal to c.  We first use an xor
-     with repeated_c.  This reduces the task to testing whether *any of the
-     four* bytes in longword1 is zero.
-
-     We compute tmp =
-       ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7).
-     That is, we perform the following operations:
-       1. Subtract repeated_one.
-       2. & ~longword1.
-       3. & a mask consisting of 0x80 in every byte.
-     Consider what happens in each byte:
-       - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff,
-         and step 3 transforms it into 0x80.  A carry can also be propagated
-         to more significant bytes.
-       - If a byte of longword1 is nonzero, let its lowest 1 bit be at
-         position k (0 <= k <= 7); so the lowest k bits are 0.  After step 1,
-         the byte ends in a single bit of value 0 and k bits of value 1.
-         After step 2, the result is just k bits of value 1: 2^k - 1.  After
-         step 3, the result is 0.  And no carry is produced.
-     So, if longword1 has only non-zero bytes, tmp is zero.
-     Whereas if longword1 has a zero byte, call j the position of the least
-     significant zero byte.  Then the result has a zero at positions 0, ...,
-     j-1 and a 0x80 at position j.  We cannot predict the result at the more
-     significant bytes (positions j+1..3), but it does not matter since we
-     already have a non-zero bit at position 8*j+7.
-
-     So, the test whether any byte in longword1 is zero is equivalent to
-     testing whether tmp is nonzero.  */
-
-  while (n >= sizeof (longword))
-    {
-      longword longword1 = *longword_ptr ^ repeated_c;
-
-      if ((((longword1 - repeated_one) & ~longword1)
-           & (repeated_one << 7)) != 0)
-        break;
-      longword_ptr++;
-      n -= sizeof (longword);
-    }
-
-  char_ptr = (const unsigned char *) longword_ptr;
-
-  /* At this point, we know that either n < sizeof (longword), or one of the
-     sizeof (longword) bytes starting at char_ptr is == c.  On little-endian
-     machines, we could determine the first such byte without any further
-     memory accesses, just by looking at the tmp result from the last loop
-     iteration.  But this does not work on big-endian machines.  Choose code
-     that works in both cases.  */
-
-  for (; n > 0; --n, ++char_ptr)
-    {
-      if (*char_ptr == c)
-        return (void *) char_ptr;
-    }
-
-  return NULL;
-}
-#ifdef weak_alias
-weak_alias (__memchr, BP_SYM (memchr))
-#endif
diff --git a/gl/memchr.valgrind b/gl/memchr.valgrind
deleted file mode 100644
index 60f247e..0000000
--- a/gl/memchr.valgrind
+++ /dev/null
@@ -1,14 +0,0 @@
-# Suppress a valgrind message about use of uninitialized memory in memchr().
-# POSIX states that when the character is found, memchr must not read extra
-# bytes in an overestimated length (for example, where memchr is used to
-# implement strnlen).  However, we use a safe word read to provide a speedup.
-{
-    memchr-value4
-    Memcheck:Value4
-    fun:rpl_memchr
-}
-{
-    memchr-value8
-    Memcheck:Value8
-    fun:rpl_memchr
-}
diff --git a/gl/msvc-inval.c b/gl/msvc-inval.c
index 396031e..f83827f 100644
--- a/gl/msvc-inval.c
+++ b/gl/msvc-inval.c
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gl/msvc-inval.h b/gl/msvc-inval.h
index dcb0353..a0ef540 100644
--- a/gl/msvc-inval.h
+++ b/gl/msvc-inval.h
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gl/msvc-nothrow.c b/gl/msvc-nothrow.c
index 8d65472..b1e5f0c 100644
--- a/gl/msvc-nothrow.c
+++ b/gl/msvc-nothrow.c
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gl/msvc-nothrow.h b/gl/msvc-nothrow.h
index 5f52181..0d4dea5 100644
--- a/gl/msvc-nothrow.h
+++ b/gl/msvc-nothrow.h
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gl/printf-args.c b/gl/printf-args.c
deleted file mode 100644
index c27e6bc..0000000
--- a/gl/printf-args.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 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
-   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/>.  */
-
-/* This file can be parametrized with the following macros:
-     ENABLE_UNISTDIO    Set to 1 to enable the unistdio extensions.
-     PRINTF_FETCHARGS   Name of the function to be defined.
-     STATIC             Set to 'static' to declare the function static.  */
-
-#ifndef PRINTF_FETCHARGS
-# include <config.h>
-#endif
-
-/* Specification.  */
-#ifndef PRINTF_FETCHARGS
-# include "printf-args.h"
-#endif
-
-#ifdef STATIC
-STATIC
-#endif
-int
-PRINTF_FETCHARGS (va_list args, arguments *a)
-{
-  size_t i;
-  argument *ap;
-
-  for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++)
-    switch (ap->type)
-      {
-      case TYPE_SCHAR:
-        ap->a.a_schar = va_arg (args, /*signed char*/ int);
-        break;
-      case TYPE_UCHAR:
-        ap->a.a_uchar = va_arg (args, /*unsigned char*/ int);
-        break;
-      case TYPE_SHORT:
-        ap->a.a_short = va_arg (args, /*short*/ int);
-        break;
-      case TYPE_USHORT:
-        ap->a.a_ushort = va_arg (args, /*unsigned short*/ int);
-        break;
-      case TYPE_INT:
-        ap->a.a_int = va_arg (args, int);
-        break;
-      case TYPE_UINT:
-        ap->a.a_uint = va_arg (args, unsigned int);
-        break;
-      case TYPE_LONGINT:
-        ap->a.a_longint = va_arg (args, long int);
-        break;
-      case TYPE_ULONGINT:
-        ap->a.a_ulongint = va_arg (args, unsigned long int);
-        break;
-#if HAVE_LONG_LONG_INT
-      case TYPE_LONGLONGINT:
-        ap->a.a_longlongint = va_arg (args, long long int);
-        break;
-      case TYPE_ULONGLONGINT:
-        ap->a.a_ulonglongint = va_arg (args, unsigned long long int);
-        break;
-#endif
-      case TYPE_DOUBLE:
-        ap->a.a_double = va_arg (args, double);
-        break;
-      case TYPE_LONGDOUBLE:
-        ap->a.a_longdouble = va_arg (args, long double);
-        break;
-      case TYPE_CHAR:
-        ap->a.a_char = va_arg (args, int);
-        break;
-#if HAVE_WINT_T
-      case TYPE_WIDE_CHAR:
-        /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by
-           default argument promotions", this is not the case in mingw32,
-           where wint_t is 'unsigned short'.  */
-        ap->a.a_wide_char =
-          (sizeof (wint_t) < sizeof (int)
-           ? (wint_t) va_arg (args, int)
-           : va_arg (args, wint_t));
-        break;
-#endif
-      case TYPE_STRING:
-        ap->a.a_string = va_arg (args, const char *);
-        /* A null pointer is an invalid argument for "%s", but in practice
-           it occurs quite frequently in printf statements that produce
-           debug output.  Use a fallback in this case.  */
-        if (ap->a.a_string == NULL)
-          ap->a.a_string = "(NULL)";
-        break;
-#if HAVE_WCHAR_T
-      case TYPE_WIDE_STRING:
-        ap->a.a_wide_string = va_arg (args, const wchar_t *);
-        /* A null pointer is an invalid argument for "%ls", but in practice
-           it occurs quite frequently in printf statements that produce
-           debug output.  Use a fallback in this case.  */
-        if (ap->a.a_wide_string == NULL)
-          {
-            static const wchar_t wide_null_string[] =
-              {
-                (wchar_t)'(',
-                (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L',
-                (wchar_t)')',
-                (wchar_t)0
-              };
-            ap->a.a_wide_string = wide_null_string;
-          }
-        break;
-#endif
-      case TYPE_POINTER:
-        ap->a.a_pointer = va_arg (args, void *);
-        break;
-      case TYPE_COUNT_SCHAR_POINTER:
-        ap->a.a_count_schar_pointer = va_arg (args, signed char *);
-        break;
-      case TYPE_COUNT_SHORT_POINTER:
-        ap->a.a_count_short_pointer = va_arg (args, short *);
-        break;
-      case TYPE_COUNT_INT_POINTER:
-        ap->a.a_count_int_pointer = va_arg (args, int *);
-        break;
-      case TYPE_COUNT_LONGINT_POINTER:
-        ap->a.a_count_longint_pointer = va_arg (args, long int *);
-        break;
-#if HAVE_LONG_LONG_INT
-      case TYPE_COUNT_LONGLONGINT_POINTER:
-        ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);
-        break;
-#endif
-#if ENABLE_UNISTDIO
-      /* The unistdio extensions.  */
-      case TYPE_U8_STRING:
-        ap->a.a_u8_string = va_arg (args, const uint8_t *);
-        /* A null pointer is an invalid argument for "%U", but in practice
-           it occurs quite frequently in printf statements that produce
-           debug output.  Use a fallback in this case.  */
-        if (ap->a.a_u8_string == NULL)
-          {
-            static const uint8_t u8_null_string[] =
-              { '(', 'N', 'U', 'L', 'L', ')', 0 };
-            ap->a.a_u8_string = u8_null_string;
-          }
-        break;
-      case TYPE_U16_STRING:
-        ap->a.a_u16_string = va_arg (args, const uint16_t *);
-        /* A null pointer is an invalid argument for "%lU", but in practice
-           it occurs quite frequently in printf statements that produce
-           debug output.  Use a fallback in this case.  */
-        if (ap->a.a_u16_string == NULL)
-          {
-            static const uint16_t u16_null_string[] =
-              { '(', 'N', 'U', 'L', 'L', ')', 0 };
-            ap->a.a_u16_string = u16_null_string;
-          }
-        break;
-      case TYPE_U32_STRING:
-        ap->a.a_u32_string = va_arg (args, const uint32_t *);
-        /* A null pointer is an invalid argument for "%llU", but in practice
-           it occurs quite frequently in printf statements that produce
-           debug output.  Use a fallback in this case.  */
-        if (ap->a.a_u32_string == NULL)
-          {
-            static const uint32_t u32_null_string[] =
-              { '(', 'N', 'U', 'L', 'L', ')', 0 };
-            ap->a.a_u32_string = u32_null_string;
-          }
-        break;
-#endif
-      default:
-        /* Unknown type.  */
-        return -1;
-      }
-  return 0;
-}
diff --git a/gl/printf-args.h b/gl/printf-args.h
deleted file mode 100644
index 2a9c2a3..0000000
--- a/gl/printf-args.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2006-2007, 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/>.  */
-
-#ifndef _PRINTF_ARGS_H
-#define _PRINTF_ARGS_H
-
-/* This file can be parametrized with the following macros:
-     ENABLE_UNISTDIO    Set to 1 to enable the unistdio extensions.
-     PRINTF_FETCHARGS   Name of the function to be declared.
-     STATIC             Set to 'static' to declare the function static.  */
-
-/* Default parameters.  */
-#ifndef PRINTF_FETCHARGS
-# define PRINTF_FETCHARGS printf_fetchargs
-#endif
-
-/* Get size_t.  */
-#include <stddef.h>
-
-/* Get wchar_t.  */
-#if HAVE_WCHAR_T
-# include <stddef.h>
-#endif
-
-/* Get wint_t.  */
-#if HAVE_WINT_T
-# include <wchar.h>
-#endif
-
-/* Get va_list.  */
-#include <stdarg.h>
-
-
-/* Argument types */
-typedef enum
-{
-  TYPE_NONE,
-  TYPE_SCHAR,
-  TYPE_UCHAR,
-  TYPE_SHORT,
-  TYPE_USHORT,
-  TYPE_INT,
-  TYPE_UINT,
-  TYPE_LONGINT,
-  TYPE_ULONGINT,
-#if HAVE_LONG_LONG_INT
-  TYPE_LONGLONGINT,
-  TYPE_ULONGLONGINT,
-#endif
-  TYPE_DOUBLE,
-  TYPE_LONGDOUBLE,
-  TYPE_CHAR,
-#if HAVE_WINT_T
-  TYPE_WIDE_CHAR,
-#endif
-  TYPE_STRING,
-#if HAVE_WCHAR_T
-  TYPE_WIDE_STRING,
-#endif
-  TYPE_POINTER,
-  TYPE_COUNT_SCHAR_POINTER,
-  TYPE_COUNT_SHORT_POINTER,
-  TYPE_COUNT_INT_POINTER,
-  TYPE_COUNT_LONGINT_POINTER
-#if HAVE_LONG_LONG_INT
-, TYPE_COUNT_LONGLONGINT_POINTER
-#endif
-#if ENABLE_UNISTDIO
-  /* The unistdio extensions.  */
-, TYPE_U8_STRING
-, TYPE_U16_STRING
-, TYPE_U32_STRING
-#endif
-} arg_type;
-
-/* Polymorphic argument */
-typedef struct
-{
-  arg_type type;
-  union
-  {
-    signed char                 a_schar;
-    unsigned char               a_uchar;
-    short                       a_short;
-    unsigned short              a_ushort;
-    int                         a_int;
-    unsigned int                a_uint;
-    long int                    a_longint;
-    unsigned long int           a_ulongint;
-#if HAVE_LONG_LONG_INT
-    long long int               a_longlongint;
-    unsigned long long int      a_ulonglongint;
-#endif
-    float                       a_float;
-    double                      a_double;
-    long double                 a_longdouble;
-    int                         a_char;
-#if HAVE_WINT_T
-    wint_t                      a_wide_char;
-#endif
-    const char*                 a_string;
-#if HAVE_WCHAR_T
-    const wchar_t*              a_wide_string;
-#endif
-    void*                       a_pointer;
-    signed char *               a_count_schar_pointer;
-    short *                     a_count_short_pointer;
-    int *                       a_count_int_pointer;
-    long int *                  a_count_longint_pointer;
-#if HAVE_LONG_LONG_INT
-    long long int *             a_count_longlongint_pointer;
-#endif
-#if ENABLE_UNISTDIO
-    /* The unistdio extensions.  */
-    const uint8_t *             a_u8_string;
-    const uint16_t *            a_u16_string;
-    const uint32_t *            a_u32_string;
-#endif
-  }
-  a;
-}
-argument;
-
-/* Number of directly allocated arguments (no malloc() needed).  */
-#define N_DIRECT_ALLOC_ARGUMENTS 7
-
-typedef struct
-{
-  size_t count;
-  argument *arg;
-  argument direct_alloc_arg[N_DIRECT_ALLOC_ARGUMENTS];
-}
-arguments;
-
-
-/* Fetch the arguments, putting them into a. */
-#ifdef STATIC
-STATIC
-#else
-extern
-#endif
-int PRINTF_FETCHARGS (va_list args, arguments *a);
-
-#endif /* _PRINTF_ARGS_H */
diff --git a/gl/printf-frexp.c b/gl/printf-frexp.c
deleted file mode 100644
index 1a7b0c4..0000000
--- a/gl/printf-frexp.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/* Split a double into fraction and mantissa, for hexadecimal printf.
-   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 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/>.  */
-
-#if ! defined USE_LONG_DOUBLE
-# include <config.h>
-#endif
-
-/* Specification.  */
-#ifdef USE_LONG_DOUBLE
-# include "printf-frexpl.h"
-#else
-# include "printf-frexp.h"
-#endif
-
-#include <float.h>
-#include <math.h>
-#ifdef USE_LONG_DOUBLE
-# include "fpucw.h"
-#endif
-
-/* This file assumes FLT_RADIX = 2.  If FLT_RADIX is a power of 2 greater
-   than 2, or not even a power of 2, some rounding errors can occur, so that
-   then the returned mantissa is only guaranteed to be <= 2.0, not < 2.0.  */
-
-#ifdef USE_LONG_DOUBLE
-# define FUNC printf_frexpl
-# define DOUBLE long double
-# define MIN_EXP LDBL_MIN_EXP
-# if HAVE_FREXPL_IN_LIBC && HAVE_LDEXPL_IN_LIBC
-#  define USE_FREXP_LDEXP
-#  define FREXP frexpl
-#  define LDEXP ldexpl
-# endif
-# define DECL_ROUNDING DECL_LONG_DOUBLE_ROUNDING
-# define BEGIN_ROUNDING() BEGIN_LONG_DOUBLE_ROUNDING ()
-# define END_ROUNDING() END_LONG_DOUBLE_ROUNDING ()
-# define L_(literal) literal##L
-#else
-# define FUNC printf_frexp
-# define DOUBLE double
-# define MIN_EXP DBL_MIN_EXP
-# if HAVE_FREXP_IN_LIBC && HAVE_LDEXP_IN_LIBC
-#  define USE_FREXP_LDEXP
-#  define FREXP frexp
-#  define LDEXP ldexp
-# endif
-# define DECL_ROUNDING
-# define BEGIN_ROUNDING()
-# define END_ROUNDING()
-# define L_(literal) literal
-#endif
-
-DOUBLE
-FUNC (DOUBLE x, int *expptr)
-{
-  int exponent;
-  DECL_ROUNDING
-
-  BEGIN_ROUNDING ();
-
-#ifdef USE_FREXP_LDEXP
-  /* frexp and ldexp are usually faster than the loop below.  */
-  x = FREXP (x, &exponent);
-
-  x = x + x;
-  exponent -= 1;
-
-  if (exponent < MIN_EXP - 1)
-    {
-      x = LDEXP (x, exponent - (MIN_EXP - 1));
-      exponent = MIN_EXP - 1;
-    }
-#else
-  {
-    /* Since the exponent is an 'int', it fits in 64 bits.  Therefore the
-       loops are executed no more than 64 times.  */
-    DOUBLE pow2[64]; /* pow2[i] = 2^2^i */
-    DOUBLE powh[64]; /* powh[i] = 2^-2^i */
-    int i;
-
-    exponent = 0;
-    if (x >= L_(1.0))
-      {
-        /* A nonnegative exponent.  */
-        {
-          DOUBLE pow2_i; /* = pow2[i] */
-          DOUBLE powh_i; /* = powh[i] */
-
-          /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i,
-             x * 2^exponent = argument, x >= 1.0.  */
-          for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5);
-               ;
-               i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i)
-            {
-              if (x >= pow2_i)
-                {
-                  exponent += (1 << i);
-                  x *= powh_i;
-                }
-              else
-                break;
-
-              pow2[i] = pow2_i;
-              powh[i] = powh_i;
-            }
-        }
-        /* Here 1.0 <= x < 2^2^i.  */
-      }
-    else
-      {
-        /* A negative exponent.  */
-        {
-          DOUBLE pow2_i; /* = pow2[i] */
-          DOUBLE powh_i; /* = powh[i] */
-
-          /* Invariants: pow2_i = 2^2^i, powh_i = 2^-2^i,
-             x * 2^exponent = argument, x < 1.0, exponent >= MIN_EXP - 1.  */
-          for (i = 0, pow2_i = L_(2.0), powh_i = L_(0.5);
-               ;
-               i++, pow2_i = pow2_i * pow2_i, powh_i = powh_i * powh_i)
-            {
-              if (exponent - (1 << i) < MIN_EXP - 1)
-                break;
-
-              exponent -= (1 << i);
-              x *= pow2_i;
-              if (x >= L_(1.0))
-                break;
-
-              pow2[i] = pow2_i;
-              powh[i] = powh_i;
-            }
-        }
-        /* Here either x < 1.0 and exponent - 2^i < MIN_EXP - 1 <= exponent,
-           or 1.0 <= x < 2^2^i and exponent >= MIN_EXP - 1.  */
-
-        if (x < L_(1.0))
-          /* Invariants: x * 2^exponent = argument, x < 1.0 and
-             exponent - 2^i < MIN_EXP - 1 <= exponent.  */
-          while (i > 0)
-            {
-              i--;
-              if (exponent - (1 << i) >= MIN_EXP - 1)
-                {
-                  exponent -= (1 << i);
-                  x *= pow2[i];
-                  if (x >= L_(1.0))
-                    break;
-                }
-            }
-
-        /* Here either x < 1.0 and exponent = MIN_EXP - 1,
-           or 1.0 <= x < 2^2^i and exponent >= MIN_EXP - 1.  */
-      }
-
-    /* Invariants: x * 2^exponent = argument, and
-       either x < 1.0 and exponent = MIN_EXP - 1,
-       or 1.0 <= x < 2^2^i and exponent >= MIN_EXP - 1.  */
-    while (i > 0)
-      {
-        i--;
-        if (x >= pow2[i])
-          {
-            exponent += (1 << i);
-            x *= powh[i];
-          }
-      }
-    /* Here either x < 1.0 and exponent = MIN_EXP - 1,
-       or 1.0 <= x < 2.0 and exponent >= MIN_EXP - 1.  */
-  }
-#endif
-
-  END_ROUNDING ();
-
-  *expptr = exponent;
-  return x;
-}
diff --git a/gl/printf-frexp.h b/gl/printf-frexp.h
deleted file mode 100644
index 3976b73..0000000
--- a/gl/printf-frexp.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Split a double into fraction and mantissa, for hexadecimal printf.
-   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 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/>.  */
-
-/* Write a finite, positive number x as
-     x = mantissa * 2^exp
-   where exp >= DBL_MIN_EXP - 1,
-         mantissa < 2.0,
-         if x is not a denormalized number then mantissa >= 1.0.
-   Store exp in *EXPPTR and return mantissa.  */
-extern double printf_frexp (double x, int *expptr);
diff --git a/gl/printf-frexpl.c b/gl/printf-frexpl.c
deleted file mode 100644
index 26987a7..0000000
--- a/gl/printf-frexpl.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Split a 'long double' into fraction and mantissa, for hexadecimal printf.
-   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 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>
-
-#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
-
-/* Specification.  */
-# include "printf-frexpl.h"
-
-# include "printf-frexp.h"
-
-long double
-printf_frexpl (long double x, int *expptr)
-{
-  return printf_frexp (x, expptr);
-}
-
-#else
-
-# define USE_LONG_DOUBLE
-# include "printf-frexp.c"
-
-#endif
diff --git a/gl/printf-frexpl.h b/gl/printf-frexpl.h
deleted file mode 100644
index 3768b09..0000000
--- a/gl/printf-frexpl.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Split a 'long double' into fraction and mantissa, for hexadecimal printf.
-   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 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/>.  */
-
-/* Write a finite, positive number x as
-     x = mantissa * 2^exp
-   where exp >= LDBL_MIN_EXP - 1,
-         mantissa < 2.0,
-         if x is not a denormalized number then mantissa >= 1.0.
-   Store exp in *EXPPTR and return mantissa.  */
-extern long double printf_frexpl (long double x, int *expptr);
diff --git a/gl/printf-parse.c b/gl/printf-parse.c
deleted file mode 100644
index 23cacc1..0000000
--- a/gl/printf-parse.c
+++ /dev/null
@@ -1,638 +0,0 @@
-/* Formatted output to strings.
-   Copyright (C) 1999-2000, 2002-2003, 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, 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/>.  */
-
-/* This file can be parametrized with the following macros:
-     CHAR_T             The element type of the format string.
-     CHAR_T_ONLY_ASCII  Set to 1 to enable verification that all characters
-                        in the format string are ASCII.
-     DIRECTIVE          Structure denoting a format directive.
-                        Depends on CHAR_T.
-     DIRECTIVES         Structure denoting the set of format directives of a
-                        format string.  Depends on CHAR_T.
-     PRINTF_PARSE       Function that parses a format string.
-                        Depends on CHAR_T.
-     STATIC             Set to 'static' to declare the function static.
-     ENABLE_UNISTDIO    Set to 1 to enable the unistdio extensions.  */
-
-#ifndef PRINTF_PARSE
-# include <config.h>
-#endif
-
-/* Specification.  */
-#ifndef PRINTF_PARSE
-# include "printf-parse.h"
-#endif
-
-/* Default parameters.  */
-#ifndef PRINTF_PARSE
-# define PRINTF_PARSE printf_parse
-# define CHAR_T char
-# define DIRECTIVE char_directive
-# define DIRECTIVES char_directives
-#endif
-
-/* Get size_t, NULL.  */
-#include <stddef.h>
-
-/* Get intmax_t.  */
-#if defined IN_LIBINTL || defined IN_LIBASPRINTF
-# if HAVE_STDINT_H_WITH_UINTMAX
-#  include <stdint.h>
-# endif
-# if HAVE_INTTYPES_H_WITH_UINTMAX
-#  include <inttypes.h>
-# endif
-#else
-# include <stdint.h>
-#endif
-
-/* malloc(), realloc(), free().  */
-#include <stdlib.h>
-
-/* memcpy().  */
-#include <string.h>
-
-/* errno.  */
-#include <errno.h>
-
-/* Checked size_t computations.  */
-#include "xsize.h"
-
-#if CHAR_T_ONLY_ASCII
-/* c_isascii().  */
-# include "c-ctype.h"
-#endif
-
-#ifdef STATIC
-STATIC
-#endif
-int
-PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
-{
-  const CHAR_T *cp = format;    /* pointer into format */
-  size_t arg_posn = 0;          /* number of regular arguments consumed */
-  size_t d_allocated;           /* allocated elements of d->dir */
-  size_t a_allocated;           /* allocated elements of a->arg */
-  size_t max_width_length = 0;
-  size_t max_precision_length = 0;
-
-  d->count = 0;
-  d_allocated = N_DIRECT_ALLOC_DIRECTIVES;
-  d->dir = d->direct_alloc_dir;
-
-  a->count = 0;
-  a_allocated = N_DIRECT_ALLOC_ARGUMENTS;
-  a->arg = a->direct_alloc_arg;
-
-#define REGISTER_ARG(_index_,_type_) \
-  {                                                                     \
-    size_t n = (_index_);                                               \
-    if (n >= a_allocated)                                               \
-      {                                                                 \
-        size_t memory_size;                                             \
-        argument *memory;                                               \
-                                                                        \
-        a_allocated = xtimes (a_allocated, 2);                          \
-        if (a_allocated <= n)                                           \
-          a_allocated = xsum (n, 1);                                    \
-        memory_size = xtimes (a_allocated, sizeof (argument));          \
-        if (size_overflow_p (memory_size))                              \
-          /* Overflow, would lead to out of memory.  */                 \
-          goto out_of_memory;                                           \
-        memory = (argument *) (a->arg != a->direct_alloc_arg            \
-                               ? realloc (a->arg, memory_size)          \
-                               : malloc (memory_size));                 \
-        if (memory == NULL)                                             \
-          /* Out of memory.  */                                         \
-          goto out_of_memory;                                           \
-        if (a->arg == a->direct_alloc_arg)                              \
-          memcpy (memory, a->arg, a->count * sizeof (argument));        \
-        a->arg = memory;                                                \
-      }                                                                 \
-    while (a->count <= n)                                               \
-      a->arg[a->count++].type = TYPE_NONE;                              \
-    if (a->arg[n].type == TYPE_NONE)                                    \
-      a->arg[n].type = (_type_);                                        \
-    else if (a->arg[n].type != (_type_))                                \
-      /* Ambiguous type for positional argument.  */                    \
-      goto error;                                                       \
-  }
-
-  while (*cp != '\0')
-    {
-      CHAR_T c = *cp++;
-      if (c == '%')
-        {
-          size_t arg_index = ARG_NONE;
-          DIRECTIVE *dp = &d->dir[d->count]; /* pointer to next directive */
-
-          /* Initialize the next directive.  */
-          dp->dir_start = cp - 1;
-          dp->flags = 0;
-          dp->width_start = NULL;
-          dp->width_end = NULL;
-          dp->width_arg_index = ARG_NONE;
-          dp->precision_start = NULL;
-          dp->precision_end = NULL;
-          dp->precision_arg_index = ARG_NONE;
-          dp->arg_index = ARG_NONE;
-
-          /* Test for positional argument.  */
-          if (*cp >= '0' && *cp <= '9')
-            {
-              const CHAR_T *np;
-
-              for (np = cp; *np >= '0' && *np <= '9'; np++)
-                ;
-              if (*np == '$')
-                {
-                  size_t n = 0;
-
-                  for (np = cp; *np >= '0' && *np <= '9'; np++)
-                    n = xsum (xtimes (n, 10), *np - '0');
-                  if (n == 0)
-                    /* Positional argument 0.  */
-                    goto error;
-                  if (size_overflow_p (n))
-                    /* n too large, would lead to out of memory later.  */
-                    goto error;
-                  arg_index = n - 1;
-                  cp = np + 1;
-                }
-            }
-
-          /* Read the flags.  */
-          for (;;)
-            {
-              if (*cp == '\'')
-                {
-                  dp->flags |= FLAG_GROUP;
-                  cp++;
-                }
-              else if (*cp == '-')
-                {
-                  dp->flags |= FLAG_LEFT;
-                  cp++;
-                }
-              else if (*cp == '+')
-                {
-                  dp->flags |= FLAG_SHOWSIGN;
-                  cp++;
-                }
-              else if (*cp == ' ')
-                {
-                  dp->flags |= FLAG_SPACE;
-                  cp++;
-                }
-              else if (*cp == '#')
-                {
-                  dp->flags |= FLAG_ALT;
-                  cp++;
-                }
-              else if (*cp == '0')
-                {
-                  dp->flags |= FLAG_ZERO;
-                  cp++;
-                }
-#if __GLIBC__ >= 2 && !defined __UCLIBC__
-              else if (*cp == 'I')
-                {
-                  dp->flags |= FLAG_LOCALIZED;
-                  cp++;
-                }
-#endif
-              else
-                break;
-            }
-
-          /* Parse the field width.  */
-          if (*cp == '*')
-            {
-              dp->width_start = cp;
-              cp++;
-              dp->width_end = cp;
-              if (max_width_length < 1)
-                max_width_length = 1;
-
-              /* Test for positional argument.  */
-              if (*cp >= '0' && *cp <= '9')
-                {
-                  const CHAR_T *np;
-
-                  for (np = cp; *np >= '0' && *np <= '9'; np++)
-                    ;
-                  if (*np == '$')
-                    {
-                      size_t n = 0;
-
-                      for (np = cp; *np >= '0' && *np <= '9'; np++)
-                        n = xsum (xtimes (n, 10), *np - '0');
-                      if (n == 0)
-                        /* Positional argument 0.  */
-                        goto error;
-                      if (size_overflow_p (n))
-                        /* n too large, would lead to out of memory later.  */
-                        goto error;
-                      dp->width_arg_index = n - 1;
-                      cp = np + 1;
-                    }
-                }
-              if (dp->width_arg_index == ARG_NONE)
-                {
-                  dp->width_arg_index = arg_posn++;
-                  if (dp->width_arg_index == ARG_NONE)
-                    /* arg_posn wrapped around.  */
-                    goto error;
-                }
-              REGISTER_ARG (dp->width_arg_index, TYPE_INT);
-            }
-          else if (*cp >= '0' && *cp <= '9')
-            {
-              size_t width_length;
-
-              dp->width_start = cp;
-              for (; *cp >= '0' && *cp <= '9'; cp++)
-                ;
-              dp->width_end = cp;
-              width_length = dp->width_end - dp->width_start;
-              if (max_width_length < width_length)
-                max_width_length = width_length;
-            }
-
-          /* Parse the precision.  */
-          if (*cp == '.')
-            {
-              cp++;
-              if (*cp == '*')
-                {
-                  dp->precision_start = cp - 1;
-                  cp++;
-                  dp->precision_end = cp;
-                  if (max_precision_length < 2)
-                    max_precision_length = 2;
-
-                  /* Test for positional argument.  */
-                  if (*cp >= '0' && *cp <= '9')
-                    {
-                      const CHAR_T *np;
-
-                      for (np = cp; *np >= '0' && *np <= '9'; np++)
-                        ;
-                      if (*np == '$')
-                        {
-                          size_t n = 0;
-
-                          for (np = cp; *np >= '0' && *np <= '9'; np++)
-                            n = xsum (xtimes (n, 10), *np - '0');
-                          if (n == 0)
-                            /* Positional argument 0.  */
-                            goto error;
-                          if (size_overflow_p (n))
-                            /* n too large, would lead to out of memory
-                               later.  */
-                            goto error;
-                          dp->precision_arg_index = n - 1;
-                          cp = np + 1;
-                        }
-                    }
-                  if (dp->precision_arg_index == ARG_NONE)
-                    {
-                      dp->precision_arg_index = arg_posn++;
-                      if (dp->precision_arg_index == ARG_NONE)
-                        /* arg_posn wrapped around.  */
-                        goto error;
-                    }
-                  REGISTER_ARG (dp->precision_arg_index, TYPE_INT);
-                }
-              else
-                {
-                  size_t precision_length;
-
-                  dp->precision_start = cp - 1;
-                  for (; *cp >= '0' && *cp <= '9'; cp++)
-                    ;
-                  dp->precision_end = cp;
-                  precision_length = dp->precision_end - dp->precision_start;
-                  if (max_precision_length < precision_length)
-                    max_precision_length = precision_length;
-                }
-            }
-
-          {
-            arg_type type;
-
-            /* Parse argument type/size specifiers.  */
-            {
-              int flags = 0;
-
-              for (;;)
-                {
-                  if (*cp == 'h')
-                    {
-                      flags |= (1 << (flags & 1));
-                      cp++;
-                    }
-                  else if (*cp == 'L')
-                    {
-                      flags |= 4;
-                      cp++;
-                    }
-                  else if (*cp == 'l')
-                    {
-                      flags += 8;
-                      cp++;
-                    }
-                  else if (*cp == 'j')
-                    {
-                      if (sizeof (intmax_t) > sizeof (long))
-                        {
-                          /* intmax_t = long long */
-                          flags += 16;
-                        }
-                      else if (sizeof (intmax_t) > sizeof (int))
-                        {
-                          /* intmax_t = long */
-                          flags += 8;
-                        }
-                      cp++;
-                    }
-                  else if (*cp == 'z' || *cp == 'Z')
-                    {
-                      /* 'z' is standardized in ISO C 99, but glibc uses 'Z'
-                         because the warning facility in gcc-2.95.2 understands
-                         only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784).  */
-                      if (sizeof (size_t) > sizeof (long))
-                        {
-                          /* size_t = long long */
-                          flags += 16;
-                        }
-                      else if (sizeof (size_t) > sizeof (int))
-                        {
-                          /* size_t = long */
-                          flags += 8;
-                        }
-                      cp++;
-                    }
-                  else if (*cp == 't')
-                    {
-                      if (sizeof (ptrdiff_t) > sizeof (long))
-                        {
-                          /* ptrdiff_t = long long */
-                          flags += 16;
-                        }
-                      else if (sizeof (ptrdiff_t) > sizeof (int))
-                        {
-                          /* ptrdiff_t = long */
-                          flags += 8;
-                        }
-                      cp++;
-                    }
-#if defined __APPLE__ && defined __MACH__
-                  /* On Mac OS X 10.3, PRIdMAX is defined as "qd".
-                     We cannot change it to "lld" because PRIdMAX must also
-                     be understood by the system's printf routines.  */
-                  else if (*cp == 'q')
-                    {
-                      if (64 / 8 > sizeof (long))
-                        {
-                          /* int64_t = long long */
-                          flags += 16;
-                        }
-                      else
-                        {
-                          /* int64_t = long */
-                          flags += 8;
-                        }
-                      cp++;
-                    }
-#endif
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-                  /* On native Windows, PRIdMAX is defined as "I64d".
-                     We cannot change it to "lld" because PRIdMAX must also
-                     be understood by the system's printf routines.  */
-                  else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4')
-                    {
-                      if (64 / 8 > sizeof (long))
-                        {
-                          /* __int64 = long long */
-                          flags += 16;
-                        }
-                      else
-                        {
-                          /* __int64 = long */
-                          flags += 8;
-                        }
-                      cp += 3;
-                    }
-#endif
-                  else
-                    break;
-                }
-
-              /* Read the conversion character.  */
-              c = *cp++;
-              switch (c)
-                {
-                case 'd': case 'i':
-#if HAVE_LONG_LONG_INT
-                  /* If 'long long' exists and is larger than 'long':  */
-                  if (flags >= 16 || (flags & 4))
-                    type = TYPE_LONGLONGINT;
-                  else
-#endif
-                  /* If 'long long' exists and is the same as 'long', we parse
-                     "lld" into TYPE_LONGINT.  */
-                  if (flags >= 8)
-                    type = TYPE_LONGINT;
-                  else if (flags & 2)
-                    type = TYPE_SCHAR;
-                  else if (flags & 1)
-                    type = TYPE_SHORT;
-                  else
-                    type = TYPE_INT;
-                  break;
-                case 'o': case 'u': case 'x': case 'X':
-#if HAVE_LONG_LONG_INT
-                  /* If 'long long' exists and is larger than 'long':  */
-                  if (flags >= 16 || (flags & 4))
-                    type = TYPE_ULONGLONGINT;
-                  else
-#endif
-                  /* If 'unsigned long long' exists and is the same as
-                     'unsigned long', we parse "llu" into TYPE_ULONGINT.  */
-                  if (flags >= 8)
-                    type = TYPE_ULONGINT;
-                  else if (flags & 2)
-                    type = TYPE_UCHAR;
-                  else if (flags & 1)
-                    type = TYPE_USHORT;
-                  else
-                    type = TYPE_UINT;
-                  break;
-                case 'f': case 'F': case 'e': case 'E': case 'g': case 'G':
-                case 'a': case 'A':
-                  if (flags >= 16 || (flags & 4))
-                    type = TYPE_LONGDOUBLE;
-                  else
-                    type = TYPE_DOUBLE;
-                  break;
-                case 'c':
-                  if (flags >= 8)
-#if HAVE_WINT_T
-                    type = TYPE_WIDE_CHAR;
-#else
-                    goto error;
-#endif
-                  else
-                    type = TYPE_CHAR;
-                  break;
-#if HAVE_WINT_T
-                case 'C':
-                  type = TYPE_WIDE_CHAR;
-                  c = 'c';
-                  break;
-#endif
-                case 's':
-                  if (flags >= 8)
-#if HAVE_WCHAR_T
-                    type = TYPE_WIDE_STRING;
-#else
-                    goto error;
-#endif
-                  else
-                    type = TYPE_STRING;
-                  break;
-#if HAVE_WCHAR_T
-                case 'S':
-                  type = TYPE_WIDE_STRING;
-                  c = 's';
-                  break;
-#endif
-                case 'p':
-                  type = TYPE_POINTER;
-                  break;
-                case 'n':
-#if HAVE_LONG_LONG_INT
-                  /* If 'long long' exists and is larger than 'long':  */
-                  if (flags >= 16 || (flags & 4))
-                    type = TYPE_COUNT_LONGLONGINT_POINTER;
-                  else
-#endif
-                  /* If 'long long' exists and is the same as 'long', we parse
-                     "lln" into TYPE_COUNT_LONGINT_POINTER.  */
-                  if (flags >= 8)
-                    type = TYPE_COUNT_LONGINT_POINTER;
-                  else if (flags & 2)
-                    type = TYPE_COUNT_SCHAR_POINTER;
-                  else if (flags & 1)
-                    type = TYPE_COUNT_SHORT_POINTER;
-                  else
-                    type = TYPE_COUNT_INT_POINTER;
-                  break;
-#if ENABLE_UNISTDIO
-                /* The unistdio extensions.  */
-                case 'U':
-                  if (flags >= 16)
-                    type = TYPE_U32_STRING;
-                  else if (flags >= 8)
-                    type = TYPE_U16_STRING;
-                  else
-                    type = TYPE_U8_STRING;
-                  break;
-#endif
-                case '%':
-                  type = TYPE_NONE;
-                  break;
-                default:
-                  /* Unknown conversion character.  */
-                  goto error;
-                }
-            }
-
-            if (type != TYPE_NONE)
-              {
-                dp->arg_index = arg_index;
-                if (dp->arg_index == ARG_NONE)
-                  {
-                    dp->arg_index = arg_posn++;
-                    if (dp->arg_index == ARG_NONE)
-                      /* arg_posn wrapped around.  */
-                      goto error;
-                  }
-                REGISTER_ARG (dp->arg_index, type);
-              }
-            dp->conversion = c;
-            dp->dir_end = cp;
-          }
-
-          d->count++;
-          if (d->count >= d_allocated)
-            {
-              size_t memory_size;
-              DIRECTIVE *memory;
-
-              d_allocated = xtimes (d_allocated, 2);
-              memory_size = xtimes (d_allocated, sizeof (DIRECTIVE));
-              if (size_overflow_p (memory_size))
-                /* Overflow, would lead to out of memory.  */
-                goto out_of_memory;
-              memory = (DIRECTIVE *) (d->dir != d->direct_alloc_dir
-                                      ? realloc (d->dir, memory_size)
-                                      : malloc (memory_size));
-              if (memory == NULL)
-                /* Out of memory.  */
-                goto out_of_memory;
-              if (d->dir == d->direct_alloc_dir)
-                memcpy (memory, d->dir, d->count * sizeof (DIRECTIVE));
-              d->dir = memory;
-            }
-        }
-#if CHAR_T_ONLY_ASCII
-      else if (!c_isascii (c))
-        {
-          /* Non-ASCII character.  Not supported.  */
-          goto error;
-        }
-#endif
-    }
-  d->dir[d->count].dir_start = cp;
-
-  d->max_width_length = max_width_length;
-  d->max_precision_length = max_precision_length;
-  return 0;
-
-error:
-  if (a->arg != a->direct_alloc_arg)
-    free (a->arg);
-  if (d->dir != d->direct_alloc_dir)
-    free (d->dir);
-  errno = EINVAL;
-  return -1;
-
-out_of_memory:
-  if (a->arg != a->direct_alloc_arg)
-    free (a->arg);
-  if (d->dir != d->direct_alloc_dir)
-    free (d->dir);
-  errno = ENOMEM;
-  return -1;
-}
-
-#undef PRINTF_PARSE
-#undef DIRECTIVES
-#undef DIRECTIVE
-#undef CHAR_T_ONLY_ASCII
-#undef CHAR_T
diff --git a/gl/printf-parse.h b/gl/printf-parse.h
deleted file mode 100644
index d8474be..0000000
--- a/gl/printf-parse.h
+++ /dev/null
@@ -1,193 +0,0 @@
-/* Parse printf format string.
-   Copyright (C) 1999, 2002-2003, 2005, 2007, 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, 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 _PRINTF_PARSE_H
-#define _PRINTF_PARSE_H
-
-/* This file can be parametrized with the following macros:
-     ENABLE_UNISTDIO    Set to 1 to enable the unistdio extensions.
-     STATIC             Set to 'static' to declare the function static.  */
-
-#if HAVE_FEATURES_H
-# include <features.h> /* for __GLIBC__, __UCLIBC__ */
-#endif
-
-#include "printf-args.h"
-
-
-/* Flags */
-#define FLAG_GROUP       1      /* ' flag */
-#define FLAG_LEFT        2      /* - flag */
-#define FLAG_SHOWSIGN    4      /* + flag */
-#define FLAG_SPACE       8      /* space flag */
-#define FLAG_ALT        16      /* # flag */
-#define FLAG_ZERO       32
-#if __GLIBC__ >= 2 && !defined __UCLIBC__
-# define FLAG_LOCALIZED 64      /* I flag, uses localized digits */
-#endif
-
-/* arg_index value indicating that no argument is consumed.  */
-#define ARG_NONE        (~(size_t)0)
-
-/* xxx_directive: A parsed directive.
-   xxx_directives: A parsed format string.  */
-
-/* Number of directly allocated directives (no malloc() needed).  */
-#define N_DIRECT_ALLOC_DIRECTIVES 7
-
-/* A parsed directive.  */
-typedef struct
-{
-  const char* dir_start;
-  const char* dir_end;
-  int flags;
-  const char* width_start;
-  const char* width_end;
-  size_t width_arg_index;
-  const char* precision_start;
-  const char* precision_end;
-  size_t precision_arg_index;
-  char conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */
-  size_t arg_index;
-}
-char_directive;
-
-/* A parsed format string.  */
-typedef struct
-{
-  size_t count;
-  char_directive *dir;
-  size_t max_width_length;
-  size_t max_precision_length;
-  char_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES];
-}
-char_directives;
-
-#if ENABLE_UNISTDIO
-
-/* A parsed directive.  */
-typedef struct
-{
-  const uint8_t* dir_start;
-  const uint8_t* dir_end;
-  int flags;
-  const uint8_t* width_start;
-  const uint8_t* width_end;
-  size_t width_arg_index;
-  const uint8_t* precision_start;
-  const uint8_t* precision_end;
-  size_t precision_arg_index;
-  uint8_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S */
-  size_t arg_index;
-}
-u8_directive;
-
-/* A parsed format string.  */
-typedef struct
-{
-  size_t count;
-  u8_directive *dir;
-  size_t max_width_length;
-  size_t max_precision_length;
-  u8_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES];
-}
-u8_directives;
-
-/* A parsed directive.  */
-typedef struct
-{
-  const uint16_t* dir_start;
-  const uint16_t* dir_end;
-  int flags;
-  const uint16_t* width_start;
-  const uint16_t* width_end;
-  size_t width_arg_index;
-  const uint16_t* precision_start;
-  const uint16_t* precision_end;
-  size_t precision_arg_index;
-  uint16_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S 
*/
-  size_t arg_index;
-}
-u16_directive;
-
-/* A parsed format string.  */
-typedef struct
-{
-  size_t count;
-  u16_directive *dir;
-  size_t max_width_length;
-  size_t max_precision_length;
-  u16_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES];
-}
-u16_directives;
-
-/* A parsed directive.  */
-typedef struct
-{
-  const uint32_t* dir_start;
-  const uint32_t* dir_end;
-  int flags;
-  const uint32_t* width_start;
-  const uint32_t* width_end;
-  size_t width_arg_index;
-  const uint32_t* precision_start;
-  const uint32_t* precision_end;
-  size_t precision_arg_index;
-  uint32_t conversion; /* d i o u x X f F e E g G a A c s p n U % but not C S 
*/
-  size_t arg_index;
-}
-u32_directive;
-
-/* A parsed format string.  */
-typedef struct
-{
-  size_t count;
-  u32_directive *dir;
-  size_t max_width_length;
-  size_t max_precision_length;
-  u32_directive direct_alloc_dir[N_DIRECT_ALLOC_DIRECTIVES];
-}
-u32_directives;
-
-#endif
-
-
-/* Parses the format string.  Fills in the number N of directives, and fills
-   in directives[0], ..., directives[N-1], and sets directives[N].dir_start
-   to the end of the format string.  Also fills in the arg_type fields of the
-   arguments and the needed count of arguments.  */
-#if ENABLE_UNISTDIO
-extern int
-       ulc_printf_parse (const char *format, char_directives *d, arguments *a);
-extern int
-       u8_printf_parse (const uint8_t *format, u8_directives *d, arguments *a);
-extern int
-       u16_printf_parse (const uint16_t *format, u16_directives *d,
-                         arguments *a);
-extern int
-       u32_printf_parse (const uint32_t *format, u32_directives *d,
-                         arguments *a);
-#else
-# ifdef STATIC
-STATIC
-# else
-extern
-# endif
-int printf_parse (const char *format, char_directives *d, arguments *a);
-#endif
-
-#endif /* _PRINTF_PARSE_H */
diff --git a/gl/progname.c b/gl/progname.c
index 0c195e5..2919be9 100644
--- a/gl/progname.c
+++ b/gl/progname.c
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/progname.h b/gl/progname.h
index 96ddf8a..c779214 100644
--- a/gl/progname.h
+++ b/gl/progname.h
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/signbitd.c b/gl/signbitd.c
deleted file mode 100644
index 7a434f8..0000000
--- a/gl/signbitd.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* signbit() macro: Determine the sign bit of a floating-point number.
-   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/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include <math.h>
-
-#include <string.h>
-#include "isnand-nolibm.h"
-#include "float+.h"
-
-#ifdef gl_signbitd_OPTIMIZED_MACRO
-# undef gl_signbitd
-#endif
-
-int
-gl_signbitd (double arg)
-{
-#if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT
-  /* The use of a union to extract the bits of the representation of a
-     'long double' is safe in practice, despite of the "aliasing rules" of
-     C99, because the GCC docs say
-       "Even with '-fstrict-aliasing', type-punning is allowed, provided the
-        memory is accessed through the union type."
-     and similarly for other compilers.  */
-# define NWORDS \
-    ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-  union { double value; unsigned int word[NWORDS]; } m;
-  m.value = arg;
-  return (m.word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1;
-#elif HAVE_COPYSIGN_IN_LIBC
-  return copysign (1.0, arg) < 0;
-#else
-  /* This does not do the right thing for NaN, but this is irrelevant for
-     most use cases.  */
-  if (isnand (arg))
-    return 0;
-  if (arg < 0.0)
-    return 1;
-  else if (arg == 0.0)
-    {
-      /* Distinguish 0.0 and -0.0.  */
-      static double plus_zero = 0.0;
-      double arg_mem = arg;
-      return (memcmp (&plus_zero, &arg_mem, SIZEOF_DBL) != 0);
-    }
-  else
-    return 0;
-#endif
-}
diff --git a/gl/signbitf.c b/gl/signbitf.c
deleted file mode 100644
index f133be5..0000000
--- a/gl/signbitf.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* signbit() macro: Determine the sign bit of a floating-point number.
-   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 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 <math.h>
-
-#include <string.h>
-#include "isnanf-nolibm.h"
-#include "float+.h"
-
-#ifdef gl_signbitf_OPTIMIZED_MACRO
-# undef gl_signbitf
-#endif
-
-int
-gl_signbitf (float arg)
-{
-#if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT
-  /* The use of a union to extract the bits of the representation of a
-     'long double' is safe in practice, despite of the "aliasing rules" of
-     C99, because the GCC docs say
-       "Even with '-fstrict-aliasing', type-punning is allowed, provided the
-        memory is accessed through the union type."
-     and similarly for other compilers.  */
-# define NWORDS \
-    ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-  union { float value; unsigned int word[NWORDS]; } m;
-  m.value = arg;
-  return (m.word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1;
-#elif HAVE_COPYSIGNF_IN_LIBC
-  return copysignf (1.0f, arg) < 0;
-#else
-  /* This does not do the right thing for NaN, but this is irrelevant for
-     most use cases.  */
-  if (isnanf (arg))
-    return 0;
-  if (arg < 0.0f)
-    return 1;
-  else if (arg == 0.0f)
-    {
-      /* Distinguish 0.0f and -0.0f.  */
-      static float plus_zero = 0.0f;
-      float arg_mem = arg;
-      return (memcmp (&plus_zero, &arg_mem, SIZEOF_FLT) != 0);
-    }
-  else
-    return 0;
-#endif
-}
diff --git a/gl/signbitl.c b/gl/signbitl.c
deleted file mode 100644
index 9e1e900..0000000
--- a/gl/signbitl.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* signbit() macro: Determine the sign bit of a floating-point number.
-   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 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 <math.h>
-
-#include <string.h>
-#include "isnanl-nolibm.h"
-#include "float+.h"
-
-#ifdef gl_signbitl_OPTIMIZED_MACRO
-# undef gl_signbitl
-#endif
-
-int
-gl_signbitl (long double arg)
-{
-#if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT
-  /* The use of a union to extract the bits of the representation of a
-     'long double' is safe in practice, despite of the "aliasing rules" of
-     C99, because the GCC docs say
-       "Even with '-fstrict-aliasing', type-punning is allowed, provided the
-        memory is accessed through the union type."
-     and similarly for other compilers.  */
-# define NWORDS \
-    ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned 
int))
-  union { long double value; unsigned int word[NWORDS]; } m;
-  m.value = arg;
-  return (m.word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1;
-#elif HAVE_COPYSIGNL_IN_LIBC
-  return copysignl (1.0L, arg) < 0;
-#else
-  /* This does not do the right thing for NaN, but this is irrelevant for
-     most use cases.  */
-  if (isnanl (arg))
-    return 0;
-  if (arg < 0.0L)
-    return 1;
-  else if (arg == 0.0L)
-    {
-      /* Distinguish 0.0L and -0.0L.  */
-      static long double plus_zero = 0.0L;
-      long double arg_mem = arg;
-      return (memcmp (&plus_zero, &arg_mem, SIZEOF_LDBL) != 0);
-    }
-  else
-    return 0;
-#endif
-}
diff --git a/gl/size_max.h b/gl/size_max.h
deleted file mode 100644
index 5f33124..0000000
--- a/gl/size_max.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* size_max.h -- declare SIZE_MAX through system headers
-   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
-   Written by Simon Josefsson.
-
-   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/>.  */
-
-#ifndef GNULIB_SIZE_MAX_H
-#define GNULIB_SIZE_MAX_H
-
-/* Get SIZE_MAX declaration on systems like Solaris 7/8/9.  */
-# include <limits.h>
-/* Get SIZE_MAX declaration on systems like glibc 2.  */
-# if HAVE_STDINT_H
-#  include <stdint.h>
-# endif
-/* On systems where these include files don't define it, SIZE_MAX is defined
-   in config.h.  */
-
-#endif /* GNULIB_SIZE_MAX_H */
diff --git a/gl/stdarg.in.h b/gl/stdarg.in.h
index 7484842..5b37dd3 100644
--- a/gl/stdarg.in.h
+++ b/gl/stdarg.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <stdarg.h>.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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/gl/stddef.in.h b/gl/stddef.in.h
index 40f0536..f5c0e05 100644
--- a/gl/stddef.in.h
+++ b/gl/stddef.in.h
@@ -1,6 +1,6 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gl/stdio-impl.h b/gl/stdio-impl.h
deleted file mode 100644
index 45291cf..0000000
--- a/gl/stdio-impl.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Implementation details of FILE streams.
-   Copyright (C) 2007-2008, 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/>.  */
-
-/* Many stdio implementations have the same logic and therefore can share
-   the same implementation of stdio extension API, except that some fields
-   have different naming conventions, or their access requires some casts.  */
-
-
-/* BSD stdio derived implementations.  */
-
-#if defined __NetBSD__                         /* NetBSD */
-/* Get __NetBSD_Version__.  */
-# include <sys/param.h>
-#endif
-
-#include <errno.h>                             /* For detecting Plan9.  */
-
-#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, 
DragonFly, Mac OS X, Cygwin */
-
-# if defined __DragonFly__          /* DragonFly */
-  /* See 
<http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/priv_stdio.h?rev=HEAD&content-type=text/x-cvsweb-markup>.
  */
-#  define fp_ ((struct { struct __FILE_public pub; \
-                         struct { unsigned char *_base; int _size; } _bf; \
-                         void *cookie; \
-                         void *_close; \
-                         void *_read; \
-                         void *_seek; \
-                         void *_write; \
-                         struct { unsigned char *_base; int _size; } _ub; \
-                         int _ur; \
-                         unsigned char _ubuf[3]; \
-                         unsigned char _nbuf[1]; \
-                         struct { unsigned char *_base; int _size; } _lb; \
-                         int _blksize; \
-                         fpos_t _offset; \
-                         /* More fields, not relevant here.  */ \
-                       } *) fp)
-  /* See 
<http://www.dragonflybsd.org/cvsweb/src/include/stdio.h?rev=HEAD&content-type=text/x-cvsweb-markup>.
  */
-#  define _p pub._p
-#  define _flags pub._flags
-#  define _r pub._r
-#  define _w pub._w
-# else
-#  define fp_ fp
-# endif
-
-# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined 
__OpenBSD__ || defined __ANDROID__ /* NetBSD >= 1.5ZA, OpenBSD, Android */
-  /* See 
<http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
-     and 
<http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
 */
-  struct __sfileext
-    {
-      struct  __sbuf _ub; /* ungetc buffer */
-      /* More fields, not relevant here.  */
-    };
-#  define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub
-# else                                         /* FreeBSD, NetBSD <= 1.5Z, 
DragonFly, Mac OS X, Cygwin */
-#  define fp_ub fp_->_ub
-# endif
-
-# define HASUB(fp) (fp_ub._base != NULL)
-
-#endif
-
-
-/* SystemV derived implementations.  */
-
-#ifdef __TANDEM                     /* NonStop Kernel */
-# ifndef _IOERR
-/* These values were determined by the program 'stdioext-flags' at
-   <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00165.html>.  */
-#  define _IOERR   0x40
-#  define _IOREAD  0x80
-#  define _IOWRT    0x4
-#  define _IORW   0x100
-# endif
-#endif
-
-#if defined _IOERR
-
-# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */
-#  define fp_ ((struct { unsigned char *_ptr; \
-                         unsigned char *_base; \
-                         unsigned char *_end; \
-                         long _cnt; \
-                         int _file; \
-                         unsigned int _flag; \
-                       } *) fp)
-# else
-#  define fp_ fp
-# endif
-
-# if defined _SCO_DS                /* OpenServer */
-#  define _cnt __cnt
-#  define _ptr __ptr
-#  define _base __base
-#  define _flag __flag
-# endif
-
-#endif
diff --git a/gl/stdio.in.h b/gl/stdio.in.h
index 76e62fb..1e1fe84 100644
--- a/gl/stdio.in.h
+++ b/gl/stdio.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2014 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/gl/strerror-override.c b/gl/strerror-override.c
index d0ed2fb..255d933 100644
--- a/gl/strerror-override.c
+++ b/gl/strerror-override.c
@@ -1,6 +1,6 @@
 /* strerror-override.c --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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/gl/strerror-override.h b/gl/strerror-override.h
index 0d086b8..e98c1c1 100644
--- a/gl/strerror-override.h
+++ b/gl/strerror-override.h
@@ -1,6 +1,6 @@
 /* strerror-override.h --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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/gl/strerror.c b/gl/strerror.c
index 80a2f2e..e54f0cc 100644
--- a/gl/strerror.c
+++ b/gl/strerror.c
@@ -1,6 +1,6 @@
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/gl/string.in.h b/gl/string.in.h
index d7a6c9c..9062142 100644
--- a/gl/string.in.h
+++ b/gl/string.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2013 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2014 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/gl/sys_types.in.h b/gl/sys_types.in.h
index d7da356..deb5d67 100644
--- a/gl/sys_types.in.h
+++ b/gl/sys_types.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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,7 +23,9 @@
 #ifndef address@hidden@_SYS_TYPES_H
 
 /* The include_next requires a split double-inclusion guard.  */
+# define _GL_INCLUDING_SYS_TYPES_H
 address@hidden@ @NEXT_SYS_TYPES_H@
+# undef _GL_INCLUDING_SYS_TYPES_H
 
 #ifndef address@hidden@_SYS_TYPES_H
 #define address@hidden@_SYS_TYPES_H
diff --git a/gl/unistd.in.h b/gl/unistd.in.h
index 0e510d6..622b228 100644
--- a/gl/unistd.in.h
+++ b/gl/unistd.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003-2014 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,9 +21,23 @@
 #endif
 @PRAGMA_COLUMNS@
 
+#ifdef _GL_INCLUDING_UNISTD_H
+/* Special invocation convention:
+   - On Mac OS X 10.3.9 we have a sequence of nested includes
+     <unistd.h> -> <signal.h> -> <pthread.h> -> <unistd.h>
+     In this situation, the functions are not yet declared, therefore we cannot
+     provide the C++ aliases.  */
+
address@hidden@ @NEXT_UNISTD_H@
+
+#else
+/* Normal invocation convention.  */
+
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_UNISTD_H@
+# define _GL_INCLUDING_UNISTD_H
 # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+# undef _GL_INCLUDING_UNISTD_H
 #endif
 
 /* Get all possible declarations of gethostname().  */
@@ -1539,4 +1553,5 @@ _GL_CXXALIASWARN (write);
 _GL_INLINE_HEADER_END
 
 #endif /* address@hidden@_UNISTD_H */
+#endif /* _GL_INCLUDING_UNISTD_H */
 #endif /* address@hidden@_UNISTD_H */
diff --git a/gl/vasnprintf.c b/gl/vasnprintf.c
deleted file mode 100644
index 5267b1b..0000000
--- a/gl/vasnprintf.c
+++ /dev/null
@@ -1,5607 +0,0 @@
-/* vsprintf with automatic memory allocation.
-   Copyright (C) 1999, 2002-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/>.  */
-
-/* This file can be parametrized with the following macros:
-     VASNPRINTF         The name of the function being defined.
-     FCHAR_T            The element type of the format string.
-     DCHAR_T            The element type of the destination (result) string.
-     FCHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters
-                        in the format string are ASCII. MUST be set if
-                        FCHAR_T and DCHAR_T are not the same type.
-     DIRECTIVE          Structure denoting a format directive.
-                        Depends on FCHAR_T.
-     DIRECTIVES         Structure denoting the set of format directives of a
-                        format string.  Depends on FCHAR_T.
-     PRINTF_PARSE       Function that parses a format string.
-                        Depends on FCHAR_T.
-     DCHAR_CPY          memcpy like function for DCHAR_T[] arrays.
-     DCHAR_SET          memset like function for DCHAR_T[] arrays.
-     DCHAR_MBSNLEN      mbsnlen like function for DCHAR_T[] arrays.
-     SNPRINTF           The system's snprintf (or similar) function.
-                        This may be either snprintf or swprintf.
-     TCHAR_T            The element type of the argument and result string
-                        of the said SNPRINTF function.  This may be either
-                        char or wchar_t.  The code exploits that
-                        sizeof (TCHAR_T) | sizeof (DCHAR_T) and
-                        alignof (TCHAR_T) <= alignof (DCHAR_T).
-     DCHAR_IS_TCHAR     Set to 1 if DCHAR_T and TCHAR_T are the same type.
-     DCHAR_CONV_FROM_ENCODING A function to convert from char[] to DCHAR[].
-     DCHAR_IS_UINT8_T   Set to 1 if DCHAR_T is uint8_t.
-     DCHAR_IS_UINT16_T  Set to 1 if DCHAR_T is uint16_t.
-     DCHAR_IS_UINT32_T  Set to 1 if DCHAR_T is uint32_t.  */
-
-/* Tell glibc's <stdio.h> to provide a prototype for snprintf().
-   This must come before <config.h> because <config.h> may include
-   <features.h>, and once <features.h> has been included, it's too late.  */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE    1
-#endif
-
-#ifndef VASNPRINTF
-# include <config.h>
-#endif
-#ifndef IN_LIBINTL
-# include <alloca.h>
-#endif
-
-/* Specification.  */
-#ifndef VASNPRINTF
-# if WIDE_CHAR_VERSION
-#  include "vasnwprintf.h"
-# else
-#  include "vasnprintf.h"
-# endif
-#endif
-
-#include <locale.h>     /* localeconv() */
-#include <stdio.h>      /* snprintf(), sprintf() */
-#include <stdlib.h>     /* abort(), malloc(), realloc(), free() */
-#include <string.h>     /* memcpy(), strlen() */
-#include <errno.h>      /* errno */
-#include <limits.h>     /* CHAR_BIT */
-#include <float.h>      /* DBL_MAX_EXP, LDBL_MAX_EXP */
-#if HAVE_NL_LANGINFO
-# include <langinfo.h>
-#endif
-#ifndef VASNPRINTF
-# if WIDE_CHAR_VERSION
-#  include "wprintf-parse.h"
-# else
-#  include "printf-parse.h"
-# endif
-#endif
-
-/* Checked size_t computations.  */
-#include "xsize.h"
-
-#include "verify.h"
-
-#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL
-# include <math.h>
-# include "float+.h"
-#endif
-
-#if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL
-# include <math.h>
-# include "isnand-nolibm.h"
-#endif
-
-#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined 
IN_LIBINTL
-# include <math.h>
-# include "isnanl-nolibm.h"
-# include "fpucw.h"
-#endif
-
-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL
-# include <math.h>
-# include "isnand-nolibm.h"
-# include "printf-frexp.h"
-#endif
-
-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL
-# include <math.h>
-# include "isnanl-nolibm.h"
-# include "printf-frexpl.h"
-# include "fpucw.h"
-#endif
-
-/* Default parameters.  */
-#ifndef VASNPRINTF
-# if WIDE_CHAR_VERSION
-#  define VASNPRINTF vasnwprintf
-#  define FCHAR_T wchar_t
-#  define DCHAR_T wchar_t
-#  define TCHAR_T wchar_t
-#  define DCHAR_IS_TCHAR 1
-#  define DIRECTIVE wchar_t_directive
-#  define DIRECTIVES wchar_t_directives
-#  define PRINTF_PARSE wprintf_parse
-#  define DCHAR_CPY wmemcpy
-#  define DCHAR_SET wmemset
-# else
-#  define VASNPRINTF vasnprintf
-#  define FCHAR_T char
-#  define DCHAR_T char
-#  define TCHAR_T char
-#  define DCHAR_IS_TCHAR 1
-#  define DIRECTIVE char_directive
-#  define DIRECTIVES char_directives
-#  define PRINTF_PARSE printf_parse
-#  define DCHAR_CPY memcpy
-#  define DCHAR_SET memset
-# endif
-#endif
-#if WIDE_CHAR_VERSION
-  /* TCHAR_T is wchar_t.  */
-# define USE_SNPRINTF 1
-# if HAVE_DECL__SNWPRINTF
-   /* On Windows, the function swprintf() has a different signature than
-      on Unix; we use the function _snwprintf() or - on mingw - snwprintf()
-      instead.  The mingw function snwprintf() has fewer bugs than the
-      MSVCRT function _snwprintf(), so prefer that.  */
-#  if defined __MINGW32__
-#   define SNPRINTF snwprintf
-#  else
-#   define SNPRINTF _snwprintf
-#  endif
-# else
-   /* Unix.  */
-#  define SNPRINTF swprintf
-# endif
-#else
-  /* TCHAR_T is char.  */
-  /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'.
-     But don't use it on BeOS, since BeOS snprintf produces no output if the
-     size argument is >= 0x3000000.
-     Also don't use it on Linux libc5, since there snprintf with size = 1
-     writes any output without bounds, like sprintf.  */
-# if (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) && !defined __BEOS__ && 
!(__GNU_LIBRARY__ == 1)
-#  define USE_SNPRINTF 1
-# else
-#  define USE_SNPRINTF 0
-# endif
-# if HAVE_DECL__SNPRINTF
-   /* Windows.  The mingw function snprintf() has fewer bugs than the MSVCRT
-      function _snprintf(), so prefer that.  */
-#  if defined __MINGW32__
-#   define SNPRINTF snprintf
-    /* Here we need to call the native snprintf, not rpl_snprintf.  */
-#   undef snprintf
-#  else
-#   define SNPRINTF _snprintf
-#  endif
-# else
-   /* Unix.  */
-#  define SNPRINTF snprintf
-   /* Here we need to call the native snprintf, not rpl_snprintf.  */
-#  undef snprintf
-# endif
-#endif
-/* Here we need to call the native sprintf, not rpl_sprintf.  */
-#undef sprintf
-
-/* GCC >= 4.0 with -Wall emits unjustified "... may be used uninitialized"
-   warnings in this file.  Use -Dlint to suppress them.  */
-#ifdef lint
-# define IF_LINT(Code) Code
-#else
-# define IF_LINT(Code) /* empty */
-#endif
-
-/* Avoid some warnings from "gcc -Wshadow".
-   This file doesn't use the exp() and remainder() functions.  */
-#undef exp
-#define exp expo
-#undef remainder
-#define remainder rem
-
-#if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99) && !WIDE_CHAR_VERSION
-# if (HAVE_STRNLEN && !defined _AIX)
-#  define local_strnlen strnlen
-# else
-#  ifndef local_strnlen_defined
-#   define local_strnlen_defined 1
-static size_t
-local_strnlen (const char *string, size_t maxlen)
-{
-  const char *end = memchr (string, '\0', maxlen);
-  return end ? (size_t) (end - string) : maxlen;
-}
-#  endif
-# endif
-#endif
-
-#if (((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99) && WIDE_CHAR_VERSION) || 
((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || (NEED_PRINTF_DIRECTIVE_LS && 
!defined IN_LIBINTL)) && !WIDE_CHAR_VERSION && DCHAR_IS_TCHAR)) && HAVE_WCHAR_T
-# if HAVE_WCSLEN
-#  define local_wcslen wcslen
-# else
-   /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid
-      a dependency towards this library, here is a local substitute.
-      Define this substitute only once, even if this file is included
-      twice in the same compilation unit.  */
-#  ifndef local_wcslen_defined
-#   define local_wcslen_defined 1
-static size_t
-local_wcslen (const wchar_t *s)
-{
-  const wchar_t *ptr;
-
-  for (ptr = s; *ptr != (wchar_t) 0; ptr++)
-    ;
-  return ptr - s;
-}
-#  endif
-# endif
-#endif
-
-#if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99) && HAVE_WCHAR_T && 
WIDE_CHAR_VERSION
-# if HAVE_WCSNLEN
-#  define local_wcsnlen wcsnlen
-# else
-#  ifndef local_wcsnlen_defined
-#   define local_wcsnlen_defined 1
-static size_t
-local_wcsnlen (const wchar_t *s, size_t maxlen)
-{
-  const wchar_t *ptr;
-
-  for (ptr = s; maxlen > 0 && *ptr != (wchar_t) 0; ptr++, maxlen--)
-    ;
-  return ptr - s;
-}
-#  endif
-# endif
-#endif
-
-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || 
NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_DOUBLE || 
NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL
-/* Determine the decimal-point character according to the current locale.  */
-# ifndef decimal_point_char_defined
-#  define decimal_point_char_defined 1
-static char
-decimal_point_char (void)
-{
-  const char *point;
-  /* Determine it in a multithread-safe way.  We know nl_langinfo is
-     multithread-safe on glibc systems and Mac OS X systems, but is not 
required
-     to be multithread-safe by POSIX.  sprintf(), however, is multithread-safe.
-     localeconv() is rarely multithread-safe.  */
-#  if HAVE_NL_LANGINFO && (__GLIBC__ || defined __UCLIBC__ || (defined 
__APPLE__ && defined __MACH__))
-  point = nl_langinfo (RADIXCHAR);
-#  elif 1
-  char pointbuf[5];
-  sprintf (pointbuf, "%#.0f", 1.0);
-  point = &pointbuf[1];
-#  else
-  point = localeconv () -> decimal_point;
-#  endif
-  /* The decimal point is always a single byte: either '.' or ','.  */
-  return (point[0] != '\0' ? point[0] : '.');
-}
-# endif
-#endif
-
-#if NEED_PRINTF_INFINITE_DOUBLE && !NEED_PRINTF_DOUBLE && !defined IN_LIBINTL
-
-/* Equivalent to !isfinite(x) || x == 0, but does not require libm.  */
-static int
-is_infinite_or_zero (double x)
-{
-  return isnand (x) || x + x == x;
-}
-
-#endif
-
-#if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE && !defined 
IN_LIBINTL
-
-/* Equivalent to !isfinite(x) || x == 0, but does not require libm.  */
-static int
-is_infinite_or_zerol (long double x)
-{
-  return isnanl (x) || x + x == x;
-}
-
-#endif
-
-#if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL
-
-/* Converting 'long double' to decimal without rare rounding bugs requires
-   real bignums.  We use the naming conventions of GNU gmp, but vastly simpler
-   (and slower) algorithms.  */
-
-typedef unsigned int mp_limb_t;
-# define GMP_LIMB_BITS 32
-verify (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS);
-
-typedef unsigned long long mp_twolimb_t;
-# define GMP_TWOLIMB_BITS 64
-verify (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS);
-
-/* Representation of a bignum >= 0.  */
-typedef struct
-{
-  size_t nlimbs;
-  mp_limb_t *limbs; /* Bits in little-endian order, allocated with malloc().  
*/
-} mpn_t;
-
-/* Compute the product of two bignums >= 0.
-   Return the allocated memory in case of success, NULL in case of memory
-   allocation failure.  */
-static void *
-multiply (mpn_t src1, mpn_t src2, mpn_t *dest)
-{
-  const mp_limb_t *p1;
-  const mp_limb_t *p2;
-  size_t len1;
-  size_t len2;
-
-  if (src1.nlimbs <= src2.nlimbs)
-    {
-      len1 = src1.nlimbs;
-      p1 = src1.limbs;
-      len2 = src2.nlimbs;
-      p2 = src2.limbs;
-    }
-  else
-    {
-      len1 = src2.nlimbs;
-      p1 = src2.limbs;
-      len2 = src1.nlimbs;
-      p2 = src1.limbs;
-    }
-  /* Now 0 <= len1 <= len2.  */
-  if (len1 == 0)
-    {
-      /* src1 or src2 is zero.  */
-      dest->nlimbs = 0;
-      dest->limbs = (mp_limb_t *) malloc (1);
-    }
-  else
-    {
-      /* Here 1 <= len1 <= len2.  */
-      size_t dlen;
-      mp_limb_t *dp;
-      size_t k, i, j;
-
-      dlen = len1 + len2;
-      dp = (mp_limb_t *) malloc (dlen * sizeof (mp_limb_t));
-      if (dp == NULL)
-        return NULL;
-      for (k = len2; k > 0; )
-        dp[--k] = 0;
-      for (i = 0; i < len1; i++)
-        {
-          mp_limb_t digit1 = p1[i];
-          mp_twolimb_t carry = 0;
-          for (j = 0; j < len2; j++)
-            {
-              mp_limb_t digit2 = p2[j];
-              carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2;
-              carry += dp[i + j];
-              dp[i + j] = (mp_limb_t) carry;
-              carry = carry >> GMP_LIMB_BITS;
-            }
-          dp[i + len2] = (mp_limb_t) carry;
-        }
-      /* Normalise.  */
-      while (dlen > 0 && dp[dlen - 1] == 0)
-        dlen--;
-      dest->nlimbs = dlen;
-      dest->limbs = dp;
-    }
-  return dest->limbs;
-}
-
-/* Compute the quotient of a bignum a >= 0 and a bignum b > 0.
-   a is written as  a = q * b + r  with 0 <= r < b.  q is the quotient, r
-   the remainder.
-   Finally, round-to-even is performed: If r > b/2 or if r = b/2 and q is odd,
-   q is incremented.
-   Return the allocated memory in case of success, NULL in case of memory
-   allocation failure.  */
-static void *
-divide (mpn_t a, mpn_t b, mpn_t *q)
-{
-  /* Algorithm:
-     First normalise a and b: a=[a[m-1],...,a[0]], b=[b[n-1],...,b[0]]
-     with m>=0 and n>0 (in base beta = 2^GMP_LIMB_BITS).
-     If m<n, then q:=0 and r:=a.
-     If m>=n=1, perform a single-precision division:
-       r:=0, j:=m,
-       while j>0 do
-         {Here (q[m-1]*beta^(m-1)+...+q[j]*beta^j) * b[0] + r*beta^j =
-               = a[m-1]*beta^(m-1)+...+a[j]*beta^j und 0<=r<b[0]<beta}
-         j:=j-1, r:=r*beta+a[j], q[j]:=floor(r/b[0]), r:=r-b[0]*q[j].
-       Normalise [q[m-1],...,q[0]], yields q.
-     If m>=n>1, perform a multiple-precision division:
-       We have a/b < beta^(m-n+1).
-       s:=intDsize-1-(highest bit in b[n-1]), 0<=s<intDsize.
-       Shift a and b left by s bits, copying them. r:=a.
-       r=[r[m],...,r[0]], b=[b[n-1],...,b[0]] with b[n-1]>=beta/2.
-       For j=m-n,...,0: {Here 0 <= r < b*beta^(j+1).}
-         Compute q* :
-           q* := floor((r[j+n]*beta+r[j+n-1])/b[n-1]).
-           In case of overflow (q* >= beta) set q* := beta-1.
-           Compute c2 := ((r[j+n]*beta+r[j+n-1]) - q* * b[n-1])*beta + r[j+n-2]
-           and c3 := b[n-2] * q*.
-           {We have 0 <= c2 < 2*beta^2, even 0 <= c2 < beta^2 if no overflow
-            occurred.  Furthermore 0 <= c3 < beta^2.
-            If there was overflow and
-            r[j+n]*beta+r[j+n-1] - q* * b[n-1] >= beta, i.e. c2 >= beta^2,
-            the next test can be skipped.}
-           While c3 > c2, {Here 0 <= c2 < c3 < beta^2}
-             Put q* := q* - 1, c2 := c2 + b[n-1]*beta, c3 := c3 - b[n-2].
-           If q* > 0:
-             Put r := r - b * q* * beta^j. In detail:
-               [r[n+j],...,r[j]] := [r[n+j],...,r[j]] - q* * [b[n-1],...,b[0]].
-               hence: u:=0, for i:=0 to n-1 do
-                              u := u + q* * b[i],
-                              r[j+i]:=r[j+i]-(u mod beta) (+ beta, if carry),
-                              u:=u div beta (+ 1, if carry in subtraction)
-                      r[n+j]:=r[n+j]-u.
-               {Since always u = (q* * [b[i-1],...,b[0]] div beta^i) + 1
-                               < q* + 1 <= beta,
-                the carry u does not overflow.}
-             If a negative carry occurs, put q* := q* - 1
-               and [r[n+j],...,r[j]] := [r[n+j],...,r[j]] + 
[0,b[n-1],...,b[0]].
-         Set q[j] := q*.
-       Normalise [q[m-n],..,q[0]]; this yields the quotient q.
-       Shift [r[n-1],...,r[0]] right by s bits and normalise; this yields the
-       rest r.
-       The room for q[j] can be allocated at the memory location of r[n+j].
-     Finally, round-to-even:
-       Shift r left by 1 bit.
-       If r > b or if r = b and q[0] is odd, q := q+1.
-   */
-  const mp_limb_t *a_ptr = a.limbs;
-  size_t a_len = a.nlimbs;
-  const mp_limb_t *b_ptr = b.limbs;
-  size_t b_len = b.nlimbs;
-  mp_limb_t *roomptr;
-  mp_limb_t *tmp_roomptr = NULL;
-  mp_limb_t *q_ptr;
-  size_t q_len;
-  mp_limb_t *r_ptr;
-  size_t r_len;
-
-  /* Allocate room for a_len+2 digits.
-     (Need a_len+1 digits for the real division and 1 more digit for the
-     final rounding of q.)  */
-  roomptr = (mp_limb_t *) malloc ((a_len + 2) * sizeof (mp_limb_t));
-  if (roomptr == NULL)
-    return NULL;
-
-  /* Normalise a.  */
-  while (a_len > 0 && a_ptr[a_len - 1] == 0)
-    a_len--;
-
-  /* Normalise b.  */
-  for (;;)
-    {
-      if (b_len == 0)
-        /* Division by zero.  */
-        abort ();
-      if (b_ptr[b_len - 1] == 0)
-        b_len--;
-      else
-        break;
-    }
-
-  /* Here m = a_len >= 0 and n = b_len > 0.  */
-
-  if (a_len < b_len)
-    {
-      /* m<n: trivial case.  q=0, r := copy of a.  */
-      r_ptr = roomptr;
-      r_len = a_len;
-      memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t));
-      q_ptr = roomptr + a_len;
-      q_len = 0;
-    }
-  else if (b_len == 1)
-    {
-      /* n=1: single precision division.
-         beta^(m-1) <= a < beta^m  ==>  beta^(m-2) <= a/b < beta^m  */
-      r_ptr = roomptr;
-      q_ptr = roomptr + 1;
-      {
-        mp_limb_t den = b_ptr[0];
-        mp_limb_t remainder = 0;
-        const mp_limb_t *sourceptr = a_ptr + a_len;
-        mp_limb_t *destptr = q_ptr + a_len;
-        size_t count;
-        for (count = a_len; count > 0; count--)
-          {
-            mp_twolimb_t num =
-              ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--sourceptr;
-            *--destptr = num / den;
-            remainder = num % den;
-          }
-        /* Normalise and store r.  */
-        if (remainder > 0)
-          {
-            r_ptr[0] = remainder;
-            r_len = 1;
-          }
-        else
-          r_len = 0;
-        /* Normalise q.  */
-        q_len = a_len;
-        if (q_ptr[q_len - 1] == 0)
-          q_len--;
-      }
-    }
-  else
-    {
-      /* n>1: multiple precision division.
-         beta^(m-1) <= a < beta^m, beta^(n-1) <= b < beta^n  ==>
-         beta^(m-n-1) <= a/b < beta^(m-n+1).  */
-      /* Determine s.  */
-      size_t s;
-      {
-        mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */
-        /* Determine s = GMP_LIMB_BITS - integer_length (msd).
-           Code copied from gnulib's integer_length.c.  */
-# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
-        s = __builtin_clz (msd);
-# else
-#  if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
-        if (GMP_LIMB_BITS <= DBL_MANT_BIT)
-          {
-            /* Use 'double' operations.
-               Assumes an IEEE 754 'double' implementation.  */
-#   define DBL_EXP_MASK ((DBL_MAX_EXP - DBL_MIN_EXP) | 7)
-#   define DBL_EXP_BIAS (DBL_EXP_MASK / 2 - 1)
-#   define NWORDS \
-     ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-            union { double value; unsigned int word[NWORDS]; } m;
-
-            /* Use a single integer to floating-point conversion.  */
-            m.value = msd;
-
-            s = GMP_LIMB_BITS
-                - (((m.word[DBL_EXPBIT0_WORD] >> DBL_EXPBIT0_BIT) & 
DBL_EXP_MASK)
-                   - DBL_EXP_BIAS);
-          }
-        else
-#   undef NWORDS
-#  endif
-          {
-            s = 31;
-            if (msd >= 0x10000)
-              {
-                msd = msd >> 16;
-                s -= 16;
-              }
-            if (msd >= 0x100)
-              {
-                msd = msd >> 8;
-                s -= 8;
-              }
-            if (msd >= 0x10)
-              {
-                msd = msd >> 4;
-                s -= 4;
-              }
-            if (msd >= 0x4)
-              {
-                msd = msd >> 2;
-                s -= 2;
-              }
-            if (msd >= 0x2)
-              {
-                msd = msd >> 1;
-                s -= 1;
-              }
-          }
-# endif
-      }
-      /* 0 <= s < GMP_LIMB_BITS.
-         Copy b, shifting it left by s bits.  */
-      if (s > 0)
-        {
-          tmp_roomptr = (mp_limb_t *) malloc (b_len * sizeof (mp_limb_t));
-          if (tmp_roomptr == NULL)
-            {
-              free (roomptr);
-              return NULL;
-            }
-          {
-            const mp_limb_t *sourceptr = b_ptr;
-            mp_limb_t *destptr = tmp_roomptr;
-            mp_twolimb_t accu = 0;
-            size_t count;
-            for (count = b_len; count > 0; count--)
-              {
-                accu += (mp_twolimb_t) *sourceptr++ << s;
-                *destptr++ = (mp_limb_t) accu;
-                accu = accu >> GMP_LIMB_BITS;
-              }
-            /* accu must be zero, since that was how s was determined.  */
-            if (accu != 0)
-              abort ();
-          }
-          b_ptr = tmp_roomptr;
-        }
-      /* Copy a, shifting it left by s bits, yields r.
-         Memory layout:
-         At the beginning: r = roomptr[0..a_len],
-         at the end: r = roomptr[0..b_len-1], q = roomptr[b_len..a_len]  */
-      r_ptr = roomptr;
-      if (s == 0)
-        {
-          memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t));
-          r_ptr[a_len] = 0;
-        }
-      else
-        {
-          const mp_limb_t *sourceptr = a_ptr;
-          mp_limb_t *destptr = r_ptr;
-          mp_twolimb_t accu = 0;
-          size_t count;
-          for (count = a_len; count > 0; count--)
-            {
-              accu += (mp_twolimb_t) *sourceptr++ << s;
-              *destptr++ = (mp_limb_t) accu;
-              accu = accu >> GMP_LIMB_BITS;
-            }
-          *destptr++ = (mp_limb_t) accu;
-        }
-      q_ptr = roomptr + b_len;
-      q_len = a_len - b_len + 1; /* q will have m-n+1 limbs */
-      {
-        size_t j = a_len - b_len; /* m-n */
-        mp_limb_t b_msd = b_ptr[b_len - 1]; /* b[n-1] */
-        mp_limb_t b_2msd = b_ptr[b_len - 2]; /* b[n-2] */
-        mp_twolimb_t b_msdd = /* b[n-1]*beta+b[n-2] */
-          ((mp_twolimb_t) b_msd << GMP_LIMB_BITS) | b_2msd;
-        /* Division loop, traversed m-n+1 times.
-           j counts down, b is unchanged, beta/2 <= b[n-1] < beta.  */
-        for (;;)
-          {
-            mp_limb_t q_star;
-            mp_limb_t c1;
-            if (r_ptr[j + b_len] < b_msd) /* r[j+n] < b[n-1] ? */
-              {
-                /* Divide r[j+n]*beta+r[j+n-1] by b[n-1], no overflow.  */
-                mp_twolimb_t num =
-                  ((mp_twolimb_t) r_ptr[j + b_len] << GMP_LIMB_BITS)
-                  | r_ptr[j + b_len - 1];
-                q_star = num / b_msd;
-                c1 = num % b_msd;
-              }
-            else
-              {
-                /* Overflow, hence r[j+n]*beta+r[j+n-1] >= beta*b[n-1].  */
-                q_star = (mp_limb_t)~(mp_limb_t)0; /* q* = beta-1 */
-                /* Test whether r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] >= beta
-                   <==> r[j+n]*beta+r[j+n-1] + b[n-1] >= beta*b[n-1]+beta
-                   <==> b[n-1] < floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta)
-                        {<= beta !}.
-                   If yes, jump directly to the subtraction loop.
-                   (Otherwise, r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] < beta
-                    <==> floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) = b[n-1] ) 
*/
-                if (r_ptr[j + b_len] > b_msd
-                    || (c1 = r_ptr[j + b_len - 1] + b_msd) < b_msd)
-                  /* r[j+n] >= b[n-1]+1 or
-                     r[j+n] = b[n-1] and the addition r[j+n-1]+b[n-1] gives a
-                     carry.  */
-                  goto subtract;
-              }
-            /* q_star = q*,
-               c1 = (r[j+n]*beta+r[j+n-1]) - q* * b[n-1] (>=0, <beta).  */
-            {
-              mp_twolimb_t c2 = /* c1*beta+r[j+n-2] */
-                ((mp_twolimb_t) c1 << GMP_LIMB_BITS) | r_ptr[j + b_len - 2];
-              mp_twolimb_t c3 = /* b[n-2] * q* */
-                (mp_twolimb_t) b_2msd * (mp_twolimb_t) q_star;
-              /* While c2 < c3, increase c2 and decrease c3.
-                 Consider c3-c2.  While it is > 0, decrease it by
-                 b[n-1]*beta+b[n-2].  Because of b[n-1]*beta+b[n-2] >= beta^2/2
-                 this can happen only twice.  */
-              if (c3 > c2)
-                {
-                  q_star = q_star - 1; /* q* := q* - 1 */
-                  if (c3 - c2 > b_msdd)
-                    q_star = q_star - 1; /* q* := q* - 1 */
-                }
-            }
-            if (q_star > 0)
-              subtract:
-              {
-                /* Subtract r := r - b * q* * beta^j.  */
-                mp_limb_t cr;
-                {
-                  const mp_limb_t *sourceptr = b_ptr;
-                  mp_limb_t *destptr = r_ptr + j;
-                  mp_twolimb_t carry = 0;
-                  size_t count;
-                  for (count = b_len; count > 0; count--)
-                    {
-                      /* Here 0 <= carry <= q*.  */
-                      carry =
-                        carry
-                        + (mp_twolimb_t) q_star * (mp_twolimb_t) *sourceptr++
-                        + (mp_limb_t) ~(*destptr);
-                      /* Here 0 <= carry <= beta*q* + beta-1.  */
-                      *destptr++ = ~(mp_limb_t) carry;
-                      carry = carry >> GMP_LIMB_BITS; /* <= q* */
-                    }
-                  cr = (mp_limb_t) carry;
-                }
-                /* Subtract cr from r_ptr[j + b_len], then forget about
-                   r_ptr[j + b_len].  */
-                if (cr > r_ptr[j + b_len])
-                  {
-                    /* Subtraction gave a carry.  */
-                    q_star = q_star - 1; /* q* := q* - 1 */
-                    /* Add b back.  */
-                    {
-                      const mp_limb_t *sourceptr = b_ptr;
-                      mp_limb_t *destptr = r_ptr + j;
-                      mp_limb_t carry = 0;
-                      size_t count;
-                      for (count = b_len; count > 0; count--)
-                        {
-                          mp_limb_t source1 = *sourceptr++;
-                          mp_limb_t source2 = *destptr;
-                          *destptr++ = source1 + source2 + carry;
-                          carry =
-                            (carry
-                             ? source1 >= (mp_limb_t) ~source2
-                             : source1 > (mp_limb_t) ~source2);
-                        }
-                    }
-                    /* Forget about the carry and about r[j+n].  */
-                  }
-              }
-            /* q* is determined.  Store it as q[j].  */
-            q_ptr[j] = q_star;
-            if (j == 0)
-              break;
-            j--;
-          }
-      }
-      r_len = b_len;
-      /* Normalise q.  */
-      if (q_ptr[q_len - 1] == 0)
-        q_len--;
-# if 0 /* Not needed here, since we need r only to compare it with b/2, and
-          b is shifted left by s bits.  */
-      /* Shift r right by s bits.  */
-      if (s > 0)
-        {
-          mp_limb_t ptr = r_ptr + r_len;
-          mp_twolimb_t accu = 0;
-          size_t count;
-          for (count = r_len; count > 0; count--)
-            {
-              accu = (mp_twolimb_t) (mp_limb_t) accu << GMP_LIMB_BITS;
-              accu += (mp_twolimb_t) *--ptr << (GMP_LIMB_BITS - s);
-              *ptr = (mp_limb_t) (accu >> GMP_LIMB_BITS);
-            }
-        }
-# endif
-      /* Normalise r.  */
-      while (r_len > 0 && r_ptr[r_len - 1] == 0)
-        r_len--;
-    }
-  /* Compare r << 1 with b.  */
-  if (r_len > b_len)
-    goto increment_q;
-  {
-    size_t i;
-    for (i = b_len;;)
-      {
-        mp_limb_t r_i =
-          (i <= r_len && i > 0 ? r_ptr[i - 1] >> (GMP_LIMB_BITS - 1) : 0)
-          | (i < r_len ? r_ptr[i] << 1 : 0);
-        mp_limb_t b_i = (i < b_len ? b_ptr[i] : 0);
-        if (r_i > b_i)
-          goto increment_q;
-        if (r_i < b_i)
-          goto keep_q;
-        if (i == 0)
-          break;
-        i--;
-      }
-  }
-  if (q_len > 0 && ((q_ptr[0] & 1) != 0))
-    /* q is odd.  */
-    increment_q:
-    {
-      size_t i;
-      for (i = 0; i < q_len; i++)
-        if (++(q_ptr[i]) != 0)
-          goto keep_q;
-      q_ptr[q_len++] = 1;
-    }
-  keep_q:
-  if (tmp_roomptr != NULL)
-    free (tmp_roomptr);
-  q->limbs = q_ptr;
-  q->nlimbs = q_len;
-  return roomptr;
-}
-
-/* Convert a bignum a >= 0, multiplied with 10^extra_zeroes, to decimal
-   representation.
-   Destroys the contents of a.
-   Return the allocated memory - containing the decimal digits in low-to-high
-   order, terminated with a NUL character - in case of success, NULL in case
-   of memory allocation failure.  */
-static char *
-convert_to_decimal (mpn_t a, size_t extra_zeroes)
-{
-  mp_limb_t *a_ptr = a.limbs;
-  size_t a_len = a.nlimbs;
-  /* 0.03345 is slightly larger than log(2)/(9*log(10)).  */
-  size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1);
-  char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes));
-  if (c_ptr != NULL)
-    {
-      char *d_ptr = c_ptr;
-      for (; extra_zeroes > 0; extra_zeroes--)
-        *d_ptr++ = '0';
-      while (a_len > 0)
-        {
-          /* Divide a by 10^9, in-place.  */
-          mp_limb_t remainder = 0;
-          mp_limb_t *ptr = a_ptr + a_len;
-          size_t count;
-          for (count = a_len; count > 0; count--)
-            {
-              mp_twolimb_t num =
-                ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--ptr;
-              *ptr = num / 1000000000;
-              remainder = num % 1000000000;
-            }
-          /* Store the remainder as 9 decimal digits.  */
-          for (count = 9; count > 0; count--)
-            {
-              *d_ptr++ = '0' + (remainder % 10);
-              remainder = remainder / 10;
-            }
-          /* Normalize a.  */
-          if (a_ptr[a_len - 1] == 0)
-            a_len--;
-        }
-      /* Remove leading zeroes.  */
-      while (d_ptr > c_ptr && d_ptr[-1] == '0')
-        d_ptr--;
-      /* But keep at least one zero.  */
-      if (d_ptr == c_ptr)
-        *d_ptr++ = '0';
-      /* Terminate the string.  */
-      *d_ptr = '\0';
-    }
-  return c_ptr;
-}
-
-# if NEED_PRINTF_LONG_DOUBLE
-
-/* Assuming x is finite and >= 0:
-   write x as x = 2^e * m, where m is a bignum.
-   Return the allocated memory in case of success, NULL in case of memory
-   allocation failure.  */
-static void *
-decode_long_double (long double x, int *ep, mpn_t *mp)
-{
-  mpn_t m;
-  int exp;
-  long double y;
-  size_t i;
-
-  /* Allocate memory for result.  */
-  m.nlimbs = (LDBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS;
-  m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t));
-  if (m.limbs == NULL)
-    return NULL;
-  /* Split into exponential part and mantissa.  */
-  y = frexpl (x, &exp);
-  if (!(y >= 0.0L && y < 1.0L))
-    abort ();
-  /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * 2^LDBL_MANT_BIT), and the
-     latter is an integer.  */
-  /* Convert the mantissa (y * 2^LDBL_MANT_BIT) to a sequence of limbs.
-     I'm not sure whether it's safe to cast a 'long double' value between
-     2^31 and 2^32 to 'unsigned int', therefore play safe and cast only
-     'long double' values between 0 and 2^16 (to 'unsigned int' or 'int',
-     doesn't matter).  */
-#  if (LDBL_MANT_BIT % GMP_LIMB_BITS) != 0
-#   if (LDBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2
-    {
-      mp_limb_t hi, lo;
-      y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % (GMP_LIMB_BITS / 2));
-      hi = (int) y;
-      y -= hi;
-      if (!(y >= 0.0L && y < 1.0L))
-        abort ();
-      y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2);
-      lo = (int) y;
-      y -= lo;
-      if (!(y >= 0.0L && y < 1.0L))
-        abort ();
-      m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | 
lo;
-    }
-#   else
-    {
-      mp_limb_t d;
-      y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % GMP_LIMB_BITS);
-      d = (int) y;
-      y -= d;
-      if (!(y >= 0.0L && y < 1.0L))
-        abort ();
-      m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = d;
-    }
-#   endif
-#  endif
-  for (i = LDBL_MANT_BIT / GMP_LIMB_BITS; i > 0; )
-    {
-      mp_limb_t hi, lo;
-      y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2);
-      hi = (int) y;
-      y -= hi;
-      if (!(y >= 0.0L && y < 1.0L))
-        abort ();
-      y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2);
-      lo = (int) y;
-      y -= lo;
-      if (!(y >= 0.0L && y < 1.0L))
-        abort ();
-      m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo;
-    }
-#  if 0 /* On FreeBSD 6.1/x86, 'long double' numbers sometimes have excess
-           precision.  */
-  if (!(y == 0.0L))
-    abort ();
-#  endif
-  /* Normalise.  */
-  while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0)
-    m.nlimbs--;
-  *mp = m;
-  *ep = exp - LDBL_MANT_BIT;
-  return m.limbs;
-}
-
-# endif
-
-# if NEED_PRINTF_DOUBLE
-
-/* Assuming x is finite and >= 0:
-   write x as x = 2^e * m, where m is a bignum.
-   Return the allocated memory in case of success, NULL in case of memory
-   allocation failure.  */
-static void *
-decode_double (double x, int *ep, mpn_t *mp)
-{
-  mpn_t m;
-  int exp;
-  double y;
-  size_t i;
-
-  /* Allocate memory for result.  */
-  m.nlimbs = (DBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS;
-  m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t));
-  if (m.limbs == NULL)
-    return NULL;
-  /* Split into exponential part and mantissa.  */
-  y = frexp (x, &exp);
-  if (!(y >= 0.0 && y < 1.0))
-    abort ();
-  /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * 2^DBL_MANT_BIT), and the
-     latter is an integer.  */
-  /* Convert the mantissa (y * 2^DBL_MANT_BIT) to a sequence of limbs.
-     I'm not sure whether it's safe to cast a 'double' value between
-     2^31 and 2^32 to 'unsigned int', therefore play safe and cast only
-     'double' values between 0 and 2^16 (to 'unsigned int' or 'int',
-     doesn't matter).  */
-#  if (DBL_MANT_BIT % GMP_LIMB_BITS) != 0
-#   if (DBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2
-    {
-      mp_limb_t hi, lo;
-      y *= (mp_limb_t) 1 << (DBL_MANT_BIT % (GMP_LIMB_BITS / 2));
-      hi = (int) y;
-      y -= hi;
-      if (!(y >= 0.0 && y < 1.0))
-        abort ();
-      y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2);
-      lo = (int) y;
-      y -= lo;
-      if (!(y >= 0.0 && y < 1.0))
-        abort ();
-      m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo;
-    }
-#   else
-    {
-      mp_limb_t d;
-      y *= (mp_limb_t) 1 << (DBL_MANT_BIT % GMP_LIMB_BITS);
-      d = (int) y;
-      y -= d;
-      if (!(y >= 0.0 && y < 1.0))
-        abort ();
-      m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = d;
-    }
-#   endif
-#  endif
-  for (i = DBL_MANT_BIT / GMP_LIMB_BITS; i > 0; )
-    {
-      mp_limb_t hi, lo;
-      y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2);
-      hi = (int) y;
-      y -= hi;
-      if (!(y >= 0.0 && y < 1.0))
-        abort ();
-      y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2);
-      lo = (int) y;
-      y -= lo;
-      if (!(y >= 0.0 && y < 1.0))
-        abort ();
-      m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo;
-    }
-  if (!(y == 0.0))
-    abort ();
-  /* Normalise.  */
-  while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0)
-    m.nlimbs--;
-  *mp = m;
-  *ep = exp - DBL_MANT_BIT;
-  return m.limbs;
-}
-
-# endif
-
-/* Assuming x = 2^e * m is finite and >= 0, and n is an integer:
-   Returns the decimal representation of round (x * 10^n).
-   Return the allocated memory - containing the decimal digits in low-to-high
-   order, terminated with a NUL character - in case of success, NULL in case
-   of memory allocation failure.  */
-static char *
-scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n)
-{
-  int s;
-  size_t extra_zeroes;
-  unsigned int abs_n;
-  unsigned int abs_s;
-  mp_limb_t *pow5_ptr;
-  size_t pow5_len;
-  unsigned int s_limbs;
-  unsigned int s_bits;
-  mpn_t pow5;
-  mpn_t z;
-  void *z_memory;
-  char *digits;
-
-  if (memory == NULL)
-    return NULL;
-  /* x = 2^e * m, hence
-     y = round (2^e * 10^n * m) = round (2^(e+n) * 5^n * m)
-       = round (2^s * 5^n * m).  */
-  s = e + n;
-  extra_zeroes = 0;
-  /* Factor out a common power of 10 if possible.  */
-  if (s > 0 && n > 0)
-    {
-      extra_zeroes = (s < n ? s : n);
-      s -= extra_zeroes;
-      n -= extra_zeroes;
-    }
-  /* Here y = round (2^s * 5^n * m) * 10^extra_zeroes.
-     Before converting to decimal, we need to compute
-     z = round (2^s * 5^n * m).  */
-  /* Compute 5^|n|, possibly shifted by |s| bits if n and s have the same
-     sign.  2.322 is slightly larger than log(5)/log(2).  */
-  abs_n = (n >= 0 ? n : -n);
-  abs_s = (s >= 0 ? s : -s);
-  pow5_ptr = (mp_limb_t *) malloc (((int)(abs_n * (2.322f / GMP_LIMB_BITS)) + 1
-                                    + abs_s / GMP_LIMB_BITS + 1)
-                                   * sizeof (mp_limb_t));
-  if (pow5_ptr == NULL)
-    {
-      free (memory);
-      return NULL;
-    }
-  /* Initialize with 1.  */
-  pow5_ptr[0] = 1;
-  pow5_len = 1;
-  /* Multiply with 5^|n|.  */
-  if (abs_n > 0)
-    {
-      static mp_limb_t const small_pow5[13 + 1] =
-        {
-          1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625,
-          48828125, 244140625, 1220703125
-        };
-      unsigned int n13;
-      for (n13 = 0; n13 <= abs_n; n13 += 13)
-        {
-          mp_limb_t digit1 = small_pow5[n13 + 13 <= abs_n ? 13 : abs_n - n13];
-          size_t j;
-          mp_twolimb_t carry = 0;
-          for (j = 0; j < pow5_len; j++)
-            {
-              mp_limb_t digit2 = pow5_ptr[j];
-              carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2;
-              pow5_ptr[j] = (mp_limb_t) carry;
-              carry = carry >> GMP_LIMB_BITS;
-            }
-          if (carry > 0)
-            pow5_ptr[pow5_len++] = (mp_limb_t) carry;
-        }
-    }
-  s_limbs = abs_s / GMP_LIMB_BITS;
-  s_bits = abs_s % GMP_LIMB_BITS;
-  if (n >= 0 ? s >= 0 : s <= 0)
-    {
-      /* Multiply with 2^|s|.  */
-      if (s_bits > 0)
-        {
-          mp_limb_t *ptr = pow5_ptr;
-          mp_twolimb_t accu = 0;
-          size_t count;
-          for (count = pow5_len; count > 0; count--)
-            {
-              accu += (mp_twolimb_t) *ptr << s_bits;
-              *ptr++ = (mp_limb_t) accu;
-              accu = accu >> GMP_LIMB_BITS;
-            }
-          if (accu > 0)
-            {
-              *ptr = (mp_limb_t) accu;
-              pow5_len++;
-            }
-        }
-      if (s_limbs > 0)
-        {
-          size_t count;
-          for (count = pow5_len; count > 0;)
-            {
-              count--;
-              pow5_ptr[s_limbs + count] = pow5_ptr[count];
-            }
-          for (count = s_limbs; count > 0;)
-            {
-              count--;
-              pow5_ptr[count] = 0;
-            }
-          pow5_len += s_limbs;
-        }
-      pow5.limbs = pow5_ptr;
-      pow5.nlimbs = pow5_len;
-      if (n >= 0)
-        {
-          /* Multiply m with pow5.  No division needed.  */
-          z_memory = multiply (m, pow5, &z);
-        }
-      else
-        {
-          /* Divide m by pow5 and round.  */
-          z_memory = divide (m, pow5, &z);
-        }
-    }
-  else
-    {
-      pow5.limbs = pow5_ptr;
-      pow5.nlimbs = pow5_len;
-      if (n >= 0)
-        {
-          /* n >= 0, s < 0.
-             Multiply m with pow5, then divide by 2^|s|.  */
-          mpn_t numerator;
-          mpn_t denominator;
-          void *tmp_memory;
-          tmp_memory = multiply (m, pow5, &numerator);
-          if (tmp_memory == NULL)
-            {
-              free (pow5_ptr);
-              free (memory);
-              return NULL;
-            }
-          /* Construct 2^|s|.  */
-          {
-            mp_limb_t *ptr = pow5_ptr + pow5_len;
-            size_t i;
-            for (i = 0; i < s_limbs; i++)
-              ptr[i] = 0;
-            ptr[s_limbs] = (mp_limb_t) 1 << s_bits;
-            denominator.limbs = ptr;
-            denominator.nlimbs = s_limbs + 1;
-          }
-          z_memory = divide (numerator, denominator, &z);
-          free (tmp_memory);
-        }
-      else
-        {
-          /* n < 0, s > 0.
-             Multiply m with 2^s, then divide by pow5.  */
-          mpn_t numerator;
-          mp_limb_t *num_ptr;
-          num_ptr = (mp_limb_t *) malloc ((m.nlimbs + s_limbs + 1)
-                                          * sizeof (mp_limb_t));
-          if (num_ptr == NULL)
-            {
-              free (pow5_ptr);
-              free (memory);
-              return NULL;
-            }
-          {
-            mp_limb_t *destptr = num_ptr;
-            {
-              size_t i;
-              for (i = 0; i < s_limbs; i++)
-                *destptr++ = 0;
-            }
-            if (s_bits > 0)
-              {
-                const mp_limb_t *sourceptr = m.limbs;
-                mp_twolimb_t accu = 0;
-                size_t count;
-                for (count = m.nlimbs; count > 0; count--)
-                  {
-                    accu += (mp_twolimb_t) *sourceptr++ << s_bits;
-                    *destptr++ = (mp_limb_t) accu;
-                    accu = accu >> GMP_LIMB_BITS;
-                  }
-                if (accu > 0)
-                  *destptr++ = (mp_limb_t) accu;
-              }
-            else
-              {
-                const mp_limb_t *sourceptr = m.limbs;
-                size_t count;
-                for (count = m.nlimbs; count > 0; count--)
-                  *destptr++ = *sourceptr++;
-              }
-            numerator.limbs = num_ptr;
-            numerator.nlimbs = destptr - num_ptr;
-          }
-          z_memory = divide (numerator, pow5, &z);
-          free (num_ptr);
-        }
-    }
-  free (pow5_ptr);
-  free (memory);
-
-  /* Here y = round (x * 10^n) = z * 10^extra_zeroes.  */
-
-  if (z_memory == NULL)
-    return NULL;
-  digits = convert_to_decimal (z, extra_zeroes);
-  free (z_memory);
-  return digits;
-}
-
-# if NEED_PRINTF_LONG_DOUBLE
-
-/* Assuming x is finite and >= 0, and n is an integer:
-   Returns the decimal representation of round (x * 10^n).
-   Return the allocated memory - containing the decimal digits in low-to-high
-   order, terminated with a NUL character - in case of success, NULL in case
-   of memory allocation failure.  */
-static char *
-scale10_round_decimal_long_double (long double x, int n)
-{
-  int e IF_LINT(= 0);
-  mpn_t m;
-  void *memory = decode_long_double (x, &e, &m);
-  return scale10_round_decimal_decoded (e, m, memory, n);
-}
-
-# endif
-
-# if NEED_PRINTF_DOUBLE
-
-/* Assuming x is finite and >= 0, and n is an integer:
-   Returns the decimal representation of round (x * 10^n).
-   Return the allocated memory - containing the decimal digits in low-to-high
-   order, terminated with a NUL character - in case of success, NULL in case
-   of memory allocation failure.  */
-static char *
-scale10_round_decimal_double (double x, int n)
-{
-  int e IF_LINT(= 0);
-  mpn_t m;
-  void *memory = decode_double (x, &e, &m);
-  return scale10_round_decimal_decoded (e, m, memory, n);
-}
-
-# endif
-
-# if NEED_PRINTF_LONG_DOUBLE
-
-/* Assuming x is finite and > 0:
-   Return an approximation for n with 10^n <= x < 10^(n+1).
-   The approximation is usually the right n, but may be off by 1 sometimes.  */
-static int
-floorlog10l (long double x)
-{
-  int exp;
-  long double y;
-  double z;
-  double l;
-
-  /* Split into exponential part and mantissa.  */
-  y = frexpl (x, &exp);
-  if (!(y >= 0.0L && y < 1.0L))
-    abort ();
-  if (y == 0.0L)
-    return INT_MIN;
-  if (y < 0.5L)
-    {
-      while (y < (1.0L / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 
2))))
-        {
-          y *= 1.0L * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2));
-          exp -= GMP_LIMB_BITS;
-        }
-      if (y < (1.0L / (1 << 16)))
-        {
-          y *= 1.0L * (1 << 16);
-          exp -= 16;
-        }
-      if (y < (1.0L / (1 << 8)))
-        {
-          y *= 1.0L * (1 << 8);
-          exp -= 8;
-        }
-      if (y < (1.0L / (1 << 4)))
-        {
-          y *= 1.0L * (1 << 4);
-          exp -= 4;
-        }
-      if (y < (1.0L / (1 << 2)))
-        {
-          y *= 1.0L * (1 << 2);
-          exp -= 2;
-        }
-      if (y < (1.0L / (1 << 1)))
-        {
-          y *= 1.0L * (1 << 1);
-          exp -= 1;
-        }
-    }
-  if (!(y >= 0.5L && y < 1.0L))
-    abort ();
-  /* Compute an approximation for l = log2(x) = exp + log2(y).  */
-  l = exp;
-  z = y;
-  if (z < 0.70710678118654752444)
-    {
-      z *= 1.4142135623730950488;
-      l -= 0.5;
-    }
-  if (z < 0.8408964152537145431)
-    {
-      z *= 1.1892071150027210667;
-      l -= 0.25;
-    }
-  if (z < 0.91700404320467123175)
-    {
-      z *= 1.0905077326652576592;
-      l -= 0.125;
-    }
-  if (z < 0.9576032806985736469)
-    {
-      z *= 1.0442737824274138403;
-      l -= 0.0625;
-    }
-  /* Now 0.95 <= z <= 1.01.  */
-  z = 1 - z;
-  /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...)
-     Four terms are enough to get an approximation with error < 10^-7.  */
-  l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 
0.25)));
-  /* Finally multiply with log(2)/log(10), yields an approximation for
-     log10(x).  */
-  l *= 0.30102999566398119523;
-  /* Round down to the next integer.  */
-  return (int) l + (l < 0 ? -1 : 0);
-}
-
-# endif
-
-# if NEED_PRINTF_DOUBLE
-
-/* Assuming x is finite and > 0:
-   Return an approximation for n with 10^n <= x < 10^(n+1).
-   The approximation is usually the right n, but may be off by 1 sometimes.  */
-static int
-floorlog10 (double x)
-{
-  int exp;
-  double y;
-  double z;
-  double l;
-
-  /* Split into exponential part and mantissa.  */
-  y = frexp (x, &exp);
-  if (!(y >= 0.0 && y < 1.0))
-    abort ();
-  if (y == 0.0)
-    return INT_MIN;
-  if (y < 0.5)
-    {
-      while (y < (1.0 / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 
2))))
-        {
-          y *= 1.0 * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2));
-          exp -= GMP_LIMB_BITS;
-        }
-      if (y < (1.0 / (1 << 16)))
-        {
-          y *= 1.0 * (1 << 16);
-          exp -= 16;
-        }
-      if (y < (1.0 / (1 << 8)))
-        {
-          y *= 1.0 * (1 << 8);
-          exp -= 8;
-        }
-      if (y < (1.0 / (1 << 4)))
-        {
-          y *= 1.0 * (1 << 4);
-          exp -= 4;
-        }
-      if (y < (1.0 / (1 << 2)))
-        {
-          y *= 1.0 * (1 << 2);
-          exp -= 2;
-        }
-      if (y < (1.0 / (1 << 1)))
-        {
-          y *= 1.0 * (1 << 1);
-          exp -= 1;
-        }
-    }
-  if (!(y >= 0.5 && y < 1.0))
-    abort ();
-  /* Compute an approximation for l = log2(x) = exp + log2(y).  */
-  l = exp;
-  z = y;
-  if (z < 0.70710678118654752444)
-    {
-      z *= 1.4142135623730950488;
-      l -= 0.5;
-    }
-  if (z < 0.8408964152537145431)
-    {
-      z *= 1.1892071150027210667;
-      l -= 0.25;
-    }
-  if (z < 0.91700404320467123175)
-    {
-      z *= 1.0905077326652576592;
-      l -= 0.125;
-    }
-  if (z < 0.9576032806985736469)
-    {
-      z *= 1.0442737824274138403;
-      l -= 0.0625;
-    }
-  /* Now 0.95 <= z <= 1.01.  */
-  z = 1 - z;
-  /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...)
-     Four terms are enough to get an approximation with error < 10^-7.  */
-  l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 
0.25)));
-  /* Finally multiply with log(2)/log(10), yields an approximation for
-     log10(x).  */
-  l *= 0.30102999566398119523;
-  /* Round down to the next integer.  */
-  return (int) l + (l < 0 ? -1 : 0);
-}
-
-# endif
-
-/* Tests whether a string of digits consists of exactly PRECISION zeroes and
-   a single '1' digit.  */
-static int
-is_borderline (const char *digits, size_t precision)
-{
-  for (; precision > 0; precision--, digits++)
-    if (*digits != '0')
-      return 0;
-  if (*digits != '1')
-    return 0;
-  digits++;
-  return *digits == '\0';
-}
-
-#endif
-
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99
-
-/* Use a different function name, to make it possible that the 'wchar_t'
-   parametrization and the 'char' parametrization get compiled in the same
-   translation unit.  */
-# if WIDE_CHAR_VERSION
-#  define MAX_ROOM_NEEDED wmax_room_needed
-# else
-#  define MAX_ROOM_NEEDED max_room_needed
-# endif
-
-/* Returns the number of TCHAR_T units needed as temporary space for the result
-   of sprintf or SNPRINTF of a single conversion directive.  */
-static size_t
-MAX_ROOM_NEEDED (const arguments *ap, size_t arg_index, FCHAR_T conversion,
-                 arg_type type, int flags, size_t width, int has_precision,
-                 size_t precision, int pad_ourselves)
-{
-  size_t tmp_length;
-
-  switch (conversion)
-    {
-    case 'd': case 'i': case 'u':
-# if HAVE_LONG_LONG_INT
-      if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
-        tmp_length =
-          (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
-                          * 0.30103 /* binary -> decimal */
-                         )
-          + 1; /* turn floor into ceil */
-      else
-# endif
-      if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
-        tmp_length =
-          (unsigned int) (sizeof (unsigned long) * CHAR_BIT
-                          * 0.30103 /* binary -> decimal */
-                         )
-          + 1; /* turn floor into ceil */
-      else
-        tmp_length =
-          (unsigned int) (sizeof (unsigned int) * CHAR_BIT
-                          * 0.30103 /* binary -> decimal */
-                         )
-          + 1; /* turn floor into ceil */
-      if (tmp_length < precision)
-        tmp_length = precision;
-      /* Multiply by 2, as an estimate for FLAG_GROUP.  */
-      tmp_length = xsum (tmp_length, tmp_length);
-      /* Add 1, to account for a leading sign.  */
-      tmp_length = xsum (tmp_length, 1);
-      break;
-
-    case 'o':
-# if HAVE_LONG_LONG_INT
-      if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
-        tmp_length =
-          (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
-                          * 0.333334 /* binary -> octal */
-                         )
-          + 1; /* turn floor into ceil */
-      else
-# endif
-      if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
-        tmp_length =
-          (unsigned int) (sizeof (unsigned long) * CHAR_BIT
-                          * 0.333334 /* binary -> octal */
-                         )
-          + 1; /* turn floor into ceil */
-      else
-        tmp_length =
-          (unsigned int) (sizeof (unsigned int) * CHAR_BIT
-                          * 0.333334 /* binary -> octal */
-                         )
-          + 1; /* turn floor into ceil */
-      if (tmp_length < precision)
-        tmp_length = precision;
-      /* Add 1, to account for a leading sign.  */
-      tmp_length = xsum (tmp_length, 1);
-      break;
-
-    case 'x': case 'X':
-# if HAVE_LONG_LONG_INT
-      if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
-        tmp_length =
-          (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
-                          * 0.25 /* binary -> hexadecimal */
-                         )
-          + 1; /* turn floor into ceil */
-      else
-# endif
-      if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
-        tmp_length =
-          (unsigned int) (sizeof (unsigned long) * CHAR_BIT
-                          * 0.25 /* binary -> hexadecimal */
-                         )
-          + 1; /* turn floor into ceil */
-      else
-        tmp_length =
-          (unsigned int) (sizeof (unsigned int) * CHAR_BIT
-                          * 0.25 /* binary -> hexadecimal */
-                         )
-          + 1; /* turn floor into ceil */
-      if (tmp_length < precision)
-        tmp_length = precision;
-      /* Add 2, to account for a leading sign or alternate form.  */
-      tmp_length = xsum (tmp_length, 2);
-      break;
-
-    case 'f': case 'F':
-      if (type == TYPE_LONGDOUBLE)
-        tmp_length =
-          (unsigned int) (LDBL_MAX_EXP
-                          * 0.30103 /* binary -> decimal */
-                          * 2 /* estimate for FLAG_GROUP */
-                         )
-          + 1 /* turn floor into ceil */
-          + 10; /* sign, decimal point etc. */
-      else
-        tmp_length =
-          (unsigned int) (DBL_MAX_EXP
-                          * 0.30103 /* binary -> decimal */
-                          * 2 /* estimate for FLAG_GROUP */
-                         )
-          + 1 /* turn floor into ceil */
-          + 10; /* sign, decimal point etc. */
-      tmp_length = xsum (tmp_length, precision);
-      break;
-
-    case 'e': case 'E': case 'g': case 'G':
-      tmp_length =
-        12; /* sign, decimal point, exponent etc. */
-      tmp_length = xsum (tmp_length, precision);
-      break;
-
-    case 'a': case 'A':
-      if (type == TYPE_LONGDOUBLE)
-        tmp_length =
-          (unsigned int) (LDBL_DIG
-                          * 0.831 /* decimal -> hexadecimal */
-                         )
-          + 1; /* turn floor into ceil */
-      else
-        tmp_length =
-          (unsigned int) (DBL_DIG
-                          * 0.831 /* decimal -> hexadecimal */
-                         )
-          + 1; /* turn floor into ceil */
-      if (tmp_length < precision)
-        tmp_length = precision;
-      /* Account for sign, decimal point etc. */
-      tmp_length = xsum (tmp_length, 12);
-      break;
-
-    case 'c':
-# if HAVE_WINT_T && !WIDE_CHAR_VERSION
-      if (type == TYPE_WIDE_CHAR)
-        tmp_length = MB_CUR_MAX;
-      else
-# endif
-        tmp_length = 1;
-      break;
-
-    case 's':
-# if HAVE_WCHAR_T
-      if (type == TYPE_WIDE_STRING)
-        {
-#  if WIDE_CHAR_VERSION
-          /* ISO C says about %ls in fwprintf:
-               "If the precision is not specified or is greater than the size
-                of the array, the array shall contain a null wide character."
-             So if there is a precision, we must not use wcslen.  */
-          const wchar_t *arg = ap->arg[arg_index].a.a_wide_string;
-
-          if (has_precision)
-            tmp_length = local_wcsnlen (arg, precision);
-          else
-            tmp_length = local_wcslen (arg);
-#  else
-          /* ISO C says about %ls in fprintf:
-               "If a precision is specified, no more than that many bytes are
-                written (including shift sequences, if any), and the array
-                shall contain a null wide character if, to equal the multibyte
-                character sequence length given by the precision, the function
-                would need to access a wide character one past the end of the
-                array."
-             So if there is a precision, we must not use wcslen.  */
-          /* This case has already been handled separately in VASNPRINTF.  */
-          abort ();
-#  endif
-        }
-      else
-# endif
-        {
-# if WIDE_CHAR_VERSION
-          /* ISO C says about %s in fwprintf:
-               "If the precision is not specified or is greater than the size
-                of the converted array, the converted array shall contain a
-                null wide character."
-             So if there is a precision, we must not use strlen.  */
-          /* This case has already been handled separately in VASNPRINTF.  */
-          abort ();
-# else
-          /* ISO C says about %s in fprintf:
-               "If the precision is not specified or greater than the size of
-                the array, the array shall contain a null character."
-             So if there is a precision, we must not use strlen.  */
-          const char *arg = ap->arg[arg_index].a.a_string;
-
-          if (has_precision)
-            tmp_length = local_strnlen (arg, precision);
-          else
-            tmp_length = strlen (arg);
-# endif
-        }
-      break;
-
-    case 'p':
-      tmp_length =
-        (unsigned int) (sizeof (void *) * CHAR_BIT
-                        * 0.25 /* binary -> hexadecimal */
-                       )
-          + 1 /* turn floor into ceil */
-          + 2; /* account for leading 0x */
-      break;
-
-    default:
-      abort ();
-    }
-
-  if (!pad_ourselves)
-    {
-# if ENABLE_UNISTDIO
-      /* Padding considers the number of characters, therefore the number of
-         elements after padding may be
-           > max (tmp_length, width)
-         but is certainly
-           <= tmp_length + width.  */
-      tmp_length = xsum (tmp_length, width);
-# else
-      /* Padding considers the number of elements, says POSIX.  */
-      if (tmp_length < width)
-        tmp_length = width;
-# endif
-    }
-
-  tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */
-
-  return tmp_length;
-}
-
-#endif
-
-DCHAR_T *
-VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
-            const FCHAR_T *format, va_list args)
-{
-  DIRECTIVES d;
-  arguments a;
-
-  if (PRINTF_PARSE (format, &d, &a) < 0)
-    /* errno is already set.  */
-    return NULL;
-
-#define CLEANUP() \
-  if (d.dir != d.direct_alloc_dir)                                      \
-    free (d.dir);                                                       \
-  if (a.arg != a.direct_alloc_arg)                                      \
-    free (a.arg);
-
-  if (PRINTF_FETCHARGS (args, &a) < 0)
-    {
-      CLEANUP ();
-      errno = EINVAL;
-      return NULL;
-    }
-
-  {
-    size_t buf_neededlength;
-    TCHAR_T *buf;
-    TCHAR_T *buf_malloced;
-    const FCHAR_T *cp;
-    size_t i;
-    DIRECTIVE *dp;
-    /* Output string accumulator.  */
-    DCHAR_T *result;
-    size_t allocated;
-    size_t length;
-
-    /* Allocate a small buffer that will hold a directive passed to
-       sprintf or snprintf.  */
-    buf_neededlength =
-      xsum4 (7, d.max_width_length, d.max_precision_length, 6);
-#if HAVE_ALLOCA
-    if (buf_neededlength < 4000 / sizeof (TCHAR_T))
-      {
-        buf = (TCHAR_T *) alloca (buf_neededlength * sizeof (TCHAR_T));
-        buf_malloced = NULL;
-      }
-    else
-#endif
-      {
-        size_t buf_memsize = xtimes (buf_neededlength, sizeof (TCHAR_T));
-        if (size_overflow_p (buf_memsize))
-          goto out_of_memory_1;
-        buf = (TCHAR_T *) malloc (buf_memsize);
-        if (buf == NULL)
-          goto out_of_memory_1;
-        buf_malloced = buf;
-      }
-
-    if (resultbuf != NULL)
-      {
-        result = resultbuf;
-        allocated = *lengthp;
-      }
-    else
-      {
-        result = NULL;
-        allocated = 0;
-      }
-    length = 0;
-    /* Invariants:
-       result is either == resultbuf or == NULL or malloc-allocated.
-       If length > 0, then result != NULL.  */
-
-    /* Ensures that allocated >= needed.  Aborts through a jump to
-       out_of_memory if needed is SIZE_MAX or otherwise too big.  */
-#define ENSURE_ALLOCATION(needed) \
-    if ((needed) > allocated)                                                \
-      {                                                                      \
-        size_t memory_size;                                                  \
-        DCHAR_T *memory;                                                     \
-                                                                             \
-        allocated = (allocated > 0 ? xtimes (allocated, 2) : 12);            \
-        if ((needed) > allocated)                                            \
-          allocated = (needed);                                              \
-        memory_size = xtimes (allocated, sizeof (DCHAR_T));                  \
-        if (size_overflow_p (memory_size))                                   \
-          goto out_of_memory;                                                \
-        if (result == resultbuf || result == NULL)                           \
-          memory = (DCHAR_T *) malloc (memory_size);                         \
-        else                                                                 \
-          memory = (DCHAR_T *) realloc (result, memory_size);                \
-        if (memory == NULL)                                                  \
-          goto out_of_memory;                                                \
-        if (result == resultbuf && length > 0)                               \
-          DCHAR_CPY (memory, result, length);                                \
-        result = memory;                                                     \
-      }
-
-    for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++)
-      {
-        if (cp != dp->dir_start)
-          {
-            size_t n = dp->dir_start - cp;
-            size_t augmented_length = xsum (length, n);
-
-            ENSURE_ALLOCATION (augmented_length);
-            /* This copies a piece of FCHAR_T[] into a DCHAR_T[].  Here we
-               need that the format string contains only ASCII characters
-               if FCHAR_T and DCHAR_T are not the same type.  */
-            if (sizeof (FCHAR_T) == sizeof (DCHAR_T))
-              {
-                DCHAR_CPY (result + length, (const DCHAR_T *) cp, n);
-                length = augmented_length;
-              }
-            else
-              {
-                do
-                  result[length++] = (unsigned char) *cp++;
-                while (--n > 0);
-              }
-          }
-        if (i == d.count)
-          break;
-
-        /* Execute a single directive.  */
-        if (dp->conversion == '%')
-          {
-            size_t augmented_length;
-
-            if (!(dp->arg_index == ARG_NONE))
-              abort ();
-            augmented_length = xsum (length, 1);
-            ENSURE_ALLOCATION (augmented_length);
-            result[length] = '%';
-            length = augmented_length;
-          }
-        else
-          {
-            if (!(dp->arg_index != ARG_NONE))
-              abort ();
-
-            if (dp->conversion == 'n')
-              {
-                switch (a.arg[dp->arg_index].type)
-                  {
-                  case TYPE_COUNT_SCHAR_POINTER:
-                    *a.arg[dp->arg_index].a.a_count_schar_pointer = length;
-                    break;
-                  case TYPE_COUNT_SHORT_POINTER:
-                    *a.arg[dp->arg_index].a.a_count_short_pointer = length;
-                    break;
-                  case TYPE_COUNT_INT_POINTER:
-                    *a.arg[dp->arg_index].a.a_count_int_pointer = length;
-                    break;
-                  case TYPE_COUNT_LONGINT_POINTER:
-                    *a.arg[dp->arg_index].a.a_count_longint_pointer = length;
-                    break;
-#if HAVE_LONG_LONG_INT
-                  case TYPE_COUNT_LONGLONGINT_POINTER:
-                    *a.arg[dp->arg_index].a.a_count_longlongint_pointer = 
length;
-                    break;
-#endif
-                  default:
-                    abort ();
-                  }
-              }
-#if ENABLE_UNISTDIO
-            /* The unistdio extensions.  */
-            else if (dp->conversion == 'U')
-              {
-                arg_type type = a.arg[dp->arg_index].type;
-                int flags = dp->flags;
-                int has_width;
-                size_t width;
-                int has_precision;
-                size_t precision;
-
-                has_width = 0;
-                width = 0;
-                if (dp->width_start != dp->width_end)
-                  {
-                    if (dp->width_arg_index != ARG_NONE)
-                      {
-                        int arg;
-
-                        if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
-                          abort ();
-                        arg = a.arg[dp->width_arg_index].a.a_int;
-                        if (arg < 0)
-                          {
-                            /* "A negative field width is taken as a '-' flag
-                                followed by a positive field width."  */
-                            flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
-                          }
-                        else
-                          width = arg;
-                      }
-                    else
-                      {
-                        const FCHAR_T *digitp = dp->width_start;
-
-                        do
-                          width = xsum (xtimes (width, 10), *digitp++ - '0');
-                        while (digitp != dp->width_end);
-                      }
-                    has_width = 1;
-                  }
-
-                has_precision = 0;
-                precision = 0;
-                if (dp->precision_start != dp->precision_end)
-                  {
-                    if (dp->precision_arg_index != ARG_NONE)
-                      {
-                        int arg;
-
-                        if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
-                          abort ();
-                        arg = a.arg[dp->precision_arg_index].a.a_int;
-                        /* "A negative precision is taken as if the precision
-                            were omitted."  */
-                        if (arg >= 0)
-                          {
-                            precision = arg;
-                            has_precision = 1;
-                          }
-                      }
-                    else
-                      {
-                        const FCHAR_T *digitp = dp->precision_start + 1;
-
-                        precision = 0;
-                        while (digitp != dp->precision_end)
-                          precision = xsum (xtimes (precision, 10), *digitp++ 
- '0');
-                        has_precision = 1;
-                      }
-                  }
-
-                switch (type)
-                  {
-                  case TYPE_U8_STRING:
-                    {
-                      const uint8_t *arg = a.arg[dp->arg_index].a.a_u8_string;
-                      const uint8_t *arg_end;
-                      size_t characters;
-
-                      if (has_precision)
-                        {
-                          /* Use only PRECISION characters, from the left.  */
-                          arg_end = arg;
-                          characters = 0;
-                          for (; precision > 0; precision--)
-                            {
-                              int count = u8_strmblen (arg_end);
-                              if (count == 0)
-                                break;
-                              if (count < 0)
-                                {
-                                  if (!(result == resultbuf || result == NULL))
-                                    free (result);
-                                  if (buf_malloced != NULL)
-                                    free (buf_malloced);
-                                  CLEANUP ();
-                                  errno = EILSEQ;
-                                  return NULL;
-                                }
-                              arg_end += count;
-                              characters++;
-                            }
-                        }
-                      else if (has_width)
-                        {
-                          /* Use the entire string, and count the number of
-                             characters.  */
-                          arg_end = arg;
-                          characters = 0;
-                          for (;;)
-                            {
-                              int count = u8_strmblen (arg_end);
-                              if (count == 0)
-                                break;
-                              if (count < 0)
-                                {
-                                  if (!(result == resultbuf || result == NULL))
-                                    free (result);
-                                  if (buf_malloced != NULL)
-                                    free (buf_malloced);
-                                  CLEANUP ();
-                                  errno = EILSEQ;
-                                  return NULL;
-                                }
-                              arg_end += count;
-                              characters++;
-                            }
-                        }
-                      else
-                        {
-                          /* Use the entire string.  */
-                          arg_end = arg + u8_strlen (arg);
-                          /* The number of characters doesn't matter.  */
-                          characters = 0;
-                        }
-
-                      if (has_width && width > characters
-                          && !(dp->flags & FLAG_LEFT))
-                        {
-                          size_t n = width - characters;
-                          ENSURE_ALLOCATION (xsum (length, n));
-                          DCHAR_SET (result + length, ' ', n);
-                          length += n;
-                        }
-
-# if DCHAR_IS_UINT8_T
-                      {
-                        size_t n = arg_end - arg;
-                        ENSURE_ALLOCATION (xsum (length, n));
-                        DCHAR_CPY (result + length, arg, n);
-                        length += n;
-                      }
-# else
-                      { /* Convert.  */
-                        DCHAR_T *converted = result + length;
-                        size_t converted_len = allocated - length;
-#  if DCHAR_IS_TCHAR
-                        /* Convert from UTF-8 to locale encoding.  */
-                        converted =
-                          u8_conv_to_encoding (locale_charset (),
-                                               iconveh_question_mark,
-                                               arg, arg_end - arg, NULL,
-                                               converted, &converted_len);
-#  else
-                        /* Convert from UTF-8 to UTF-16/UTF-32.  */
-                        converted =
-                          U8_TO_DCHAR (arg, arg_end - arg,
-                                       converted, &converted_len);
-#  endif
-                        if (converted == NULL)
-                          {
-                            int saved_errno = errno;
-                            if (!(result == resultbuf || result == NULL))
-                              free (result);
-                            if (buf_malloced != NULL)
-                              free (buf_malloced);
-                            CLEANUP ();
-                            errno = saved_errno;
-                            return NULL;
-                          }
-                        if (converted != result + length)
-                          {
-                            ENSURE_ALLOCATION (xsum (length, converted_len));
-                            DCHAR_CPY (result + length, converted, 
converted_len);
-                            free (converted);
-                          }
-                        length += converted_len;
-                      }
-# endif
-
-                      if (has_width && width > characters
-                          && (dp->flags & FLAG_LEFT))
-                        {
-                          size_t n = width - characters;
-                          ENSURE_ALLOCATION (xsum (length, n));
-                          DCHAR_SET (result + length, ' ', n);
-                          length += n;
-                        }
-                    }
-                    break;
-
-                  case TYPE_U16_STRING:
-                    {
-                      const uint16_t *arg = 
a.arg[dp->arg_index].a.a_u16_string;
-                      const uint16_t *arg_end;
-                      size_t characters;
-
-                      if (has_precision)
-                        {
-                          /* Use only PRECISION characters, from the left.  */
-                          arg_end = arg;
-                          characters = 0;
-                          for (; precision > 0; precision--)
-                            {
-                              int count = u16_strmblen (arg_end);
-                              if (count == 0)
-                                break;
-                              if (count < 0)
-                                {
-                                  if (!(result == resultbuf || result == NULL))
-                                    free (result);
-                                  if (buf_malloced != NULL)
-                                    free (buf_malloced);
-                                  CLEANUP ();
-                                  errno = EILSEQ;
-                                  return NULL;
-                                }
-                              arg_end += count;
-                              characters++;
-                            }
-                        }
-                      else if (has_width)
-                        {
-                          /* Use the entire string, and count the number of
-                             characters.  */
-                          arg_end = arg;
-                          characters = 0;
-                          for (;;)
-                            {
-                              int count = u16_strmblen (arg_end);
-                              if (count == 0)
-                                break;
-                              if (count < 0)
-                                {
-                                  if (!(result == resultbuf || result == NULL))
-                                    free (result);
-                                  if (buf_malloced != NULL)
-                                    free (buf_malloced);
-                                  CLEANUP ();
-                                  errno = EILSEQ;
-                                  return NULL;
-                                }
-                              arg_end += count;
-                              characters++;
-                            }
-                        }
-                      else
-                        {
-                          /* Use the entire string.  */
-                          arg_end = arg + u16_strlen (arg);
-                          /* The number of characters doesn't matter.  */
-                          characters = 0;
-                        }
-
-                      if (has_width && width > characters
-                          && !(dp->flags & FLAG_LEFT))
-                        {
-                          size_t n = width - characters;
-                          ENSURE_ALLOCATION (xsum (length, n));
-                          DCHAR_SET (result + length, ' ', n);
-                          length += n;
-                        }
-
-# if DCHAR_IS_UINT16_T
-                      {
-                        size_t n = arg_end - arg;
-                        ENSURE_ALLOCATION (xsum (length, n));
-                        DCHAR_CPY (result + length, arg, n);
-                        length += n;
-                      }
-# else
-                      { /* Convert.  */
-                        DCHAR_T *converted = result + length;
-                        size_t converted_len = allocated - length;
-#  if DCHAR_IS_TCHAR
-                        /* Convert from UTF-16 to locale encoding.  */
-                        converted =
-                          u16_conv_to_encoding (locale_charset (),
-                                                iconveh_question_mark,
-                                                arg, arg_end - arg, NULL,
-                                                converted, &converted_len);
-#  else
-                        /* Convert from UTF-16 to UTF-8/UTF-32.  */
-                        converted =
-                          U16_TO_DCHAR (arg, arg_end - arg,
-                                        converted, &converted_len);
-#  endif
-                        if (converted == NULL)
-                          {
-                            int saved_errno = errno;
-                            if (!(result == resultbuf || result == NULL))
-                              free (result);
-                            if (buf_malloced != NULL)
-                              free (buf_malloced);
-                            CLEANUP ();
-                            errno = saved_errno;
-                            return NULL;
-                          }
-                        if (converted != result + length)
-                          {
-                            ENSURE_ALLOCATION (xsum (length, converted_len));
-                            DCHAR_CPY (result + length, converted, 
converted_len);
-                            free (converted);
-                          }
-                        length += converted_len;
-                      }
-# endif
-
-                      if (has_width && width > characters
-                          && (dp->flags & FLAG_LEFT))
-                        {
-                          size_t n = width - characters;
-                          ENSURE_ALLOCATION (xsum (length, n));
-                          DCHAR_SET (result + length, ' ', n);
-                          length += n;
-                        }
-                    }
-                    break;
-
-                  case TYPE_U32_STRING:
-                    {
-                      const uint32_t *arg = 
a.arg[dp->arg_index].a.a_u32_string;
-                      const uint32_t *arg_end;
-                      size_t characters;
-
-                      if (has_precision)
-                        {
-                          /* Use only PRECISION characters, from the left.  */
-                          arg_end = arg;
-                          characters = 0;
-                          for (; precision > 0; precision--)
-                            {
-                              int count = u32_strmblen (arg_end);
-                              if (count == 0)
-                                break;
-                              if (count < 0)
-                                {
-                                  if (!(result == resultbuf || result == NULL))
-                                    free (result);
-                                  if (buf_malloced != NULL)
-                                    free (buf_malloced);
-                                  CLEANUP ();
-                                  errno = EILSEQ;
-                                  return NULL;
-                                }
-                              arg_end += count;
-                              characters++;
-                            }
-                        }
-                      else if (has_width)
-                        {
-                          /* Use the entire string, and count the number of
-                             characters.  */
-                          arg_end = arg;
-                          characters = 0;
-                          for (;;)
-                            {
-                              int count = u32_strmblen (arg_end);
-                              if (count == 0)
-                                break;
-                              if (count < 0)
-                                {
-                                  if (!(result == resultbuf || result == NULL))
-                                    free (result);
-                                  if (buf_malloced != NULL)
-                                    free (buf_malloced);
-                                  CLEANUP ();
-                                  errno = EILSEQ;
-                                  return NULL;
-                                }
-                              arg_end += count;
-                              characters++;
-                            }
-                        }
-                      else
-                        {
-                          /* Use the entire string.  */
-                          arg_end = arg + u32_strlen (arg);
-                          /* The number of characters doesn't matter.  */
-                          characters = 0;
-                        }
-
-                      if (has_width && width > characters
-                          && !(dp->flags & FLAG_LEFT))
-                        {
-                          size_t n = width - characters;
-                          ENSURE_ALLOCATION (xsum (length, n));
-                          DCHAR_SET (result + length, ' ', n);
-                          length += n;
-                        }
-
-# if DCHAR_IS_UINT32_T
-                      {
-                        size_t n = arg_end - arg;
-                        ENSURE_ALLOCATION (xsum (length, n));
-                        DCHAR_CPY (result + length, arg, n);
-                        length += n;
-                      }
-# else
-                      { /* Convert.  */
-                        DCHAR_T *converted = result + length;
-                        size_t converted_len = allocated - length;
-#  if DCHAR_IS_TCHAR
-                        /* Convert from UTF-32 to locale encoding.  */
-                        converted =
-                          u32_conv_to_encoding (locale_charset (),
-                                                iconveh_question_mark,
-                                                arg, arg_end - arg, NULL,
-                                                converted, &converted_len);
-#  else
-                        /* Convert from UTF-32 to UTF-8/UTF-16.  */
-                        converted =
-                          U32_TO_DCHAR (arg, arg_end - arg,
-                                        converted, &converted_len);
-#  endif
-                        if (converted == NULL)
-                          {
-                            int saved_errno = errno;
-                            if (!(result == resultbuf || result == NULL))
-                              free (result);
-                            if (buf_malloced != NULL)
-                              free (buf_malloced);
-                            CLEANUP ();
-                            errno = saved_errno;
-                            return NULL;
-                          }
-                        if (converted != result + length)
-                          {
-                            ENSURE_ALLOCATION (xsum (length, converted_len));
-                            DCHAR_CPY (result + length, converted, 
converted_len);
-                            free (converted);
-                          }
-                        length += converted_len;
-                      }
-# endif
-
-                      if (has_width && width > characters
-                          && (dp->flags & FLAG_LEFT))
-                        {
-                          size_t n = width - characters;
-                          ENSURE_ALLOCATION (xsum (length, n));
-                          DCHAR_SET (result + length, ' ', n);
-                          length += n;
-                        }
-                    }
-                    break;
-
-                  default:
-                    abort ();
-                  }
-              }
-#endif
-#if (!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || (NEED_PRINTF_DIRECTIVE_LS 
&& !defined IN_LIBINTL)) && HAVE_WCHAR_T
-            else if (dp->conversion == 's'
-# if WIDE_CHAR_VERSION
-                     && a.arg[dp->arg_index].type != TYPE_WIDE_STRING
-# else
-                     && a.arg[dp->arg_index].type == TYPE_WIDE_STRING
-# endif
-                    )
-              {
-                /* The normal handling of the 's' directive below requires
-                   allocating a temporary buffer.  The determination of its
-                   length (tmp_length), in the case when a precision is
-                   specified, below requires a conversion between a char[]
-                   string and a wchar_t[] wide string.  It could be done, but
-                   we have no guarantee that the implementation of sprintf will
-                   use the exactly same algorithm.  Without this guarantee, it
-                   is possible to have buffer overrun bugs.  In order to avoid
-                   such bugs, we implement the entire processing of the 's'
-                   directive ourselves.  */
-                int flags = dp->flags;
-                int has_width;
-                size_t width;
-                int has_precision;
-                size_t precision;
-
-                has_width = 0;
-                width = 0;
-                if (dp->width_start != dp->width_end)
-                  {
-                    if (dp->width_arg_index != ARG_NONE)
-                      {
-                        int arg;
-
-                        if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
-                          abort ();
-                        arg = a.arg[dp->width_arg_index].a.a_int;
-                        if (arg < 0)
-                          {
-                            /* "A negative field width is taken as a '-' flag
-                                followed by a positive field width."  */
-                            flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
-                          }
-                        else
-                          width = arg;
-                      }
-                    else
-                      {
-                        const FCHAR_T *digitp = dp->width_start;
-
-                        do
-                          width = xsum (xtimes (width, 10), *digitp++ - '0');
-                        while (digitp != dp->width_end);
-                      }
-                    has_width = 1;
-                  }
-
-                has_precision = 0;
-                precision = 6;
-                if (dp->precision_start != dp->precision_end)
-                  {
-                    if (dp->precision_arg_index != ARG_NONE)
-                      {
-                        int arg;
-
-                        if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
-                          abort ();
-                        arg = a.arg[dp->precision_arg_index].a.a_int;
-                        /* "A negative precision is taken as if the precision
-                            were omitted."  */
-                        if (arg >= 0)
-                          {
-                            precision = arg;
-                            has_precision = 1;
-                          }
-                      }
-                    else
-                      {
-                        const FCHAR_T *digitp = dp->precision_start + 1;
-
-                        precision = 0;
-                        while (digitp != dp->precision_end)
-                          precision = xsum (xtimes (precision, 10), *digitp++ 
- '0');
-                        has_precision = 1;
-                      }
-                  }
-
-# if WIDE_CHAR_VERSION
-                /* %s in vasnwprintf.  See the specification of fwprintf.  */
-                {
-                  const char *arg = a.arg[dp->arg_index].a.a_string;
-                  const char *arg_end;
-                  size_t characters;
-
-                  if (has_precision)
-                    {
-                      /* Use only as many bytes as needed to produce PRECISION
-                         wide characters, from the left.  */
-#  if HAVE_MBRTOWC
-                      mbstate_t state;
-                      memset (&state, '\0', sizeof (mbstate_t));
-#  endif
-                      arg_end = arg;
-                      characters = 0;
-                      for (; precision > 0; precision--)
-                        {
-                          int count;
-#  if HAVE_MBRTOWC
-                          count = mbrlen (arg_end, MB_CUR_MAX, &state);
-#  else
-                          count = mblen (arg_end, MB_CUR_MAX);
-#  endif
-                          if (count == 0)
-                            /* Found the terminating NUL.  */
-                            break;
-                          if (count < 0)
-                            {
-                              /* Invalid or incomplete multibyte character.  */
-                              if (!(result == resultbuf || result == NULL))
-                                free (result);
-                              if (buf_malloced != NULL)
-                                free (buf_malloced);
-                              CLEANUP ();
-                              errno = EILSEQ;
-                              return NULL;
-                            }
-                          arg_end += count;
-                          characters++;
-                        }
-                    }
-                  else if (has_width)
-                    {
-                      /* Use the entire string, and count the number of wide
-                         characters.  */
-#  if HAVE_MBRTOWC
-                      mbstate_t state;
-                      memset (&state, '\0', sizeof (mbstate_t));
-#  endif
-                      arg_end = arg;
-                      characters = 0;
-                      for (;;)
-                        {
-                          int count;
-#  if HAVE_MBRTOWC
-                          count = mbrlen (arg_end, MB_CUR_MAX, &state);
-#  else
-                          count = mblen (arg_end, MB_CUR_MAX);
-#  endif
-                          if (count == 0)
-                            /* Found the terminating NUL.  */
-                            break;
-                          if (count < 0)
-                            {
-                              /* Invalid or incomplete multibyte character.  */
-                              if (!(result == resultbuf || result == NULL))
-                                free (result);
-                              if (buf_malloced != NULL)
-                                free (buf_malloced);
-                              CLEANUP ();
-                              errno = EILSEQ;
-                              return NULL;
-                            }
-                          arg_end += count;
-                          characters++;
-                        }
-                    }
-                  else
-                    {
-                      /* Use the entire string.  */
-                      arg_end = arg + strlen (arg);
-                      /* The number of characters doesn't matter.  */
-                      characters = 0;
-                    }
-
-                  if (has_width && width > characters
-                      && !(dp->flags & FLAG_LEFT))
-                    {
-                      size_t n = width - characters;
-                      ENSURE_ALLOCATION (xsum (length, n));
-                      DCHAR_SET (result + length, ' ', n);
-                      length += n;
-                    }
-
-                  if (has_precision || has_width)
-                    {
-                      /* We know the number of wide characters in advance.  */
-                      size_t remaining;
-#  if HAVE_MBRTOWC
-                      mbstate_t state;
-                      memset (&state, '\0', sizeof (mbstate_t));
-#  endif
-                      ENSURE_ALLOCATION (xsum (length, characters));
-                      for (remaining = characters; remaining > 0; remaining--)
-                        {
-                          wchar_t wc;
-                          int count;
-#  if HAVE_MBRTOWC
-                          count = mbrtowc (&wc, arg, arg_end - arg, &state);
-#  else
-                          count = mbtowc (&wc, arg, arg_end - arg);
-#  endif
-                          if (count <= 0)
-                            /* mbrtowc not consistent with mbrlen, or mbtowc
-                               not consistent with mblen.  */
-                            abort ();
-                          result[length++] = wc;
-                          arg += count;
-                        }
-                      if (!(arg == arg_end))
-                        abort ();
-                    }
-                  else
-                    {
-#  if HAVE_MBRTOWC
-                      mbstate_t state;
-                      memset (&state, '\0', sizeof (mbstate_t));
-#  endif
-                      while (arg < arg_end)
-                        {
-                          wchar_t wc;
-                          int count;
-#  if HAVE_MBRTOWC
-                          count = mbrtowc (&wc, arg, arg_end - arg, &state);
-#  else
-                          count = mbtowc (&wc, arg, arg_end - arg);
-#  endif
-                          if (count <= 0)
-                            /* mbrtowc not consistent with mbrlen, or mbtowc
-                               not consistent with mblen.  */
-                            abort ();
-                          ENSURE_ALLOCATION (xsum (length, 1));
-                          result[length++] = wc;
-                          arg += count;
-                        }
-                    }
-
-                  if (has_width && width > characters
-                      && (dp->flags & FLAG_LEFT))
-                    {
-                      size_t n = width - characters;
-                      ENSURE_ALLOCATION (xsum (length, n));
-                      DCHAR_SET (result + length, ' ', n);
-                      length += n;
-                    }
-                }
-# else
-                /* %ls in vasnprintf.  See the specification of fprintf.  */
-                {
-                  const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string;
-                  const wchar_t *arg_end;
-                  size_t characters;
-#  if !DCHAR_IS_TCHAR
-                  /* This code assumes that TCHAR_T is 'char'.  */
-                  verify (sizeof (TCHAR_T) == 1);
-                  TCHAR_T *tmpsrc;
-                  DCHAR_T *tmpdst;
-                  size_t tmpdst_len;
-#  endif
-                  size_t w;
-
-                  if (has_precision)
-                    {
-                      /* Use only as many wide characters as needed to produce
-                         at most PRECISION bytes, from the left.  */
-#  if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
-                      mbstate_t state;
-                      memset (&state, '\0', sizeof (mbstate_t));
-#  endif
-                      arg_end = arg;
-                      characters = 0;
-                      while (precision > 0)
-                        {
-                          char cbuf[64]; /* Assume MB_CUR_MAX <= 64.  */
-                          int count;
-
-                          if (*arg_end == 0)
-                            /* Found the terminating null wide character.  */
-                            break;
-#  if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
-                          count = wcrtomb (cbuf, *arg_end, &state);
-#  else
-                          count = wctomb (cbuf, *arg_end);
-#  endif
-                          if (count < 0)
-                            {
-                              /* Cannot convert.  */
-                              if (!(result == resultbuf || result == NULL))
-                                free (result);
-                              if (buf_malloced != NULL)
-                                free (buf_malloced);
-                              CLEANUP ();
-                              errno = EILSEQ;
-                              return NULL;
-                            }
-                          if (precision < count)
-                            break;
-                          arg_end++;
-                          characters += count;
-                          precision -= count;
-                        }
-                    }
-#  if DCHAR_IS_TCHAR
-                  else if (has_width)
-#  else
-                  else
-#  endif
-                    {
-                      /* Use the entire string, and count the number of
-                         bytes.  */
-#  if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
-                      mbstate_t state;
-                      memset (&state, '\0', sizeof (mbstate_t));
-#  endif
-                      arg_end = arg;
-                      characters = 0;
-                      for (;;)
-                        {
-                          char cbuf[64]; /* Assume MB_CUR_MAX <= 64.  */
-                          int count;
-
-                          if (*arg_end == 0)
-                            /* Found the terminating null wide character.  */
-                            break;
-#  if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
-                          count = wcrtomb (cbuf, *arg_end, &state);
-#  else
-                          count = wctomb (cbuf, *arg_end);
-#  endif
-                          if (count < 0)
-                            {
-                              /* Cannot convert.  */
-                              if (!(result == resultbuf || result == NULL))
-                                free (result);
-                              if (buf_malloced != NULL)
-                                free (buf_malloced);
-                              CLEANUP ();
-                              errno = EILSEQ;
-                              return NULL;
-                            }
-                          arg_end++;
-                          characters += count;
-                        }
-                    }
-#  if DCHAR_IS_TCHAR
-                  else
-                    {
-                      /* Use the entire string.  */
-                      arg_end = arg + local_wcslen (arg);
-                      /* The number of bytes doesn't matter.  */
-                      characters = 0;
-                    }
-#  endif
-
-#  if !DCHAR_IS_TCHAR
-                  /* Convert the string into a piece of temporary memory.  */
-                  tmpsrc = (TCHAR_T *) malloc (characters * sizeof (TCHAR_T));
-                  if (tmpsrc == NULL)
-                    goto out_of_memory;
-                  {
-                    TCHAR_T *tmpptr = tmpsrc;
-                    size_t remaining;
-#   if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
-                    mbstate_t state;
-                    memset (&state, '\0', sizeof (mbstate_t));
-#   endif
-                    for (remaining = characters; remaining > 0; )
-                      {
-                        char cbuf[64]; /* Assume MB_CUR_MAX <= 64.  */
-                        int count;
-
-                        if (*arg == 0)
-                          abort ();
-#   if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
-                        count = wcrtomb (cbuf, *arg, &state);
-#   else
-                        count = wctomb (cbuf, *arg);
-#   endif
-                        if (count <= 0)
-                          /* Inconsistency.  */
-                          abort ();
-                        memcpy (tmpptr, cbuf, count);
-                        tmpptr += count;
-                        arg++;
-                        remaining -= count;
-                      }
-                    if (!(arg == arg_end))
-                      abort ();
-                  }
-
-                  /* Convert from TCHAR_T[] to DCHAR_T[].  */
-                  tmpdst =
-                    DCHAR_CONV_FROM_ENCODING (locale_charset (),
-                                              iconveh_question_mark,
-                                              tmpsrc, characters,
-                                              NULL,
-                                              NULL, &tmpdst_len);
-                  if (tmpdst == NULL)
-                    {
-                      int saved_errno = errno;
-                      free (tmpsrc);
-                      if (!(result == resultbuf || result == NULL))
-                        free (result);
-                      if (buf_malloced != NULL)
-                        free (buf_malloced);
-                      CLEANUP ();
-                      errno = saved_errno;
-                      return NULL;
-                    }
-                  free (tmpsrc);
-#  endif
-
-                  if (has_width)
-                    {
-#  if ENABLE_UNISTDIO
-                      /* Outside POSIX, it's preferable to compare the width
-                         against the number of _characters_ of the converted
-                         value.  */
-                      w = DCHAR_MBSNLEN (result + length, characters);
-#  else
-                      /* The width is compared against the number of _bytes_
-                         of the converted value, says POSIX.  */
-                      w = characters;
-#  endif
-                    }
-                  else
-                    /* w doesn't matter.  */
-                    w = 0;
-
-                  if (has_width && width > w
-                      && !(dp->flags & FLAG_LEFT))
-                    {
-                      size_t n = width - w;
-                      ENSURE_ALLOCATION (xsum (length, n));
-                      DCHAR_SET (result + length, ' ', n);
-                      length += n;
-                    }
-
-#  if DCHAR_IS_TCHAR
-                  if (has_precision || has_width)
-                    {
-                      /* We know the number of bytes in advance.  */
-                      size_t remaining;
-#   if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
-                      mbstate_t state;
-                      memset (&state, '\0', sizeof (mbstate_t));
-#   endif
-                      ENSURE_ALLOCATION (xsum (length, characters));
-                      for (remaining = characters; remaining > 0; )
-                        {
-                          char cbuf[64]; /* Assume MB_CUR_MAX <= 64.  */
-                          int count;
-
-                          if (*arg == 0)
-                            abort ();
-#   if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
-                          count = wcrtomb (cbuf, *arg, &state);
-#   else
-                          count = wctomb (cbuf, *arg);
-#   endif
-                          if (count <= 0)
-                            /* Inconsistency.  */
-                            abort ();
-                          memcpy (result + length, cbuf, count);
-                          length += count;
-                          arg++;
-                          remaining -= count;
-                        }
-                      if (!(arg == arg_end))
-                        abort ();
-                    }
-                  else
-                    {
-#   if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
-                      mbstate_t state;
-                      memset (&state, '\0', sizeof (mbstate_t));
-#   endif
-                      while (arg < arg_end)
-                        {
-                          char cbuf[64]; /* Assume MB_CUR_MAX <= 64.  */
-                          int count;
-
-                          if (*arg == 0)
-                            abort ();
-#   if HAVE_WCRTOMB && !defined GNULIB_defined_mbstate_t
-                          count = wcrtomb (cbuf, *arg, &state);
-#   else
-                          count = wctomb (cbuf, *arg);
-#   endif
-                          if (count <= 0)
-                            {
-                              /* Cannot convert.  */
-                              if (!(result == resultbuf || result == NULL))
-                                free (result);
-                              if (buf_malloced != NULL)
-                                free (buf_malloced);
-                              CLEANUP ();
-                              errno = EILSEQ;
-                              return NULL;
-                            }
-                          ENSURE_ALLOCATION (xsum (length, count));
-                          memcpy (result + length, cbuf, count);
-                          length += count;
-                          arg++;
-                        }
-                    }
-#  else
-                  ENSURE_ALLOCATION (xsum (length, tmpdst_len));
-                  DCHAR_CPY (result + length, tmpdst, tmpdst_len);
-                  free (tmpdst);
-                  length += tmpdst_len;
-#  endif
-
-                  if (has_width && width > w
-                      && (dp->flags & FLAG_LEFT))
-                    {
-                      size_t n = width - w;
-                      ENSURE_ALLOCATION (xsum (length, n));
-                      DCHAR_SET (result + length, ' ', n);
-                      length += n;
-                    }
-                }
-# endif
-              }
-#endif
-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) 
&& !defined IN_LIBINTL
-            else if ((dp->conversion == 'a' || dp->conversion == 'A')
-# if !(NEED_PRINTF_DIRECTIVE_A || (NEED_PRINTF_LONG_DOUBLE && 
NEED_PRINTF_DOUBLE))
-                     && (0
-#  if NEED_PRINTF_DOUBLE
-                         || a.arg[dp->arg_index].type == TYPE_DOUBLE
-#  endif
-#  if NEED_PRINTF_LONG_DOUBLE
-                         || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE
-#  endif
-                        )
-# endif
-                    )
-              {
-                arg_type type = a.arg[dp->arg_index].type;
-                int flags = dp->flags;
-                int has_width;
-                size_t width;
-                int has_precision;
-                size_t precision;
-                size_t tmp_length;
-                DCHAR_T tmpbuf[700];
-                DCHAR_T *tmp;
-                DCHAR_T *pad_ptr;
-                DCHAR_T *p;
-
-                has_width = 0;
-                width = 0;
-                if (dp->width_start != dp->width_end)
-                  {
-                    if (dp->width_arg_index != ARG_NONE)
-                      {
-                        int arg;
-
-                        if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
-                          abort ();
-                        arg = a.arg[dp->width_arg_index].a.a_int;
-                        if (arg < 0)
-                          {
-                            /* "A negative field width is taken as a '-' flag
-                                followed by a positive field width."  */
-                            flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
-                          }
-                        else
-                          width = arg;
-                      }
-                    else
-                      {
-                        const FCHAR_T *digitp = dp->width_start;
-
-                        do
-                          width = xsum (xtimes (width, 10), *digitp++ - '0');
-                        while (digitp != dp->width_end);
-                      }
-                    has_width = 1;
-                  }
-
-                has_precision = 0;
-                precision = 0;
-                if (dp->precision_start != dp->precision_end)
-                  {
-                    if (dp->precision_arg_index != ARG_NONE)
-                      {
-                        int arg;
-
-                        if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
-                          abort ();
-                        arg = a.arg[dp->precision_arg_index].a.a_int;
-                        /* "A negative precision is taken as if the precision
-                            were omitted."  */
-                        if (arg >= 0)
-                          {
-                            precision = arg;
-                            has_precision = 1;
-                          }
-                      }
-                    else
-                      {
-                        const FCHAR_T *digitp = dp->precision_start + 1;
-
-                        precision = 0;
-                        while (digitp != dp->precision_end)
-                          precision = xsum (xtimes (precision, 10), *digitp++ 
- '0');
-                        has_precision = 1;
-                      }
-                  }
-
-                /* Allocate a temporary buffer of sufficient size.  */
-                if (type == TYPE_LONGDOUBLE)
-                  tmp_length =
-                    (unsigned int) ((LDBL_DIG + 1)
-                                    * 0.831 /* decimal -> hexadecimal */
-                                   )
-                    + 1; /* turn floor into ceil */
-                else
-                  tmp_length =
-                    (unsigned int) ((DBL_DIG + 1)
-                                    * 0.831 /* decimal -> hexadecimal */
-                                   )
-                    + 1; /* turn floor into ceil */
-                if (tmp_length < precision)
-                  tmp_length = precision;
-                /* Account for sign, decimal point etc. */
-                tmp_length = xsum (tmp_length, 12);
-
-                if (tmp_length < width)
-                  tmp_length = width;
-
-                tmp_length = xsum (tmp_length, 1); /* account for trailing NUL 
*/
-
-                if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T))
-                  tmp = tmpbuf;
-                else
-                  {
-                    size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T));
-
-                    if (size_overflow_p (tmp_memsize))
-                      /* Overflow, would lead to out of memory.  */
-                      goto out_of_memory;
-                    tmp = (DCHAR_T *) malloc (tmp_memsize);
-                    if (tmp == NULL)
-                      /* Out of memory.  */
-                      goto out_of_memory;
-                  }
-
-                pad_ptr = NULL;
-                p = tmp;
-                if (type == TYPE_LONGDOUBLE)
-                  {
-# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE
-                    long double arg = a.arg[dp->arg_index].a.a_longdouble;
-
-                    if (isnanl (arg))
-                      {
-                        if (dp->conversion == 'A')
-                          {
-                            *p++ = 'N'; *p++ = 'A'; *p++ = 'N';
-                          }
-                        else
-                          {
-                            *p++ = 'n'; *p++ = 'a'; *p++ = 'n';
-                          }
-                      }
-                    else
-                      {
-                        int sign = 0;
-                        DECL_LONG_DOUBLE_ROUNDING
-
-                        BEGIN_LONG_DOUBLE_ROUNDING ();
-
-                        if (signbit (arg)) /* arg < 0.0L or negative zero */
-                          {
-                            sign = -1;
-                            arg = -arg;
-                          }
-
-                        if (sign < 0)
-                          *p++ = '-';
-                        else if (flags & FLAG_SHOWSIGN)
-                          *p++ = '+';
-                        else if (flags & FLAG_SPACE)
-                          *p++ = ' ';
-
-                        if (arg > 0.0L && arg + arg == arg)
-                          {
-                            if (dp->conversion == 'A')
-                              {
-                                *p++ = 'I'; *p++ = 'N'; *p++ = 'F';
-                              }
-                            else
-                              {
-                                *p++ = 'i'; *p++ = 'n'; *p++ = 'f';
-                              }
-                          }
-                        else
-                          {
-                            int exponent;
-                            long double mantissa;
-
-                            if (arg > 0.0L)
-                              mantissa = printf_frexpl (arg, &exponent);
-                            else
-                              {
-                                exponent = 0;
-                                mantissa = 0.0L;
-                              }
-
-                            if (has_precision
-                                && precision < (unsigned int) ((LDBL_DIG + 1) 
* 0.831) + 1)
-                              {
-                                /* Round the mantissa.  */
-                                long double tail = mantissa;
-                                size_t q;
-
-                                for (q = precision; ; q--)
-                                  {
-                                    int digit = (int) tail;
-                                    tail -= digit;
-                                    if (q == 0)
-                                      {
-                                        if (digit & 1 ? tail >= 0.5L : tail > 
0.5L)
-                                          tail = 1 - tail;
-                                        else
-                                          tail = - tail;
-                                        break;
-                                      }
-                                    tail *= 16.0L;
-                                  }
-                                if (tail != 0.0L)
-                                  for (q = precision; q > 0; q--)
-                                    tail *= 0.0625L;
-                                mantissa += tail;
-                              }
-
-                            *p++ = '0';
-                            *p++ = dp->conversion - 'A' + 'X';
-                            pad_ptr = p;
-                            {
-                              int digit;
-
-                              digit = (int) mantissa;
-                              mantissa -= digit;
-                              *p++ = '0' + digit;
-                              if ((flags & FLAG_ALT)
-                                  || mantissa > 0.0L || precision > 0)
-                                {
-                                  *p++ = decimal_point_char ();
-                                  /* This loop terminates because we assume
-                                     that FLT_RADIX is a power of 2.  */
-                                  while (mantissa > 0.0L)
-                                    {
-                                      mantissa *= 16.0L;
-                                      digit = (int) mantissa;
-                                      mantissa -= digit;
-                                      *p++ = digit
-                                             + (digit < 10
-                                                ? '0'
-                                                : dp->conversion - 10);
-                                      if (precision > 0)
-                                        precision--;
-                                    }
-                                  while (precision > 0)
-                                    {
-                                      *p++ = '0';
-                                      precision--;
-                                    }
-                                }
-                              }
-                              *p++ = dp->conversion - 'A' + 'P';
-#  if WIDE_CHAR_VERSION
-                              {
-                                static const wchar_t decimal_format[] =
-                                  { '%', '+', 'd', '\0' };
-                                SNPRINTF (p, 6 + 1, decimal_format, exponent);
-                              }
-                              while (*p != '\0')
-                                p++;
-#  else
-                              if (sizeof (DCHAR_T) == 1)
-                                {
-                                  sprintf ((char *) p, "%+d", exponent);
-                                  while (*p != '\0')
-                                    p++;
-                                }
-                              else
-                                {
-                                  char expbuf[6 + 1];
-                                  const char *ep;
-                                  sprintf (expbuf, "%+d", exponent);
-                                  for (ep = expbuf; (*p = *ep) != '\0'; ep++)
-                                    p++;
-                                }
-#  endif
-                          }
-
-                        END_LONG_DOUBLE_ROUNDING ();
-                      }
-# else
-                    abort ();
-# endif
-                  }
-                else
-                  {
-# if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE
-                    double arg = a.arg[dp->arg_index].a.a_double;
-
-                    if (isnand (arg))
-                      {
-                        if (dp->conversion == 'A')
-                          {
-                            *p++ = 'N'; *p++ = 'A'; *p++ = 'N';
-                          }
-                        else
-                          {
-                            *p++ = 'n'; *p++ = 'a'; *p++ = 'n';
-                          }
-                      }
-                    else
-                      {
-                        int sign = 0;
-
-                        if (signbit (arg)) /* arg < 0.0 or negative zero */
-                          {
-                            sign = -1;
-                            arg = -arg;
-                          }
-
-                        if (sign < 0)
-                          *p++ = '-';
-                        else if (flags & FLAG_SHOWSIGN)
-                          *p++ = '+';
-                        else if (flags & FLAG_SPACE)
-                          *p++ = ' ';
-
-                        if (arg > 0.0 && arg + arg == arg)
-                          {
-                            if (dp->conversion == 'A')
-                              {
-                                *p++ = 'I'; *p++ = 'N'; *p++ = 'F';
-                              }
-                            else
-                              {
-                                *p++ = 'i'; *p++ = 'n'; *p++ = 'f';
-                              }
-                          }
-                        else
-                          {
-                            int exponent;
-                            double mantissa;
-
-                            if (arg > 0.0)
-                              mantissa = printf_frexp (arg, &exponent);
-                            else
-                              {
-                                exponent = 0;
-                                mantissa = 0.0;
-                              }
-
-                            if (has_precision
-                                && precision < (unsigned int) ((DBL_DIG + 1) * 
0.831) + 1)
-                              {
-                                /* Round the mantissa.  */
-                                double tail = mantissa;
-                                size_t q;
-
-                                for (q = precision; ; q--)
-                                  {
-                                    int digit = (int) tail;
-                                    tail -= digit;
-                                    if (q == 0)
-                                      {
-                                        if (digit & 1 ? tail >= 0.5 : tail > 
0.5)
-                                          tail = 1 - tail;
-                                        else
-                                          tail = - tail;
-                                        break;
-                                      }
-                                    tail *= 16.0;
-                                  }
-                                if (tail != 0.0)
-                                  for (q = precision; q > 0; q--)
-                                    tail *= 0.0625;
-                                mantissa += tail;
-                              }
-
-                            *p++ = '0';
-                            *p++ = dp->conversion - 'A' + 'X';
-                            pad_ptr = p;
-                            {
-                              int digit;
-
-                              digit = (int) mantissa;
-                              mantissa -= digit;
-                              *p++ = '0' + digit;
-                              if ((flags & FLAG_ALT)
-                                  || mantissa > 0.0 || precision > 0)
-                                {
-                                  *p++ = decimal_point_char ();
-                                  /* This loop terminates because we assume
-                                     that FLT_RADIX is a power of 2.  */
-                                  while (mantissa > 0.0)
-                                    {
-                                      mantissa *= 16.0;
-                                      digit = (int) mantissa;
-                                      mantissa -= digit;
-                                      *p++ = digit
-                                             + (digit < 10
-                                                ? '0'
-                                                : dp->conversion - 10);
-                                      if (precision > 0)
-                                        precision--;
-                                    }
-                                  while (precision > 0)
-                                    {
-                                      *p++ = '0';
-                                      precision--;
-                                    }
-                                }
-                              }
-                              *p++ = dp->conversion - 'A' + 'P';
-#  if WIDE_CHAR_VERSION
-                              {
-                                static const wchar_t decimal_format[] =
-                                  { '%', '+', 'd', '\0' };
-                                SNPRINTF (p, 6 + 1, decimal_format, exponent);
-                              }
-                              while (*p != '\0')
-                                p++;
-#  else
-                              if (sizeof (DCHAR_T) == 1)
-                                {
-                                  sprintf ((char *) p, "%+d", exponent);
-                                  while (*p != '\0')
-                                    p++;
-                                }
-                              else
-                                {
-                                  char expbuf[6 + 1];
-                                  const char *ep;
-                                  sprintf (expbuf, "%+d", exponent);
-                                  for (ep = expbuf; (*p = *ep) != '\0'; ep++)
-                                    p++;
-                                }
-#  endif
-                          }
-                      }
-# else
-                    abort ();
-# endif
-                  }
-                /* The generated string now extends from tmp to p, with the
-                   zero padding insertion point being at pad_ptr.  */
-                if (has_width && p - tmp < width)
-                  {
-                    size_t pad = width - (p - tmp);
-                    DCHAR_T *end = p + pad;
-
-                    if (flags & FLAG_LEFT)
-                      {
-                        /* Pad with spaces on the right.  */
-                        for (; pad > 0; pad--)
-                          *p++ = ' ';
-                      }
-                    else if ((flags & FLAG_ZERO) && pad_ptr != NULL)
-                      {
-                        /* Pad with zeroes.  */
-                        DCHAR_T *q = end;
-
-                        while (p > pad_ptr)
-                          *--q = *--p;
-                        for (; pad > 0; pad--)
-                          *p++ = '0';
-                      }
-                    else
-                      {
-                        /* Pad with spaces on the left.  */
-                        DCHAR_T *q = end;
-
-                        while (p > tmp)
-                          *--q = *--p;
-                        for (; pad > 0; pad--)
-                          *p++ = ' ';
-                      }
-
-                    p = end;
-                  }
-
-                {
-                  size_t count = p - tmp;
-
-                  if (count >= tmp_length)
-                    /* tmp_length was incorrectly calculated - fix the
-                       code above!  */
-                    abort ();
-
-                  /* Make room for the result.  */
-                  if (count >= allocated - length)
-                    {
-                      size_t n = xsum (length, count);
-
-                      ENSURE_ALLOCATION (n);
-                    }
-
-                  /* Append the result.  */
-                  memcpy (result + length, tmp, count * sizeof (DCHAR_T));
-                  if (tmp != tmpbuf)
-                    free (tmp);
-                  length += count;
-                }
-              }
-#endif
-#if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || 
NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined 
IN_LIBINTL
-            else if ((dp->conversion == 'f' || dp->conversion == 'F'
-                      || dp->conversion == 'e' || dp->conversion == 'E'
-                      || dp->conversion == 'g' || dp->conversion == 'G'
-                      || dp->conversion == 'a' || dp->conversion == 'A')
-                     && (0
-# if NEED_PRINTF_DOUBLE
-                         || a.arg[dp->arg_index].type == TYPE_DOUBLE
-# elif NEED_PRINTF_INFINITE_DOUBLE
-                         || (a.arg[dp->arg_index].type == TYPE_DOUBLE
-                             /* The systems (mingw) which produce wrong output
-                                for Inf, -Inf, and NaN also do so for -0.0.
-                                Therefore we treat this case here as well.  */
-                             && is_infinite_or_zero 
(a.arg[dp->arg_index].a.a_double))
-# endif
-# if NEED_PRINTF_LONG_DOUBLE
-                         || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE
-# elif NEED_PRINTF_INFINITE_LONG_DOUBLE
-                         || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE
-                             /* Some systems produce wrong output for Inf,
-                                -Inf, and NaN.  Some systems in this category
-                                (IRIX 5.3) also do so for -0.0.  Therefore we
-                                treat this case here as well.  */
-                             && is_infinite_or_zerol 
(a.arg[dp->arg_index].a.a_longdouble))
-# endif
-                        ))
-              {
-# if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && 
(NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE)
-                arg_type type = a.arg[dp->arg_index].type;
-# endif
-                int flags = dp->flags;
-                int has_width;
-                size_t width;
-                int has_precision;
-                size_t precision;
-                size_t tmp_length;
-                DCHAR_T tmpbuf[700];
-                DCHAR_T *tmp;
-                DCHAR_T *pad_ptr;
-                DCHAR_T *p;
-
-                has_width = 0;
-                width = 0;
-                if (dp->width_start != dp->width_end)
-                  {
-                    if (dp->width_arg_index != ARG_NONE)
-                      {
-                        int arg;
-
-                        if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
-                          abort ();
-                        arg = a.arg[dp->width_arg_index].a.a_int;
-                        if (arg < 0)
-                          {
-                            /* "A negative field width is taken as a '-' flag
-                                followed by a positive field width."  */
-                            flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
-                          }
-                        else
-                          width = arg;
-                      }
-                    else
-                      {
-                        const FCHAR_T *digitp = dp->width_start;
-
-                        do
-                          width = xsum (xtimes (width, 10), *digitp++ - '0');
-                        while (digitp != dp->width_end);
-                      }
-                    has_width = 1;
-                  }
-
-                has_precision = 0;
-                precision = 0;
-                if (dp->precision_start != dp->precision_end)
-                  {
-                    if (dp->precision_arg_index != ARG_NONE)
-                      {
-                        int arg;
-
-                        if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
-                          abort ();
-                        arg = a.arg[dp->precision_arg_index].a.a_int;
-                        /* "A negative precision is taken as if the precision
-                            were omitted."  */
-                        if (arg >= 0)
-                          {
-                            precision = arg;
-                            has_precision = 1;
-                          }
-                      }
-                    else
-                      {
-                        const FCHAR_T *digitp = dp->precision_start + 1;
-
-                        precision = 0;
-                        while (digitp != dp->precision_end)
-                          precision = xsum (xtimes (precision, 10), *digitp++ 
- '0');
-                        has_precision = 1;
-                      }
-                  }
-
-                /* POSIX specifies the default precision to be 6 for %f, %F,
-                   %e, %E, but not for %g, %G.  Implementations appear to use
-                   the same default precision also for %g, %G.  But for %a, %A,
-                   the default precision is 0.  */
-                if (!has_precision)
-                  if (!(dp->conversion == 'a' || dp->conversion == 'A'))
-                    precision = 6;
-
-                /* Allocate a temporary buffer of sufficient size.  */
-# if NEED_PRINTF_DOUBLE && NEED_PRINTF_LONG_DOUBLE
-                tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : DBL_DIG 
+ 1);
-# elif NEED_PRINTF_INFINITE_DOUBLE && NEED_PRINTF_LONG_DOUBLE
-                tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : 0);
-# elif NEED_PRINTF_LONG_DOUBLE
-                tmp_length = LDBL_DIG + 1;
-# elif NEED_PRINTF_DOUBLE
-                tmp_length = DBL_DIG + 1;
-# else
-                tmp_length = 0;
-# endif
-                if (tmp_length < precision)
-                  tmp_length = precision;
-# if NEED_PRINTF_LONG_DOUBLE
-#  if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE
-                if (type == TYPE_LONGDOUBLE)
-#  endif
-                  if (dp->conversion == 'f' || dp->conversion == 'F')
-                    {
-                      long double arg = a.arg[dp->arg_index].a.a_longdouble;
-                      if (!(isnanl (arg) || arg + arg == arg))
-                        {
-                          /* arg is finite and nonzero.  */
-                          int exponent = floorlog10l (arg < 0 ? -arg : arg);
-                          if (exponent >= 0 && tmp_length < exponent + 
precision)
-                            tmp_length = exponent + precision;
-                        }
-                    }
-# endif
-# if NEED_PRINTF_DOUBLE
-#  if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE
-                if (type == TYPE_DOUBLE)
-#  endif
-                  if (dp->conversion == 'f' || dp->conversion == 'F')
-                    {
-                      double arg = a.arg[dp->arg_index].a.a_double;
-                      if (!(isnand (arg) || arg + arg == arg))
-                        {
-                          /* arg is finite and nonzero.  */
-                          int exponent = floorlog10 (arg < 0 ? -arg : arg);
-                          if (exponent >= 0 && tmp_length < exponent + 
precision)
-                            tmp_length = exponent + precision;
-                        }
-                    }
-# endif
-                /* Account for sign, decimal point etc. */
-                tmp_length = xsum (tmp_length, 12);
-
-                if (tmp_length < width)
-                  tmp_length = width;
-
-                tmp_length = xsum (tmp_length, 1); /* account for trailing NUL 
*/
-
-                if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T))
-                  tmp = tmpbuf;
-                else
-                  {
-                    size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T));
-
-                    if (size_overflow_p (tmp_memsize))
-                      /* Overflow, would lead to out of memory.  */
-                      goto out_of_memory;
-                    tmp = (DCHAR_T *) malloc (tmp_memsize);
-                    if (tmp == NULL)
-                      /* Out of memory.  */
-                      goto out_of_memory;
-                  }
-
-                pad_ptr = NULL;
-                p = tmp;
-
-# if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE
-#  if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE
-                if (type == TYPE_LONGDOUBLE)
-#  endif
-                  {
-                    long double arg = a.arg[dp->arg_index].a.a_longdouble;
-
-                    if (isnanl (arg))
-                      {
-                        if (dp->conversion >= 'A' && dp->conversion <= 'Z')
-                          {
-                            *p++ = 'N'; *p++ = 'A'; *p++ = 'N';
-                          }
-                        else
-                          {
-                            *p++ = 'n'; *p++ = 'a'; *p++ = 'n';
-                          }
-                      }
-                    else
-                      {
-                        int sign = 0;
-                        DECL_LONG_DOUBLE_ROUNDING
-
-                        BEGIN_LONG_DOUBLE_ROUNDING ();
-
-                        if (signbit (arg)) /* arg < 0.0L or negative zero */
-                          {
-                            sign = -1;
-                            arg = -arg;
-                          }
-
-                        if (sign < 0)
-                          *p++ = '-';
-                        else if (flags & FLAG_SHOWSIGN)
-                          *p++ = '+';
-                        else if (flags & FLAG_SPACE)
-                          *p++ = ' ';
-
-                        if (arg > 0.0L && arg + arg == arg)
-                          {
-                            if (dp->conversion >= 'A' && dp->conversion <= 'Z')
-                              {
-                                *p++ = 'I'; *p++ = 'N'; *p++ = 'F';
-                              }
-                            else
-                              {
-                                *p++ = 'i'; *p++ = 'n'; *p++ = 'f';
-                              }
-                          }
-                        else
-                          {
-#  if NEED_PRINTF_LONG_DOUBLE
-                            pad_ptr = p;
-
-                            if (dp->conversion == 'f' || dp->conversion == 'F')
-                              {
-                                char *digits;
-                                size_t ndigits;
-
-                                digits =
-                                  scale10_round_decimal_long_double (arg, 
precision);
-                                if (digits == NULL)
-                                  {
-                                    END_LONG_DOUBLE_ROUNDING ();
-                                    goto out_of_memory;
-                                  }
-                                ndigits = strlen (digits);
-
-                                if (ndigits > precision)
-                                  do
-                                    {
-                                      --ndigits;
-                                      *p++ = digits[ndigits];
-                                    }
-                                  while (ndigits > precision);
-                                else
-                                  *p++ = '0';
-                                /* Here ndigits <= precision.  */
-                                if ((flags & FLAG_ALT) || precision > 0)
-                                  {
-                                    *p++ = decimal_point_char ();
-                                    for (; precision > ndigits; precision--)
-                                      *p++ = '0';
-                                    while (ndigits > 0)
-                                      {
-                                        --ndigits;
-                                        *p++ = digits[ndigits];
-                                      }
-                                  }
-
-                                free (digits);
-                              }
-                            else if (dp->conversion == 'e' || dp->conversion 
== 'E')
-                              {
-                                int exponent;
-
-                                if (arg == 0.0L)
-                                  {
-                                    exponent = 0;
-                                    *p++ = '0';
-                                    if ((flags & FLAG_ALT) || precision > 0)
-                                      {
-                                        *p++ = decimal_point_char ();
-                                        for (; precision > 0; precision--)
-                                          *p++ = '0';
-                                      }
-                                  }
-                                else
-                                  {
-                                    /* arg > 0.0L.  */
-                                    int adjusted;
-                                    char *digits;
-                                    size_t ndigits;
-
-                                    exponent = floorlog10l (arg);
-                                    adjusted = 0;
-                                    for (;;)
-                                      {
-                                        digits =
-                                          scale10_round_decimal_long_double 
(arg,
-                                                                             
(int)precision - exponent);
-                                        if (digits == NULL)
-                                          {
-                                            END_LONG_DOUBLE_ROUNDING ();
-                                            goto out_of_memory;
-                                          }
-                                        ndigits = strlen (digits);
-
-                                        if (ndigits == precision + 1)
-                                          break;
-                                        if (ndigits < precision
-                                            || ndigits > precision + 2)
-                                          /* The exponent was not guessed
-                                             precisely enough.  */
-                                          abort ();
-                                        if (adjusted)
-                                          /* None of two values of exponent is
-                                             the right one.  Prevent an endless
-                                             loop.  */
-                                          abort ();
-                                        free (digits);
-                                        if (ndigits == precision)
-                                          exponent -= 1;
-                                        else
-                                          exponent += 1;
-                                        adjusted = 1;
-                                      }
-                                    /* Here ndigits = precision+1.  */
-                                    if (is_borderline (digits, precision))
-                                      {
-                                        /* Maybe the exponent guess was too 
high
-                                           and a smaller exponent can be 
reached
-                                           by turning a 10...0 into 9...9x.  */
-                                        char *digits2 =
-                                          scale10_round_decimal_long_double 
(arg,
-                                                                             
(int)precision - exponent + 1);
-                                        if (digits2 == NULL)
-                                          {
-                                            free (digits);
-                                            END_LONG_DOUBLE_ROUNDING ();
-                                            goto out_of_memory;
-                                          }
-                                        if (strlen (digits2) == precision + 1)
-                                          {
-                                            free (digits);
-                                            digits = digits2;
-                                            exponent -= 1;
-                                          }
-                                        else
-                                          free (digits2);
-                                      }
-                                    /* Here ndigits = precision+1.  */
-
-                                    *p++ = digits[--ndigits];
-                                    if ((flags & FLAG_ALT) || precision > 0)
-                                      {
-                                        *p++ = decimal_point_char ();
-                                        while (ndigits > 0)
-                                          {
-                                            --ndigits;
-                                            *p++ = digits[ndigits];
-                                          }
-                                      }
-
-                                    free (digits);
-                                  }
-
-                                *p++ = dp->conversion; /* 'e' or 'E' */
-#   if WIDE_CHAR_VERSION
-                                {
-                                  static const wchar_t decimal_format[] =
-                                    { '%', '+', '.', '2', 'd', '\0' };
-                                  SNPRINTF (p, 6 + 1, decimal_format, 
exponent);
-                                }
-                                while (*p != '\0')
-                                  p++;
-#   else
-                                if (sizeof (DCHAR_T) == 1)
-                                  {
-                                    sprintf ((char *) p, "%+.2d", exponent);
-                                    while (*p != '\0')
-                                      p++;
-                                  }
-                                else
-                                  {
-                                    char expbuf[6 + 1];
-                                    const char *ep;
-                                    sprintf (expbuf, "%+.2d", exponent);
-                                    for (ep = expbuf; (*p = *ep) != '\0'; ep++)
-                                      p++;
-                                  }
-#   endif
-                              }
-                            else if (dp->conversion == 'g' || dp->conversion 
== 'G')
-                              {
-                                if (precision == 0)
-                                  precision = 1;
-                                /* precision >= 1.  */
-
-                                if (arg == 0.0L)
-                                  /* The exponent is 0, >= -4, < precision.
-                                     Use fixed-point notation.  */
-                                  {
-                                    size_t ndigits = precision;
-                                    /* Number of trailing zeroes that have to 
be
-                                       dropped.  */
-                                    size_t nzeroes =
-                                      (flags & FLAG_ALT ? 0 : precision - 1);
-
-                                    --ndigits;
-                                    *p++ = '0';
-                                    if ((flags & FLAG_ALT) || ndigits > 
nzeroes)
-                                      {
-                                        *p++ = decimal_point_char ();
-                                        while (ndigits > nzeroes)
-                                          {
-                                            --ndigits;
-                                            *p++ = '0';
-                                          }
-                                      }
-                                  }
-                                else
-                                  {
-                                    /* arg > 0.0L.  */
-                                    int exponent;
-                                    int adjusted;
-                                    char *digits;
-                                    size_t ndigits;
-                                    size_t nzeroes;
-
-                                    exponent = floorlog10l (arg);
-                                    adjusted = 0;
-                                    for (;;)
-                                      {
-                                        digits =
-                                          scale10_round_decimal_long_double 
(arg,
-                                                                             
(int)(precision - 1) - exponent);
-                                        if (digits == NULL)
-                                          {
-                                            END_LONG_DOUBLE_ROUNDING ();
-                                            goto out_of_memory;
-                                          }
-                                        ndigits = strlen (digits);
-
-                                        if (ndigits == precision)
-                                          break;
-                                        if (ndigits < precision - 1
-                                            || ndigits > precision + 1)
-                                          /* The exponent was not guessed
-                                             precisely enough.  */
-                                          abort ();
-                                        if (adjusted)
-                                          /* None of two values of exponent is
-                                             the right one.  Prevent an endless
-                                             loop.  */
-                                          abort ();
-                                        free (digits);
-                                        if (ndigits < precision)
-                                          exponent -= 1;
-                                        else
-                                          exponent += 1;
-                                        adjusted = 1;
-                                      }
-                                    /* Here ndigits = precision.  */
-                                    if (is_borderline (digits, precision - 1))
-                                      {
-                                        /* Maybe the exponent guess was too 
high
-                                           and a smaller exponent can be 
reached
-                                           by turning a 10...0 into 9...9x.  */
-                                        char *digits2 =
-                                          scale10_round_decimal_long_double 
(arg,
-                                                                             
(int)(precision - 1) - exponent + 1);
-                                        if (digits2 == NULL)
-                                          {
-                                            free (digits);
-                                            END_LONG_DOUBLE_ROUNDING ();
-                                            goto out_of_memory;
-                                          }
-                                        if (strlen (digits2) == precision)
-                                          {
-                                            free (digits);
-                                            digits = digits2;
-                                            exponent -= 1;
-                                          }
-                                        else
-                                          free (digits2);
-                                      }
-                                    /* Here ndigits = precision.  */
-
-                                    /* Determine the number of trailing zeroes
-                                       that have to be dropped.  */
-                                    nzeroes = 0;
-                                    if ((flags & FLAG_ALT) == 0)
-                                      while (nzeroes < ndigits
-                                             && digits[nzeroes] == '0')
-                                        nzeroes++;
-
-                                    /* The exponent is now determined.  */
-                                    if (exponent >= -4
-                                        && exponent < (long)precision)
-                                      {
-                                        /* Fixed-point notation:
-                                           max(exponent,0)+1 digits, then the
-                                           decimal point, then the remaining
-                                           digits without trailing zeroes.  */
-                                        if (exponent >= 0)
-                                          {
-                                            size_t count = exponent + 1;
-                                            /* Note: count <= precision = 
ndigits.  */
-                                            for (; count > 0; count--)
-                                              *p++ = digits[--ndigits];
-                                            if ((flags & FLAG_ALT) || ndigits 
> nzeroes)
-                                              {
-                                                *p++ = decimal_point_char ();
-                                                while (ndigits > nzeroes)
-                                                  {
-                                                    --ndigits;
-                                                    *p++ = digits[ndigits];
-                                                  }
-                                              }
-                                          }
-                                        else
-                                          {
-                                            size_t count = -exponent - 1;
-                                            *p++ = '0';
-                                            *p++ = decimal_point_char ();
-                                            for (; count > 0; count--)
-                                              *p++ = '0';
-                                            while (ndigits > nzeroes)
-                                              {
-                                                --ndigits;
-                                                *p++ = digits[ndigits];
-                                              }
-                                          }
-                                      }
-                                    else
-                                      {
-                                        /* Exponential notation.  */
-                                        *p++ = digits[--ndigits];
-                                        if ((flags & FLAG_ALT) || ndigits > 
nzeroes)
-                                          {
-                                            *p++ = decimal_point_char ();
-                                            while (ndigits > nzeroes)
-                                              {
-                                                --ndigits;
-                                                *p++ = digits[ndigits];
-                                              }
-                                          }
-                                        *p++ = dp->conversion - 'G' + 'E'; /* 
'e' or 'E' */
-#   if WIDE_CHAR_VERSION
-                                        {
-                                          static const wchar_t 
decimal_format[] =
-                                            { '%', '+', '.', '2', 'd', '\0' };
-                                          SNPRINTF (p, 6 + 1, decimal_format, 
exponent);
-                                        }
-                                        while (*p != '\0')
-                                          p++;
-#   else
-                                        if (sizeof (DCHAR_T) == 1)
-                                          {
-                                            sprintf ((char *) p, "%+.2d", 
exponent);
-                                            while (*p != '\0')
-                                              p++;
-                                          }
-                                        else
-                                          {
-                                            char expbuf[6 + 1];
-                                            const char *ep;
-                                            sprintf (expbuf, "%+.2d", 
exponent);
-                                            for (ep = expbuf; (*p = *ep) != 
'\0'; ep++)
-                                              p++;
-                                          }
-#   endif
-                                      }
-
-                                    free (digits);
-                                  }
-                              }
-                            else
-                              abort ();
-#  else
-                            /* arg is finite.  */
-                            if (!(arg == 0.0L))
-                              abort ();
-
-                            pad_ptr = p;
-
-                            if (dp->conversion == 'f' || dp->conversion == 'F')
-                              {
-                                *p++ = '0';
-                                if ((flags & FLAG_ALT) || precision > 0)
-                                  {
-                                    *p++ = decimal_point_char ();
-                                    for (; precision > 0; precision--)
-                                      *p++ = '0';
-                                  }
-                              }
-                            else if (dp->conversion == 'e' || dp->conversion 
== 'E')
-                              {
-                                *p++ = '0';
-                                if ((flags & FLAG_ALT) || precision > 0)
-                                  {
-                                    *p++ = decimal_point_char ();
-                                    for (; precision > 0; precision--)
-                                      *p++ = '0';
-                                  }
-                                *p++ = dp->conversion; /* 'e' or 'E' */
-                                *p++ = '+';
-                                *p++ = '0';
-                                *p++ = '0';
-                              }
-                            else if (dp->conversion == 'g' || dp->conversion 
== 'G')
-                              {
-                                *p++ = '0';
-                                if (flags & FLAG_ALT)
-                                  {
-                                    size_t ndigits =
-                                      (precision > 0 ? precision - 1 : 0);
-                                    *p++ = decimal_point_char ();
-                                    for (; ndigits > 0; --ndigits)
-                                      *p++ = '0';
-                                  }
-                              }
-                            else if (dp->conversion == 'a' || dp->conversion 
== 'A')
-                              {
-                                *p++ = '0';
-                                *p++ = dp->conversion - 'A' + 'X';
-                                pad_ptr = p;
-                                *p++ = '0';
-                                if ((flags & FLAG_ALT) || precision > 0)
-                                  {
-                                    *p++ = decimal_point_char ();
-                                    for (; precision > 0; precision--)
-                                      *p++ = '0';
-                                  }
-                                *p++ = dp->conversion - 'A' + 'P';
-                                *p++ = '+';
-                                *p++ = '0';
-                              }
-                            else
-                              abort ();
-#  endif
-                          }
-
-                        END_LONG_DOUBLE_ROUNDING ();
-                      }
-                  }
-#  if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE
-                else
-#  endif
-# endif
-# if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE
-                  {
-                    double arg = a.arg[dp->arg_index].a.a_double;
-
-                    if (isnand (arg))
-                      {
-                        if (dp->conversion >= 'A' && dp->conversion <= 'Z')
-                          {
-                            *p++ = 'N'; *p++ = 'A'; *p++ = 'N';
-                          }
-                        else
-                          {
-                            *p++ = 'n'; *p++ = 'a'; *p++ = 'n';
-                          }
-                      }
-                    else
-                      {
-                        int sign = 0;
-
-                        if (signbit (arg)) /* arg < 0.0 or negative zero */
-                          {
-                            sign = -1;
-                            arg = -arg;
-                          }
-
-                        if (sign < 0)
-                          *p++ = '-';
-                        else if (flags & FLAG_SHOWSIGN)
-                          *p++ = '+';
-                        else if (flags & FLAG_SPACE)
-                          *p++ = ' ';
-
-                        if (arg > 0.0 && arg + arg == arg)
-                          {
-                            if (dp->conversion >= 'A' && dp->conversion <= 'Z')
-                              {
-                                *p++ = 'I'; *p++ = 'N'; *p++ = 'F';
-                              }
-                            else
-                              {
-                                *p++ = 'i'; *p++ = 'n'; *p++ = 'f';
-                              }
-                          }
-                        else
-                          {
-#  if NEED_PRINTF_DOUBLE
-                            pad_ptr = p;
-
-                            if (dp->conversion == 'f' || dp->conversion == 'F')
-                              {
-                                char *digits;
-                                size_t ndigits;
-
-                                digits =
-                                  scale10_round_decimal_double (arg, 
precision);
-                                if (digits == NULL)
-                                  goto out_of_memory;
-                                ndigits = strlen (digits);
-
-                                if (ndigits > precision)
-                                  do
-                                    {
-                                      --ndigits;
-                                      *p++ = digits[ndigits];
-                                    }
-                                  while (ndigits > precision);
-                                else
-                                  *p++ = '0';
-                                /* Here ndigits <= precision.  */
-                                if ((flags & FLAG_ALT) || precision > 0)
-                                  {
-                                    *p++ = decimal_point_char ();
-                                    for (; precision > ndigits; precision--)
-                                      *p++ = '0';
-                                    while (ndigits > 0)
-                                      {
-                                        --ndigits;
-                                        *p++ = digits[ndigits];
-                                      }
-                                  }
-
-                                free (digits);
-                              }
-                            else if (dp->conversion == 'e' || dp->conversion 
== 'E')
-                              {
-                                int exponent;
-
-                                if (arg == 0.0)
-                                  {
-                                    exponent = 0;
-                                    *p++ = '0';
-                                    if ((flags & FLAG_ALT) || precision > 0)
-                                      {
-                                        *p++ = decimal_point_char ();
-                                        for (; precision > 0; precision--)
-                                          *p++ = '0';
-                                      }
-                                  }
-                                else
-                                  {
-                                    /* arg > 0.0.  */
-                                    int adjusted;
-                                    char *digits;
-                                    size_t ndigits;
-
-                                    exponent = floorlog10 (arg);
-                                    adjusted = 0;
-                                    for (;;)
-                                      {
-                                        digits =
-                                          scale10_round_decimal_double (arg,
-                                                                        
(int)precision - exponent);
-                                        if (digits == NULL)
-                                          goto out_of_memory;
-                                        ndigits = strlen (digits);
-
-                                        if (ndigits == precision + 1)
-                                          break;
-                                        if (ndigits < precision
-                                            || ndigits > precision + 2)
-                                          /* The exponent was not guessed
-                                             precisely enough.  */
-                                          abort ();
-                                        if (adjusted)
-                                          /* None of two values of exponent is
-                                             the right one.  Prevent an endless
-                                             loop.  */
-                                          abort ();
-                                        free (digits);
-                                        if (ndigits == precision)
-                                          exponent -= 1;
-                                        else
-                                          exponent += 1;
-                                        adjusted = 1;
-                                      }
-                                    /* Here ndigits = precision+1.  */
-                                    if (is_borderline (digits, precision))
-                                      {
-                                        /* Maybe the exponent guess was too 
high
-                                           and a smaller exponent can be 
reached
-                                           by turning a 10...0 into 9...9x.  */
-                                        char *digits2 =
-                                          scale10_round_decimal_double (arg,
-                                                                        
(int)precision - exponent + 1);
-                                        if (digits2 == NULL)
-                                          {
-                                            free (digits);
-                                            goto out_of_memory;
-                                          }
-                                        if (strlen (digits2) == precision + 1)
-                                          {
-                                            free (digits);
-                                            digits = digits2;
-                                            exponent -= 1;
-                                          }
-                                        else
-                                          free (digits2);
-                                      }
-                                    /* Here ndigits = precision+1.  */
-
-                                    *p++ = digits[--ndigits];
-                                    if ((flags & FLAG_ALT) || precision > 0)
-                                      {
-                                        *p++ = decimal_point_char ();
-                                        while (ndigits > 0)
-                                          {
-                                            --ndigits;
-                                            *p++ = digits[ndigits];
-                                          }
-                                      }
-
-                                    free (digits);
-                                  }
-
-                                *p++ = dp->conversion; /* 'e' or 'E' */
-#   if WIDE_CHAR_VERSION
-                                {
-                                  static const wchar_t decimal_format[] =
-                                    /* Produce the same number of exponent 
digits
-                                       as the native printf implementation.  */
-#    if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-                                    { '%', '+', '.', '3', 'd', '\0' };
-#    else
-                                    { '%', '+', '.', '2', 'd', '\0' };
-#    endif
-                                  SNPRINTF (p, 6 + 1, decimal_format, 
exponent);
-                                }
-                                while (*p != '\0')
-                                  p++;
-#   else
-                                {
-                                  static const char decimal_format[] =
-                                    /* Produce the same number of exponent 
digits
-                                       as the native printf implementation.  */
-#    if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-                                    "%+.3d";
-#    else
-                                    "%+.2d";
-#    endif
-                                  if (sizeof (DCHAR_T) == 1)
-                                    {
-                                      sprintf ((char *) p, decimal_format, 
exponent);
-                                      while (*p != '\0')
-                                        p++;
-                                    }
-                                  else
-                                    {
-                                      char expbuf[6 + 1];
-                                      const char *ep;
-                                      sprintf (expbuf, decimal_format, 
exponent);
-                                      for (ep = expbuf; (*p = *ep) != '\0'; 
ep++)
-                                        p++;
-                                    }
-                                }
-#   endif
-                              }
-                            else if (dp->conversion == 'g' || dp->conversion 
== 'G')
-                              {
-                                if (precision == 0)
-                                  precision = 1;
-                                /* precision >= 1.  */
-
-                                if (arg == 0.0)
-                                  /* The exponent is 0, >= -4, < precision.
-                                     Use fixed-point notation.  */
-                                  {
-                                    size_t ndigits = precision;
-                                    /* Number of trailing zeroes that have to 
be
-                                       dropped.  */
-                                    size_t nzeroes =
-                                      (flags & FLAG_ALT ? 0 : precision - 1);
-
-                                    --ndigits;
-                                    *p++ = '0';
-                                    if ((flags & FLAG_ALT) || ndigits > 
nzeroes)
-                                      {
-                                        *p++ = decimal_point_char ();
-                                        while (ndigits > nzeroes)
-                                          {
-                                            --ndigits;
-                                            *p++ = '0';
-                                          }
-                                      }
-                                  }
-                                else
-                                  {
-                                    /* arg > 0.0.  */
-                                    int exponent;
-                                    int adjusted;
-                                    char *digits;
-                                    size_t ndigits;
-                                    size_t nzeroes;
-
-                                    exponent = floorlog10 (arg);
-                                    adjusted = 0;
-                                    for (;;)
-                                      {
-                                        digits =
-                                          scale10_round_decimal_double (arg,
-                                                                        
(int)(precision - 1) - exponent);
-                                        if (digits == NULL)
-                                          goto out_of_memory;
-                                        ndigits = strlen (digits);
-
-                                        if (ndigits == precision)
-                                          break;
-                                        if (ndigits < precision - 1
-                                            || ndigits > precision + 1)
-                                          /* The exponent was not guessed
-                                             precisely enough.  */
-                                          abort ();
-                                        if (adjusted)
-                                          /* None of two values of exponent is
-                                             the right one.  Prevent an endless
-                                             loop.  */
-                                          abort ();
-                                        free (digits);
-                                        if (ndigits < precision)
-                                          exponent -= 1;
-                                        else
-                                          exponent += 1;
-                                        adjusted = 1;
-                                      }
-                                    /* Here ndigits = precision.  */
-                                    if (is_borderline (digits, precision - 1))
-                                      {
-                                        /* Maybe the exponent guess was too 
high
-                                           and a smaller exponent can be 
reached
-                                           by turning a 10...0 into 9...9x.  */
-                                        char *digits2 =
-                                          scale10_round_decimal_double (arg,
-                                                                        
(int)(precision - 1) - exponent + 1);
-                                        if (digits2 == NULL)
-                                          {
-                                            free (digits);
-                                            goto out_of_memory;
-                                          }
-                                        if (strlen (digits2) == precision)
-                                          {
-                                            free (digits);
-                                            digits = digits2;
-                                            exponent -= 1;
-                                          }
-                                        else
-                                          free (digits2);
-                                      }
-                                    /* Here ndigits = precision.  */
-
-                                    /* Determine the number of trailing zeroes
-                                       that have to be dropped.  */
-                                    nzeroes = 0;
-                                    if ((flags & FLAG_ALT) == 0)
-                                      while (nzeroes < ndigits
-                                             && digits[nzeroes] == '0')
-                                        nzeroes++;
-
-                                    /* The exponent is now determined.  */
-                                    if (exponent >= -4
-                                        && exponent < (long)precision)
-                                      {
-                                        /* Fixed-point notation:
-                                           max(exponent,0)+1 digits, then the
-                                           decimal point, then the remaining
-                                           digits without trailing zeroes.  */
-                                        if (exponent >= 0)
-                                          {
-                                            size_t count = exponent + 1;
-                                            /* Note: count <= precision = 
ndigits.  */
-                                            for (; count > 0; count--)
-                                              *p++ = digits[--ndigits];
-                                            if ((flags & FLAG_ALT) || ndigits 
> nzeroes)
-                                              {
-                                                *p++ = decimal_point_char ();
-                                                while (ndigits > nzeroes)
-                                                  {
-                                                    --ndigits;
-                                                    *p++ = digits[ndigits];
-                                                  }
-                                              }
-                                          }
-                                        else
-                                          {
-                                            size_t count = -exponent - 1;
-                                            *p++ = '0';
-                                            *p++ = decimal_point_char ();
-                                            for (; count > 0; count--)
-                                              *p++ = '0';
-                                            while (ndigits > nzeroes)
-                                              {
-                                                --ndigits;
-                                                *p++ = digits[ndigits];
-                                              }
-                                          }
-                                      }
-                                    else
-                                      {
-                                        /* Exponential notation.  */
-                                        *p++ = digits[--ndigits];
-                                        if ((flags & FLAG_ALT) || ndigits > 
nzeroes)
-                                          {
-                                            *p++ = decimal_point_char ();
-                                            while (ndigits > nzeroes)
-                                              {
-                                                --ndigits;
-                                                *p++ = digits[ndigits];
-                                              }
-                                          }
-                                        *p++ = dp->conversion - 'G' + 'E'; /* 
'e' or 'E' */
-#   if WIDE_CHAR_VERSION
-                                        {
-                                          static const wchar_t 
decimal_format[] =
-                                            /* Produce the same number of 
exponent digits
-                                               as the native printf 
implementation.  */
-#    if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-                                            { '%', '+', '.', '3', 'd', '\0' };
-#    else
-                                            { '%', '+', '.', '2', 'd', '\0' };
-#    endif
-                                          SNPRINTF (p, 6 + 1, decimal_format, 
exponent);
-                                        }
-                                        while (*p != '\0')
-                                          p++;
-#   else
-                                        {
-                                          static const char decimal_format[] =
-                                            /* Produce the same number of 
exponent digits
-                                               as the native printf 
implementation.  */
-#    if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-                                            "%+.3d";
-#    else
-                                            "%+.2d";
-#    endif
-                                          if (sizeof (DCHAR_T) == 1)
-                                            {
-                                              sprintf ((char *) p, 
decimal_format, exponent);
-                                              while (*p != '\0')
-                                                p++;
-                                            }
-                                          else
-                                            {
-                                              char expbuf[6 + 1];
-                                              const char *ep;
-                                              sprintf (expbuf, decimal_format, 
exponent);
-                                              for (ep = expbuf; (*p = *ep) != 
'\0'; ep++)
-                                                p++;
-                                            }
-                                        }
-#   endif
-                                      }
-
-                                    free (digits);
-                                  }
-                              }
-                            else
-                              abort ();
-#  else
-                            /* arg is finite.  */
-                            if (!(arg == 0.0))
-                              abort ();
-
-                            pad_ptr = p;
-
-                            if (dp->conversion == 'f' || dp->conversion == 'F')
-                              {
-                                *p++ = '0';
-                                if ((flags & FLAG_ALT) || precision > 0)
-                                  {
-                                    *p++ = decimal_point_char ();
-                                    for (; precision > 0; precision--)
-                                      *p++ = '0';
-                                  }
-                              }
-                            else if (dp->conversion == 'e' || dp->conversion 
== 'E')
-                              {
-                                *p++ = '0';
-                                if ((flags & FLAG_ALT) || precision > 0)
-                                  {
-                                    *p++ = decimal_point_char ();
-                                    for (; precision > 0; precision--)
-                                      *p++ = '0';
-                                  }
-                                *p++ = dp->conversion; /* 'e' or 'E' */
-                                *p++ = '+';
-                                /* Produce the same number of exponent digits 
as
-                                   the native printf implementation.  */
-#   if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-                                *p++ = '0';
-#   endif
-                                *p++ = '0';
-                                *p++ = '0';
-                              }
-                            else if (dp->conversion == 'g' || dp->conversion 
== 'G')
-                              {
-                                *p++ = '0';
-                                if (flags & FLAG_ALT)
-                                  {
-                                    size_t ndigits =
-                                      (precision > 0 ? precision - 1 : 0);
-                                    *p++ = decimal_point_char ();
-                                    for (; ndigits > 0; --ndigits)
-                                      *p++ = '0';
-                                  }
-                              }
-                            else
-                              abort ();
-#  endif
-                          }
-                      }
-                  }
-# endif
-
-                /* The generated string now extends from tmp to p, with the
-                   zero padding insertion point being at pad_ptr.  */
-                if (has_width && p - tmp < width)
-                  {
-                    size_t pad = width - (p - tmp);
-                    DCHAR_T *end = p + pad;
-
-                    if (flags & FLAG_LEFT)
-                      {
-                        /* Pad with spaces on the right.  */
-                        for (; pad > 0; pad--)
-                          *p++ = ' ';
-                      }
-                    else if ((flags & FLAG_ZERO) && pad_ptr != NULL)
-                      {
-                        /* Pad with zeroes.  */
-                        DCHAR_T *q = end;
-
-                        while (p > pad_ptr)
-                          *--q = *--p;
-                        for (; pad > 0; pad--)
-                          *p++ = '0';
-                      }
-                    else
-                      {
-                        /* Pad with spaces on the left.  */
-                        DCHAR_T *q = end;
-
-                        while (p > tmp)
-                          *--q = *--p;
-                        for (; pad > 0; pad--)
-                          *p++ = ' ';
-                      }
-
-                    p = end;
-                  }
-
-                {
-                  size_t count = p - tmp;
-
-                  if (count >= tmp_length)
-                    /* tmp_length was incorrectly calculated - fix the
-                       code above!  */
-                    abort ();
-
-                  /* Make room for the result.  */
-                  if (count >= allocated - length)
-                    {
-                      size_t n = xsum (length, count);
-
-                      ENSURE_ALLOCATION (n);
-                    }
-
-                  /* Append the result.  */
-                  memcpy (result + length, tmp, count * sizeof (DCHAR_T));
-                  if (tmp != tmpbuf)
-                    free (tmp);
-                  length += count;
-                }
-              }
-#endif
-            else
-              {
-                arg_type type = a.arg[dp->arg_index].type;
-                int flags = dp->flags;
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || 
ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || 
NEED_PRINTF_UNBOUNDED_PRECISION
-                int has_width;
-                size_t width;
-#endif
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || 
NEED_PRINTF_UNBOUNDED_PRECISION
-                int has_precision;
-                size_t precision;
-#endif
-#if NEED_PRINTF_UNBOUNDED_PRECISION
-                int prec_ourselves;
-#else
-#               define prec_ourselves 0
-#endif
-#if NEED_PRINTF_FLAG_LEFTADJUST
-#               define pad_ourselves 1
-#elif !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || 
NEED_PRINTF_UNBOUNDED_PRECISION
-                int pad_ourselves;
-#else
-#               define pad_ourselves 0
-#endif
-                TCHAR_T *fbp;
-                unsigned int prefix_count;
-                int prefixes[2] IF_LINT (= { 0 });
-                int orig_errno;
-#if !USE_SNPRINTF
-                size_t tmp_length;
-                TCHAR_T tmpbuf[700];
-                TCHAR_T *tmp;
-#endif
-
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || !DCHAR_IS_TCHAR || 
ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || NEED_PRINTF_FLAG_ZERO || 
NEED_PRINTF_UNBOUNDED_PRECISION
-                has_width = 0;
-                width = 0;
-                if (dp->width_start != dp->width_end)
-                  {
-                    if (dp->width_arg_index != ARG_NONE)
-                      {
-                        int arg;
-
-                        if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
-                          abort ();
-                        arg = a.arg[dp->width_arg_index].a.a_int;
-                        if (arg < 0)
-                          {
-                            /* "A negative field width is taken as a '-' flag
-                                followed by a positive field width."  */
-                            flags |= FLAG_LEFT;
-                            width = (unsigned int) (-arg);
-                          }
-                        else
-                          width = arg;
-                      }
-                    else
-                      {
-                        const FCHAR_T *digitp = dp->width_start;
-
-                        do
-                          width = xsum (xtimes (width, 10), *digitp++ - '0');
-                        while (digitp != dp->width_end);
-                      }
-                    has_width = 1;
-                  }
-#endif
-
-#if !USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || 
NEED_PRINTF_UNBOUNDED_PRECISION
-                has_precision = 0;
-                precision = 6;
-                if (dp->precision_start != dp->precision_end)
-                  {
-                    if (dp->precision_arg_index != ARG_NONE)
-                      {
-                        int arg;
-
-                        if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
-                          abort ();
-                        arg = a.arg[dp->precision_arg_index].a.a_int;
-                        /* "A negative precision is taken as if the precision
-                            were omitted."  */
-                        if (arg >= 0)
-                          {
-                            precision = arg;
-                            has_precision = 1;
-                          }
-                      }
-                    else
-                      {
-                        const FCHAR_T *digitp = dp->precision_start + 1;
-
-                        precision = 0;
-                        while (digitp != dp->precision_end)
-                          precision = xsum (xtimes (precision, 10), *digitp++ 
- '0');
-                        has_precision = 1;
-                      }
-                  }
-#endif
-
-                /* Decide whether to handle the precision ourselves.  */
-#if NEED_PRINTF_UNBOUNDED_PRECISION
-                switch (dp->conversion)
-                  {
-                  case 'd': case 'i': case 'u':
-                  case 'o':
-                  case 'x': case 'X': case 'p':
-                    prec_ourselves = has_precision && (precision > 0);
-                    break;
-                  default:
-                    prec_ourselves = 0;
-                    break;
-                  }
-#endif
-
-                /* Decide whether to perform the padding ourselves.  */
-#if !NEED_PRINTF_FLAG_LEFTADJUST && (!DCHAR_IS_TCHAR || ENABLE_UNISTDIO || 
NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION)
-                switch (dp->conversion)
-                  {
-# if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO
-                  /* If we need conversion from TCHAR_T[] to DCHAR_T[], we need
-                     to perform the padding after this conversion.  Functions
-                     with unistdio extensions perform the padding based on
-                     character count rather than element count.  */
-                  case 'c': case 's':
-# endif
-# if NEED_PRINTF_FLAG_ZERO
-                  case 'f': case 'F': case 'e': case 'E': case 'g': case 'G':
-                  case 'a': case 'A':
-# endif
-                    pad_ourselves = 1;
-                    break;
-                  default:
-                    pad_ourselves = prec_ourselves;
-                    break;
-                  }
-#endif
-
-#if !USE_SNPRINTF
-                /* Allocate a temporary buffer of sufficient size for calling
-                   sprintf.  */
-                tmp_length =
-                  MAX_ROOM_NEEDED (&a, dp->arg_index, dp->conversion, type,
-                                   flags, width, has_precision, precision,
-                                   pad_ourselves);
-
-                if (tmp_length <= sizeof (tmpbuf) / sizeof (TCHAR_T))
-                  tmp = tmpbuf;
-                else
-                  {
-                    size_t tmp_memsize = xtimes (tmp_length, sizeof (TCHAR_T));
-
-                    if (size_overflow_p (tmp_memsize))
-                      /* Overflow, would lead to out of memory.  */
-                      goto out_of_memory;
-                    tmp = (TCHAR_T *) malloc (tmp_memsize);
-                    if (tmp == NULL)
-                      /* Out of memory.  */
-                      goto out_of_memory;
-                  }
-#endif
-
-                /* Construct the format string for calling snprintf or
-                   sprintf.  */
-                fbp = buf;
-                *fbp++ = '%';
-#if NEED_PRINTF_FLAG_GROUPING
-                /* The underlying implementation doesn't support the ' flag.
-                   Produce no grouping characters in this case; this is
-                   acceptable because the grouping is locale dependent.  */
-#else
-                if (flags & FLAG_GROUP)
-                  *fbp++ = '\'';
-#endif
-                if (flags & FLAG_LEFT)
-                  *fbp++ = '-';
-                if (flags & FLAG_SHOWSIGN)
-                  *fbp++ = '+';
-                if (flags & FLAG_SPACE)
-                  *fbp++ = ' ';
-                if (flags & FLAG_ALT)
-                  *fbp++ = '#';
-#if __GLIBC__ >= 2 && !defined __UCLIBC__
-                if (flags & FLAG_LOCALIZED)
-                  *fbp++ = 'I';
-#endif
-                if (!pad_ourselves)
-                  {
-                    if (flags & FLAG_ZERO)
-                      *fbp++ = '0';
-                    if (dp->width_start != dp->width_end)
-                      {
-                        size_t n = dp->width_end - dp->width_start;
-                        /* The width specification is known to consist only
-                           of standard ASCII characters.  */
-                        if (sizeof (FCHAR_T) == sizeof (TCHAR_T))
-                          {
-                            memcpy (fbp, dp->width_start, n * sizeof 
(TCHAR_T));
-                            fbp += n;
-                          }
-                        else
-                          {
-                            const FCHAR_T *mp = dp->width_start;
-                            do
-                              *fbp++ = (unsigned char) *mp++;
-                            while (--n > 0);
-                          }
-                      }
-                  }
-                if (!prec_ourselves)
-                  {
-                    if (dp->precision_start != dp->precision_end)
-                      {
-                        size_t n = dp->precision_end - dp->precision_start;
-                        /* The precision specification is known to consist only
-                           of standard ASCII characters.  */
-                        if (sizeof (FCHAR_T) == sizeof (TCHAR_T))
-                          {
-                            memcpy (fbp, dp->precision_start, n * sizeof 
(TCHAR_T));
-                            fbp += n;
-                          }
-                        else
-                          {
-                            const FCHAR_T *mp = dp->precision_start;
-                            do
-                              *fbp++ = (unsigned char) *mp++;
-                            while (--n > 0);
-                          }
-                      }
-                  }
-
-                switch (type)
-                  {
-#if HAVE_LONG_LONG_INT
-                  case TYPE_LONGLONGINT:
-                  case TYPE_ULONGLONGINT:
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-                    *fbp++ = 'I';
-                    *fbp++ = '6';
-                    *fbp++ = '4';
-                    break;
-# else
-                    *fbp++ = 'l';
-                    /*FALLTHROUGH*/
-# endif
-#endif
-                  case TYPE_LONGINT:
-                  case TYPE_ULONGINT:
-#if HAVE_WINT_T
-                  case TYPE_WIDE_CHAR:
-#endif
-#if HAVE_WCHAR_T
-                  case TYPE_WIDE_STRING:
-#endif
-                    *fbp++ = 'l';
-                    break;
-                  case TYPE_LONGDOUBLE:
-                    *fbp++ = 'L';
-                    break;
-                  default:
-                    break;
-                  }
-#if NEED_PRINTF_DIRECTIVE_F
-                if (dp->conversion == 'F')
-                  *fbp = 'f';
-                else
-#endif
-                  *fbp = dp->conversion;
-#if USE_SNPRINTF
-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && 
!defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined 
__CYGWIN__))
-                fbp[1] = '%';
-                fbp[2] = 'n';
-                fbp[3] = '\0';
-# else
-                /* On glibc2 systems from glibc >= 2.3 - probably also older
-                   ones - we know that snprintf's return value conforms to
-                   ISO C 99: the tests gl_SNPRINTF_RETVAL_C99 and
-                   gl_SNPRINTF_TRUNCATION_C99 pass.
-                   Therefore we can avoid using %n in this situation.
-                   On glibc2 systems from 2004-10-18 or newer, the use of %n
-                   in format strings in writable memory may crash the program
-                   (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
-                   in this situation.  */
-                /* On native Windows systems (such as mingw), we can avoid 
using
-                   %n because:
-                     - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
-                       snprintf does not write more than the specified number
-                       of bytes. (snprintf (buf, 3, "%d %d", 4567, 89) writes
-                       '4', '5', '6' into buf, not '4', '5', '\0'.)
-                     - Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf
-                       allows us to recognize the case of an insufficient
-                       buffer size: it returns -1 in this case.
-                   On native Windows systems (such as mingw) where the OS is
-                   Windows Vista, the use of %n in format strings by default
-                   crashes the program. See
-                     <http://gcc.gnu.org/ml/gcc/2007-06/msg00122.html> and
-                     
<http://msdn2.microsoft.com/en-us/library/ms175782(VS.80).aspx>
-                   So we should avoid %n in this situation.  */
-                fbp[1] = '\0';
-# endif
-#else
-                fbp[1] = '\0';
-#endif
-
-                /* Construct the arguments for calling snprintf or sprintf.  */
-                prefix_count = 0;
-                if (!pad_ourselves && dp->width_arg_index != ARG_NONE)
-                  {
-                    if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
-                      abort ();
-                    prefixes[prefix_count++] = 
a.arg[dp->width_arg_index].a.a_int;
-                  }
-                if (!prec_ourselves && dp->precision_arg_index != ARG_NONE)
-                  {
-                    if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
-                      abort ();
-                    prefixes[prefix_count++] = 
a.arg[dp->precision_arg_index].a.a_int;
-                  }
-
-#if USE_SNPRINTF
-                /* The SNPRINTF result is appended after result[0..length].
-                   The latter is an array of DCHAR_T; SNPRINTF appends an
-                   array of TCHAR_T to it.  This is possible because
-                   sizeof (TCHAR_T) divides sizeof (DCHAR_T) and
-                   alignof (TCHAR_T) <= alignof (DCHAR_T).  */
-# define TCHARS_PER_DCHAR (sizeof (DCHAR_T) / sizeof (TCHAR_T))
-                /* Ensure that maxlen below will be >= 2.  Needed on BeOS,
-                   where an snprintf() with maxlen==1 acts like sprintf().  */
-                ENSURE_ALLOCATION (xsum (length,
-                                         (2 + TCHARS_PER_DCHAR - 1)
-                                         / TCHARS_PER_DCHAR));
-                /* Prepare checking whether snprintf returns the count
-                   via %n.  */
-                *(TCHAR_T *) (result + length) = '\0';
-#endif
-
-                orig_errno = errno;
-
-                for (;;)
-                  {
-                    int count = -1;
-
-#if USE_SNPRINTF
-                    int retcount = 0;
-                    size_t maxlen = allocated - length;
-                    /* SNPRINTF can fail if its second argument is
-                       > INT_MAX.  */
-                    if (maxlen > INT_MAX / TCHARS_PER_DCHAR)
-                      maxlen = INT_MAX / TCHARS_PER_DCHAR;
-                    maxlen = maxlen * TCHARS_PER_DCHAR;
-# define SNPRINTF_BUF(arg) \
-                    switch (prefix_count)                                   \
-                      {                                                     \
-                      case 0:                                               \
-                        retcount = SNPRINTF ((TCHAR_T *) (result + length), \
-                                             maxlen, buf,                   \
-                                             arg, &count);                  \
-                        break;                                              \
-                      case 1:                                               \
-                        retcount = SNPRINTF ((TCHAR_T *) (result + length), \
-                                             maxlen, buf,                   \
-                                             prefixes[0], arg, &count);     \
-                        break;                                              \
-                      case 2:                                               \
-                        retcount = SNPRINTF ((TCHAR_T *) (result + length), \
-                                             maxlen, buf,                   \
-                                             prefixes[0], prefixes[1], arg, \
-                                             &count);                       \
-                        break;                                              \
-                      default:                                              \
-                        abort ();                                           \
-                      }
-#else
-# define SNPRINTF_BUF(arg) \
-                    switch (prefix_count)                                   \
-                      {                                                     \
-                      case 0:                                               \
-                        count = sprintf (tmp, buf, arg);                    \
-                        break;                                              \
-                      case 1:                                               \
-                        count = sprintf (tmp, buf, prefixes[0], arg);       \
-                        break;                                              \
-                      case 2:                                               \
-                        count = sprintf (tmp, buf, prefixes[0], prefixes[1],\
-                                         arg);                              \
-                        break;                                              \
-                      default:                                              \
-                        abort ();                                           \
-                      }
-#endif
-
-                    errno = 0;
-                    switch (type)
-                      {
-                      case TYPE_SCHAR:
-                        {
-                          int arg = a.arg[dp->arg_index].a.a_schar;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      case TYPE_UCHAR:
-                        {
-                          unsigned int arg = a.arg[dp->arg_index].a.a_uchar;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      case TYPE_SHORT:
-                        {
-                          int arg = a.arg[dp->arg_index].a.a_short;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      case TYPE_USHORT:
-                        {
-                          unsigned int arg = a.arg[dp->arg_index].a.a_ushort;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      case TYPE_INT:
-                        {
-                          int arg = a.arg[dp->arg_index].a.a_int;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      case TYPE_UINT:
-                        {
-                          unsigned int arg = a.arg[dp->arg_index].a.a_uint;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      case TYPE_LONGINT:
-                        {
-                          long int arg = a.arg[dp->arg_index].a.a_longint;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      case TYPE_ULONGINT:
-                        {
-                          unsigned long int arg = 
a.arg[dp->arg_index].a.a_ulongint;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-#if HAVE_LONG_LONG_INT
-                      case TYPE_LONGLONGINT:
-                        {
-                          long long int arg = 
a.arg[dp->arg_index].a.a_longlongint;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      case TYPE_ULONGLONGINT:
-                        {
-                          unsigned long long int arg = 
a.arg[dp->arg_index].a.a_ulonglongint;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-#endif
-                      case TYPE_DOUBLE:
-                        {
-                          double arg = a.arg[dp->arg_index].a.a_double;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      case TYPE_LONGDOUBLE:
-                        {
-                          long double arg = 
a.arg[dp->arg_index].a.a_longdouble;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      case TYPE_CHAR:
-                        {
-                          int arg = a.arg[dp->arg_index].a.a_char;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-#if HAVE_WINT_T
-                      case TYPE_WIDE_CHAR:
-                        {
-                          wint_t arg = a.arg[dp->arg_index].a.a_wide_char;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-#endif
-                      case TYPE_STRING:
-                        {
-                          const char *arg = a.arg[dp->arg_index].a.a_string;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-#if HAVE_WCHAR_T
-                      case TYPE_WIDE_STRING:
-                        {
-                          const wchar_t *arg = 
a.arg[dp->arg_index].a.a_wide_string;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-#endif
-                      case TYPE_POINTER:
-                        {
-                          void *arg = a.arg[dp->arg_index].a.a_pointer;
-                          SNPRINTF_BUF (arg);
-                        }
-                        break;
-                      default:
-                        abort ();
-                      }
-
-#if USE_SNPRINTF
-                    /* Portability: Not all implementations of snprintf()
-                       are ISO C 99 compliant.  Determine the number of
-                       bytes that snprintf() has produced or would have
-                       produced.  */
-                    if (count >= 0)
-                      {
-                        /* Verify that snprintf() has NUL-terminated its
-                           result.  */
-                        if (count < maxlen
-                            && ((TCHAR_T *) (result + length)) [count] != '\0')
-                          abort ();
-                        /* Portability hack.  */
-                        if (retcount > count)
-                          count = retcount;
-                      }
-                    else
-                      {
-                        /* snprintf() doesn't understand the '%n'
-                           directive.  */
-                        if (fbp[1] != '\0')
-                          {
-                            /* Don't use the '%n' directive; instead, look
-                               at the snprintf() return value.  */
-                            fbp[1] = '\0';
-                            continue;
-                          }
-                        else
-                          {
-                            /* Look at the snprintf() return value.  */
-                            if (retcount < 0)
-                              {
-# if !HAVE_SNPRINTF_RETVAL_C99
-                                /* HP-UX 10.20 snprintf() is doubly deficient:
-                                   It doesn't understand the '%n' directive,
-                                   *and* it returns -1 (rather than the length
-                                   that would have been required) when the
-                                   buffer is too small.
-                                   But a failure at this point can also come
-                                   from other reasons than a too small buffer,
-                                   such as an invalid wide string argument to
-                                   the %ls directive, or possibly an invalid
-                                   floating-point argument.  */
-                                size_t tmp_length =
-                                  MAX_ROOM_NEEDED (&a, dp->arg_index,
-                                                   dp->conversion, type, flags,
-                                                   has_width ? width : 0,
-                                                   has_precision,
-                                                   precision, pad_ourselves);
-
-                                if (maxlen < tmp_length)
-                                  {
-                                    /* Make more room.  But try to do through
-                                       this reallocation only once.  */
-                                    size_t bigger_need =
-                                      xsum (length,
-                                            xsum (tmp_length,
-                                                  TCHARS_PER_DCHAR - 1)
-                                            / TCHARS_PER_DCHAR);
-                                    /* And always grow proportionally.
-                                       (There may be several arguments, each
-                                       needing a little more room than the
-                                       previous one.)  */
-                                    size_t bigger_need2 =
-                                      xsum (xtimes (allocated, 2), 12);
-                                    if (bigger_need < bigger_need2)
-                                      bigger_need = bigger_need2;
-                                    ENSURE_ALLOCATION (bigger_need);
-                                    continue;
-                                  }
-# endif
-                              }
-                            else
-                              count = retcount;
-                          }
-                      }
-#endif
-
-                    /* Attempt to handle failure.  */
-                    if (count < 0)
-                      {
-                        /* SNPRINTF or sprintf failed.  Save and use the errno
-                           that it has set, if any.  */
-                        int saved_errno = errno;
-
-                        if (!(result == resultbuf || result == NULL))
-                          free (result);
-                        if (buf_malloced != NULL)
-                          free (buf_malloced);
-                        CLEANUP ();
-                        errno =
-                          (saved_errno != 0
-                           ? saved_errno
-                           : (dp->conversion == 'c' || dp->conversion == 's'
-                              ? EILSEQ
-                              : EINVAL));
-                        return NULL;
-                      }
-
-#if USE_SNPRINTF
-                    /* Handle overflow of the allocated buffer.
-                       If such an overflow occurs, a C99 compliant snprintf()
-                       returns a count >= maxlen.  However, a non-compliant
-                       snprintf() function returns only count = maxlen - 1.  To
-                       cover both cases, test whether count >= maxlen - 1.  */
-                    if ((unsigned int) count + 1 >= maxlen)
-                      {
-                        /* If maxlen already has attained its allowed maximum,
-                           allocating more memory will not increase maxlen.
-                           Instead of looping, bail out.  */
-                        if (maxlen == INT_MAX / TCHARS_PER_DCHAR)
-                          goto overflow;
-                        else
-                          {
-                            /* Need at least (count + 1) * sizeof (TCHAR_T)
-                               bytes.  (The +1 is for the trailing NUL.)
-                               But ask for (count + 2) * sizeof (TCHAR_T)
-                               bytes, so that in the next round, we likely get
-                                 maxlen > (unsigned int) count + 1
-                               and so we don't get here again.
-                               And allocate proportionally, to avoid looping
-                               eternally if snprintf() reports a too small
-                               count.  */
-                            size_t n =
-                              xmax (xsum (length,
-                                          ((unsigned int) count + 2
-                                           + TCHARS_PER_DCHAR - 1)
-                                          / TCHARS_PER_DCHAR),
-                                    xtimes (allocated, 2));
-
-                            ENSURE_ALLOCATION (n);
-                            continue;
-                          }
-                      }
-#endif
-
-#if NEED_PRINTF_UNBOUNDED_PRECISION
-                    if (prec_ourselves)
-                      {
-                        /* Handle the precision.  */
-                        TCHAR_T *prec_ptr =
-# if USE_SNPRINTF
-                          (TCHAR_T *) (result + length);
-# else
-                          tmp;
-# endif
-                        size_t prefix_count;
-                        size_t move;
-
-                        prefix_count = 0;
-                        /* Put the additional zeroes after the sign.  */
-                        if (count >= 1
-                            && (*prec_ptr == '-' || *prec_ptr == '+'
-                                || *prec_ptr == ' '))
-                          prefix_count = 1;
-                        /* Put the additional zeroes after the 0x prefix if
-                           (flags & FLAG_ALT) || (dp->conversion == 'p').  */
-                        else if (count >= 2
-                                 && prec_ptr[0] == '0'
-                                 && (prec_ptr[1] == 'x' || prec_ptr[1] == 'X'))
-                          prefix_count = 2;
-
-                        move = count - prefix_count;
-                        if (precision > move)
-                          {
-                            /* Insert zeroes.  */
-                            size_t insert = precision - move;
-                            TCHAR_T *prec_end;
-
-# if USE_SNPRINTF
-                            size_t n =
-                              xsum (length,
-                                    (count + insert + TCHARS_PER_DCHAR - 1)
-                                    / TCHARS_PER_DCHAR);
-                            length += (count + TCHARS_PER_DCHAR - 1) / 
TCHARS_PER_DCHAR;
-                            ENSURE_ALLOCATION (n);
-                            length -= (count + TCHARS_PER_DCHAR - 1) / 
TCHARS_PER_DCHAR;
-                            prec_ptr = (TCHAR_T *) (result + length);
-# endif
-
-                            prec_end = prec_ptr + count;
-                            prec_ptr += prefix_count;
-
-                            while (prec_end > prec_ptr)
-                              {
-                                prec_end--;
-                                prec_end[insert] = prec_end[0];
-                              }
-
-                            prec_end += insert;
-                            do
-                              *--prec_end = '0';
-                            while (prec_end > prec_ptr);
-
-                            count += insert;
-                          }
-                      }
-#endif
-
-#if !USE_SNPRINTF
-                    if (count >= tmp_length)
-                      /* tmp_length was incorrectly calculated - fix the
-                         code above!  */
-                      abort ();
-#endif
-
-#if !DCHAR_IS_TCHAR
-                    /* Convert from TCHAR_T[] to DCHAR_T[].  */
-                    if (dp->conversion == 'c' || dp->conversion == 's')
-                      {
-                        /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING
-                           TYPE_WIDE_STRING.
-                           The result string is not certainly ASCII.  */
-                        const TCHAR_T *tmpsrc;
-                        DCHAR_T *tmpdst;
-                        size_t tmpdst_len;
-                        /* This code assumes that TCHAR_T is 'char'.  */
-                        verify (sizeof (TCHAR_T) == 1);
-# if USE_SNPRINTF
-                        tmpsrc = (TCHAR_T *) (result + length);
-# else
-                        tmpsrc = tmp;
-# endif
-                        tmpdst =
-                          DCHAR_CONV_FROM_ENCODING (locale_charset (),
-                                                    iconveh_question_mark,
-                                                    tmpsrc, count,
-                                                    NULL,
-                                                    NULL, &tmpdst_len);
-                        if (tmpdst == NULL)
-                          {
-                            int saved_errno = errno;
-                            if (!(result == resultbuf || result == NULL))
-                              free (result);
-                            if (buf_malloced != NULL)
-                              free (buf_malloced);
-                            CLEANUP ();
-                            errno = saved_errno;
-                            return NULL;
-                          }
-                        ENSURE_ALLOCATION (xsum (length, tmpdst_len));
-                        DCHAR_CPY (result + length, tmpdst, tmpdst_len);
-                        free (tmpdst);
-                        count = tmpdst_len;
-                      }
-                    else
-                      {
-                        /* The result string is ASCII.
-                           Simple 1:1 conversion.  */
-# if USE_SNPRINTF
-                        /* If sizeof (DCHAR_T) == sizeof (TCHAR_T), it's a
-                           no-op conversion, in-place on the array starting
-                           at (result + length).  */
-                        if (sizeof (DCHAR_T) != sizeof (TCHAR_T))
-# endif
-                          {
-                            const TCHAR_T *tmpsrc;
-                            DCHAR_T *tmpdst;
-                            size_t n;
-
-# if USE_SNPRINTF
-                            if (result == resultbuf)
-                              {
-                                tmpsrc = (TCHAR_T *) (result + length);
-                                /* ENSURE_ALLOCATION will not move tmpsrc
-                                   (because it's part of resultbuf).  */
-                                ENSURE_ALLOCATION (xsum (length, count));
-                              }
-                            else
-                              {
-                                /* ENSURE_ALLOCATION will move the array
-                                   (because it uses realloc().  */
-                                ENSURE_ALLOCATION (xsum (length, count));
-                                tmpsrc = (TCHAR_T *) (result + length);
-                              }
-# else
-                            tmpsrc = tmp;
-                            ENSURE_ALLOCATION (xsum (length, count));
-# endif
-                            tmpdst = result + length;
-                            /* Copy backwards, because of overlapping.  */
-                            tmpsrc += count;
-                            tmpdst += count;
-                            for (n = count; n > 0; n--)
-                              *--tmpdst = (unsigned char) *--tmpsrc;
-                          }
-                      }
-#endif
-
-#if DCHAR_IS_TCHAR && !USE_SNPRINTF
-                    /* Make room for the result.  */
-                    if (count > allocated - length)
-                      {
-                        /* Need at least count elements.  But allocate
-                           proportionally.  */
-                        size_t n =
-                          xmax (xsum (length, count), xtimes (allocated, 2));
-
-                        ENSURE_ALLOCATION (n);
-                      }
-#endif
-
-                    /* Here count <= allocated - length.  */
-
-                    /* Perform padding.  */
-#if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_LEFTADJUST || 
NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION
-                    if (pad_ourselves && has_width)
-                      {
-                        size_t w;
-# if ENABLE_UNISTDIO
-                        /* Outside POSIX, it's preferable to compare the width
-                           against the number of _characters_ of the converted
-                           value.  */
-                        w = DCHAR_MBSNLEN (result + length, count);
-# else
-                        /* The width is compared against the number of _bytes_
-                           of the converted value, says POSIX.  */
-                        w = count;
-# endif
-                        if (w < width)
-                          {
-                            size_t pad = width - w;
-
-                            /* Make room for the result.  */
-                            if (xsum (count, pad) > allocated - length)
-                              {
-                                /* Need at least count + pad elements.  But
-                                   allocate proportionally.  */
-                                size_t n =
-                                  xmax (xsum3 (length, count, pad),
-                                        xtimes (allocated, 2));
-
-# if USE_SNPRINTF
-                                length += count;
-                                ENSURE_ALLOCATION (n);
-                                length -= count;
-# else
-                                ENSURE_ALLOCATION (n);
-# endif
-                              }
-                            /* Here count + pad <= allocated - length.  */
-
-                            {
-# if !DCHAR_IS_TCHAR || USE_SNPRINTF
-                              DCHAR_T * const rp = result + length;
-# else
-                              DCHAR_T * const rp = tmp;
-# endif
-                              DCHAR_T *p = rp + count;
-                              DCHAR_T *end = p + pad;
-                              DCHAR_T *pad_ptr;
-# if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO
-                              if (dp->conversion == 'c'
-                                  || dp->conversion == 's')
-                                /* No zero-padding for string directives.  */
-                                pad_ptr = NULL;
-                              else
-# endif
-                                {
-                                  pad_ptr = (*rp == '-' ? rp + 1 : rp);
-                                  /* No zero-padding of "inf" and "nan".  */
-                                  if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z')
-                                      || (*pad_ptr >= 'a' && *pad_ptr <= 'z'))
-                                    pad_ptr = NULL;
-                                }
-                              /* The generated string now extends from rp to p,
-                                 with the zero padding insertion point being at
-                                 pad_ptr.  */
-
-                              count = count + pad; /* = end - rp */
-
-                              if (flags & FLAG_LEFT)
-                                {
-                                  /* Pad with spaces on the right.  */
-                                  for (; pad > 0; pad--)
-                                    *p++ = ' ';
-                                }
-                              else if ((flags & FLAG_ZERO) && pad_ptr != NULL)
-                                {
-                                  /* Pad with zeroes.  */
-                                  DCHAR_T *q = end;
-
-                                  while (p > pad_ptr)
-                                    *--q = *--p;
-                                  for (; pad > 0; pad--)
-                                    *p++ = '0';
-                                }
-                              else
-                                {
-                                  /* Pad with spaces on the left.  */
-                                  DCHAR_T *q = end;
-
-                                  while (p > rp)
-                                    *--q = *--p;
-                                  for (; pad > 0; pad--)
-                                    *p++ = ' ';
-                                }
-                            }
-                          }
-                      }
-#endif
-
-                    /* Here still count <= allocated - length.  */
-
-#if !DCHAR_IS_TCHAR || USE_SNPRINTF
-                    /* The snprintf() result did fit.  */
-#else
-                    /* Append the sprintf() result.  */
-                    memcpy (result + length, tmp, count * sizeof (DCHAR_T));
-#endif
-#if !USE_SNPRINTF
-                    if (tmp != tmpbuf)
-                      free (tmp);
-#endif
-
-#if NEED_PRINTF_DIRECTIVE_F
-                    if (dp->conversion == 'F')
-                      {
-                        /* Convert the %f result to upper case for %F.  */
-                        DCHAR_T *rp = result + length;
-                        size_t rc;
-                        for (rc = count; rc > 0; rc--, rp++)
-                          if (*rp >= 'a' && *rp <= 'z')
-                            *rp = *rp - 'a' + 'A';
-                      }
-#endif
-
-                    length += count;
-                    break;
-                  }
-                errno = orig_errno;
-#undef pad_ourselves
-#undef prec_ourselves
-              }
-          }
-      }
-
-    /* Add the final NUL.  */
-    ENSURE_ALLOCATION (xsum (length, 1));
-    result[length] = '\0';
-
-    if (result != resultbuf && length + 1 < allocated)
-      {
-        /* Shrink the allocated memory if possible.  */
-        DCHAR_T *memory;
-
-        memory = (DCHAR_T *) realloc (result, (length + 1) * sizeof (DCHAR_T));
-        if (memory != NULL)
-          result = memory;
-      }
-
-    if (buf_malloced != NULL)
-      free (buf_malloced);
-    CLEANUP ();
-    *lengthp = length;
-    /* Note that we can produce a big string of a length > INT_MAX.  POSIX
-       says that snprintf() fails with errno = EOVERFLOW in this case, but
-       that's only because snprintf() returns an 'int'.  This function does
-       not have this limitation.  */
-    return result;
-
-#if USE_SNPRINTF
-  overflow:
-    if (!(result == resultbuf || result == NULL))
-      free (result);
-    if (buf_malloced != NULL)
-      free (buf_malloced);
-    CLEANUP ();
-    errno = EOVERFLOW;
-    return NULL;
-#endif
-
-  out_of_memory:
-    if (!(result == resultbuf || result == NULL))
-      free (result);
-    if (buf_malloced != NULL)
-      free (buf_malloced);
-  out_of_memory_1:
-    CLEANUP ();
-    errno = ENOMEM;
-    return NULL;
-  }
-}
-
-#undef MAX_ROOM_NEEDED
-#undef TCHARS_PER_DCHAR
-#undef SNPRINTF
-#undef USE_SNPRINTF
-#undef DCHAR_SET
-#undef DCHAR_CPY
-#undef PRINTF_PARSE
-#undef DIRECTIVES
-#undef DIRECTIVE
-#undef DCHAR_IS_TCHAR
-#undef TCHAR_T
-#undef DCHAR_T
-#undef FCHAR_T
-#undef VASNPRINTF
diff --git a/gl/vasnprintf.h b/gl/vasnprintf.h
deleted file mode 100644
index 7658f50..0000000
--- a/gl/vasnprintf.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* vsprintf with automatic memory allocation.
-   Copyright (C) 2002-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, 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 _VASNPRINTF_H
-#define _VASNPRINTF_H
-
-/* Get va_list.  */
-#include <stdarg.h>
-
-/* Get size_t.  */
-#include <stddef.h>
-
-/* The __attribute__ feature is available in gcc versions 2.5 and later.
-   The __-protected variants of the attributes 'format' and 'printf' are
-   accepted by gcc versions 2.6.4 (effectively 2.7) and later.
-   We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
-   gnulib and libintl do '#define printf __printf__' when they override
-   the 'printf' function.  */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
-#else
-# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Write formatted output to a string dynamically allocated with malloc().
-   You can pass a preallocated buffer for the result in RESULTBUF and its
-   size in *LENGTHP; otherwise you pass RESULTBUF = NULL.
-   If successful, return the address of the string (this may be = RESULTBUF
-   if no dynamic memory allocation was necessary) and set *LENGTHP to the
-   number of resulting bytes, excluding the trailing NUL.  Upon error, set
-   errno and return NULL.
-
-   When dynamic memory allocation occurs, the preallocated buffer is left
-   alone (with possibly modified contents).  This makes it possible to use
-   a statically allocated or stack-allocated buffer, like this:
-
-          char buf[100];
-          size_t len = sizeof (buf);
-          char *output = vasnprintf (buf, &len, format, args);
-          if (output == NULL)
-            ... error handling ...;
-          else
-            {
-              ... use the output string ...;
-              if (output != buf)
-                free (output);
-            }
-  */
-#if REPLACE_VASNPRINTF
-# define asnprintf rpl_asnprintf
-# define vasnprintf rpl_vasnprintf
-#endif
-extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, 
...)
-       _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4));
-extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char 
*format, va_list args)
-       _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 0));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _VASNPRINTF_H */
diff --git a/gl/verify.h b/gl/verify.h
index bf40b02..a25e514 100644
--- a/gl/verify.h
+++ b/gl/verify.h
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2014 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/gl/version-etc.c b/gl/version-etc.c
index b7d23ab..04f5b62 100644
--- a/gl/version-etc.c
+++ b/gl/version-etc.c
@@ -1,5 +1,5 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999-2014 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 @@
 # define PACKAGE PACKAGE_TARNAME
 #endif
 
-enum { COPYRIGHT_YEAR = 2013 };
+enum { COPYRIGHT_YEAR = 2014 };
 
 /* The three functions below display the --version information the
    standard way.
diff --git a/gl/version-etc.h b/gl/version-etc.h
index 6c3d084..8e1b2cc 100644
--- a/gl/version-etc.h
+++ b/gl/version-etc.h
@@ -1,5 +1,5 @@
 /* Print --version and bug-reporting information in a consistent format.
-   Copyright (C) 1999, 2003, 2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003, 2005, 2009-2014 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/gl/vfprintf.c b/gl/vfprintf.c
deleted file mode 100644
index fbcd004..0000000
--- a/gl/vfprintf.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Formatted output to a stream.
-   Copyright (C) 2004, 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/>.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-/* Specification.  */
-#include <stdio.h>
-
-#include <errno.h>
-#include <limits.h>
-#include <stdarg.h>
-#include <stdlib.h>
-
-#include "fseterr.h"
-#include "vasnprintf.h"
-
-/* Print formatted output to the stream FP.
-   Return string length of formatted string.  On error, return a negative
-   value.  */
-int
-vfprintf (FILE *fp, const char *format, va_list args)
-{
-  char buf[2000];
-  char *output;
-  size_t len;
-  size_t lenbuf = sizeof (buf);
-
-  output = vasnprintf (buf, &lenbuf, format, args);
-  len = lenbuf;
-
-  if (!output)
-    {
-      fseterr (fp);
-      return -1;
-    }
-
-  if (fwrite (output, 1, len, fp) < len)
-    {
-      if (output != buf)
-        {
-          int saved_errno = errno;
-          free (output);
-          errno = saved_errno;
-        }
-      return -1;
-    }
-
-  if (output != buf)
-    free (output);
-
-  if (len > INT_MAX)
-    {
-      errno = EOVERFLOW;
-      fseterr (fp);
-      return -1;
-    }
-
-  return len;
-}
diff --git a/gl/xsize.c b/gl/xsize.c
deleted file mode 100644
index 4b4914c..0000000
--- a/gl/xsize.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <config.h>
-#define XSIZE_INLINE _GL_EXTERN_INLINE
-#include "xsize.h"
diff --git a/gl/xsize.h b/gl/xsize.h
deleted file mode 100644
index 5675593..0000000
--- a/gl/xsize.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/* xsize.h -- Checked size_t computations.
-
-   Copyright (C) 2003, 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/>.  */
-
-#ifndef _XSIZE_H
-#define _XSIZE_H
-
-/* Get size_t.  */
-#include <stddef.h>
-
-/* Get SIZE_MAX.  */
-#include <limits.h>
-#if HAVE_STDINT_H
-# include <stdint.h>
-#endif
-
-#ifndef _GL_INLINE_HEADER_BEGIN
- #error "Please include config.h first."
-#endif
-_GL_INLINE_HEADER_BEGIN
-#ifndef XSIZE_INLINE
-# define XSIZE_INLINE _GL_INLINE
-#endif
-
-/* The size of memory objects is often computed through expressions of
-   type size_t. Example:
-      void* p = malloc (header_size + n * element_size).
-   These computations can lead to overflow.  When this happens, malloc()
-   returns a piece of memory that is way too small, and the program then
-   crashes while attempting to fill the memory.
-   To avoid this, the functions and macros in this file check for overflow.
-   The convention is that SIZE_MAX represents overflow.
-   malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc
-   implementation that uses mmap --, it's recommended to use size_overflow_p()
-   or size_in_bounds_p() before invoking malloc().
-   The example thus becomes:
-      size_t size = xsum (header_size, xtimes (n, element_size));
-      void *p = (size_in_bounds_p (size) ? malloc (size) : NULL);
-*/
-
-/* Convert an arbitrary value >= 0 to type size_t.  */
-#define xcast_size_t(N) \
-  ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX)
-
-/* Sum of two sizes, with overflow check.  */
-XSIZE_INLINE size_t
-#if __GNUC__ >= 3
-__attribute__ ((__pure__))
-#endif
-xsum (size_t size1, size_t size2)
-{
-  size_t sum = size1 + size2;
-  return (sum >= size1 ? sum : SIZE_MAX);
-}
-
-/* Sum of three sizes, with overflow check.  */
-XSIZE_INLINE size_t
-#if __GNUC__ >= 3
-__attribute__ ((__pure__))
-#endif
-xsum3 (size_t size1, size_t size2, size_t size3)
-{
-  return xsum (xsum (size1, size2), size3);
-}
-
-/* Sum of four sizes, with overflow check.  */
-XSIZE_INLINE size_t
-#if __GNUC__ >= 3
-__attribute__ ((__pure__))
-#endif
-xsum4 (size_t size1, size_t size2, size_t size3, size_t size4)
-{
-  return xsum (xsum (xsum (size1, size2), size3), size4);
-}
-
-/* Maximum of two sizes, with overflow check.  */
-XSIZE_INLINE size_t
-#if __GNUC__ >= 3
-__attribute__ ((__pure__))
-#endif
-xmax (size_t size1, size_t size2)
-{
-  /* No explicit check is needed here, because for any n:
-     max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX.  */
-  return (size1 >= size2 ? size1 : size2);
-}
-
-/* Multiplication of a count with an element size, with overflow check.
-   The count must be >= 0 and the element size must be > 0.
-   This is a macro, not a function, so that it works correctly even
-   when N is of a wider type and N > SIZE_MAX.  */
-#define xtimes(N, ELSIZE) \
-  ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX)
-
-/* Check for overflow.  */
-#define size_overflow_p(SIZE) \
-  ((SIZE) == SIZE_MAX)
-/* Check against overflow.  */
-#define size_in_bounds_p(SIZE) \
-  ((SIZE) != SIZE_MAX)
-
-_GL_INLINE_HEADER_END
-
-#endif /* _XSIZE_H */
diff --git a/gltests/Makefile.am b/gltests/Makefile.am
index a9003cb..171a71b 100644
--- a/gltests/Makefile.am
+++ b/gltests/Makefile.am
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 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
@@ -58,6 +58,29 @@ AM_LIBTOOLFLAGS = --preserve-dup-deps
 
 TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)'
 
+## begin gnulib module alloca-opt
+
+BUILT_SOURCES += $(ALLOCA_H)
+
+# We need the following in order to create <alloca.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_ALLOCA_H
+alloca.h: alloca.in.h $(top_builddir)/config.status
+       $(AM_V_GEN)rm -f address@hidden $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         cat $(srcdir)/alloca.in.h; \
+       } > address@hidden && \
+       mv -f address@hidden $@
+else
+alloca.h: $(top_builddir)/config.status
+       rm -f $@
+endif
+MOSTLYCLEANFILES += alloca.h alloca.h-t
+
+EXTRA_DIST += alloca.in.h
+
+## end   gnulib module alloca-opt
+
 ## begin gnulib module alloca-opt-tests
 
 TESTS += test-alloca-opt
@@ -209,14 +232,6 @@ EXTRA_DIST += test-fgetc.c signature.h macros.h
 
 ## end   gnulib module fgetc-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 fputc-tests
 
 TESTS += test-fputc
@@ -233,33 +248,6 @@ EXTRA_DIST += test-fread.c signature.h macros.h
 
 ## end   gnulib module fread-tests
 
-## begin gnulib module frexp-nolibm-tests
-
-TESTS += test-frexp-nolibm
-check_PROGRAMS += test-frexp-nolibm
-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
-
-## begin gnulib module frexpl-nolibm-tests
-
-TESTS += test-frexpl-nolibm
-check_PROGRAMS += test-frexpl-nolibm
-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 fseterr-tests
-
-TESTS += test-fseterr
-check_PROGRAMS += test-fseterr
-
-EXTRA_DIST += test-fseterr.c
-
-## end   gnulib module fseterr-tests
-
 ## begin gnulib module fstat
 
 
@@ -329,14 +317,23 @@ EXTRA_DIST += macros.h signature.h test-getopt.c 
test-getopt.h test-getopt_long.
 
 ## end   gnulib module getopt-posix-tests
 
-## begin gnulib module getpagesize
+## begin gnulib module gettimeofday
+
+
+EXTRA_DIST += gettimeofday.c
+
+EXTRA_libtests_a_SOURCES += gettimeofday.c
+
+## end   gnulib module gettimeofday
 
+## begin gnulib module gettimeofday-tests
 
-EXTRA_DIST += getpagesize.c
+TESTS += test-gettimeofday
+check_PROGRAMS += test-gettimeofday
 
-EXTRA_libtests_a_SOURCES += getpagesize.c
+EXTRA_DIST += signature.h test-gettimeofday.c
 
-## end   gnulib module getpagesize
+## end   gnulib module gettimeofday-tests
 
 ## begin gnulib module ignore-value
 
@@ -414,33 +411,6 @@ 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 infinity.h nan.h 
macros.h
-
-## end   gnulib module isnand-nolibm-tests
-
-## begin gnulib module isnanf-nolibm-tests
-
-TESTS += test-isnanf-nolibm
-check_PROGRAMS += test-isnanf-nolibm
-
-EXTRA_DIST += test-isnanf-nolibm.c test-isnanf.h minus-zero.h infinity.h nan.h 
macros.h
-
-## end   gnulib module isnanf-nolibm-tests
-
-## begin gnulib module isnanl-nolibm-tests
-
-TESTS += test-isnanl-nolibm
-check_PROGRAMS += test-isnanl-nolibm
-
-EXTRA_DIST += test-isnanl-nolibm.c test-isnanl.h minus-zero.h infinity.h nan.h 
macros.h
-
-## end   gnulib module isnanl-nolibm-tests
-
 ## begin gnulib module lstat
 
 
@@ -484,22 +454,6 @@ EXTRA_DIST += test-malloca.c
 
 ## end   gnulib module malloca-tests
 
-## begin gnulib module math-tests
-
-TESTS += test-math
-check_PROGRAMS += test-math
-EXTRA_DIST += test-math.c macros.h
-
-## end   gnulib module math-tests
-
-## begin gnulib module memchr-tests
-
-TESTS += test-memchr
-check_PROGRAMS += test-memchr
-EXTRA_DIST += test-memchr.c zerosize-ptr.h signature.h macros.h
-
-## end   gnulib module memchr-tests
-
 ## begin gnulib module open
 
 
@@ -532,22 +486,6 @@ EXTRA_DIST += test-pathmax.c
 
 ## end   gnulib module pathmax-tests
 
-## begin gnulib module printf-frexp-tests
-
-TESTS += test-printf-frexp
-check_PROGRAMS += test-printf-frexp
-EXTRA_DIST += test-printf-frexp.c macros.h
-
-## end   gnulib module printf-frexp-tests
-
-## begin gnulib module printf-frexpl-tests
-
-TESTS += test-printf-frexpl
-check_PROGRAMS += test-printf-frexpl
-EXTRA_DIST += test-printf-frexpl.c macros.h
-
-## end   gnulib module printf-frexpl-tests
-
 ## begin gnulib module putenv
 
 
@@ -581,15 +519,6 @@ EXTRA_DIST += test-setenv.c signature.h macros.h
 
 ## end   gnulib module setenv-tests
 
-## begin gnulib module signbit-tests
-
-TESTS += test-signbit
-check_PROGRAMS += test-signbit
-
-EXTRA_DIST += test-signbit.c minus-zero.h infinity.h macros.h
-
-## end   gnulib module signbit-tests
-
 ## begin gnulib module snippet/_Noreturn
 
 # Because this Makefile snippet defines a variable used by other
@@ -728,6 +657,56 @@ EXTRA_DIST += test-stddef.c
 
 ## end   gnulib module stddef-tests
 
+## begin gnulib module stdint
+
+BUILT_SOURCES += $(STDINT_H)
+
+# We need the following in order to create <stdint.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_STDINT_H
+stdint.h: stdint.in.h $(top_builddir)/config.status
+       $(AM_V_GEN)rm -f address@hidden $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_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_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+             -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
+             -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+             -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
+             -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
+             -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/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/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+             -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
+             -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
+             -e 
's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
+             -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
+             -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
+             -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
+             -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
+             -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
+             -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
+             -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
+             < $(srcdir)/stdint.in.h; \
+       } > address@hidden && \
+       mv address@hidden $@
+else
+stdint.h: $(top_builddir)/config.status
+       rm -f $@
+endif
+MOSTLYCLEANFILES += stdint.h stdint.h-t
+
+EXTRA_DIST += stdint.in.h
+
+## end   gnulib module stdint
+
 ## begin gnulib module stdint-tests
 
 TESTS += test-stdint
@@ -934,6 +913,48 @@ EXTRA_DIST += sys_stat.in.h
 
 ## end   gnulib module sys_stat
 
+## begin gnulib module sys_time
+
+BUILT_SOURCES += sys/time.h
+
+# We need the following in order to create <sys/time.h> when the system
+# doesn't have one that works with the given compiler.
+sys/time.h: sys_time.in.h $(top_builddir)/config.status $(CXXDEFS_H) 
$(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(AM_V_at)$(MKDIR_P) sys
+       $(AM_V_GEN)rm -f address@hidden $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_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_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
+             -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
+             -e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
+             -e 's/@''HAVE_GETTIMEOFDAY''@/$(HAVE_GETTIMEOFDAY)/g' \
+             -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
+             -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
+             -e 's/@''REPLACE_STRUCT_TIMEVAL''@/$(REPLACE_STRUCT_TIMEVAL)/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)/sys_time.in.h; \
+       } > address@hidden && \
+       mv address@hidden $@
+MOSTLYCLEANFILES += sys/time.h sys/time.h-t
+
+EXTRA_DIST += sys_time.in.h
+
+## end   gnulib module sys_time
+
+## begin gnulib module sys_time-tests
+
+TESTS += test-sys_time
+check_PROGRAMS += test-sys_time
+EXTRA_DIST += test-sys_time.c
+
+## end   gnulib module sys_time-tests
+
 ## begin gnulib module sys_types-tests
 
 TESTS += test-sys_types
@@ -964,6 +985,7 @@ time.h: time.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) $(ARG_NONNULL_H) $(
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
+             -e 's/@''GNULIB_GETTIMEOFDAY''@/$(GNULIB_GETTIMEOFDAY)/g' \
              -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
              -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
              -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
@@ -973,6 +995,8 @@ time.h: time.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) $(ARG_NONNULL_H) $(
              -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
              -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
              -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+             -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \
+             -e 's|@''REPLACE_LOCALTIME''@|$(REPLACE_LOCALTIME)|g' \
              -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
              -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
              -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
@@ -1009,15 +1033,6 @@ EXTRA_DIST += test-unsetenv.c signature.h macros.h
 
 ## end   gnulib module unsetenv-tests
 
-## begin gnulib module vasnprintf-tests
-
-TESTS += test-vasnprintf
-check_PROGRAMS += test-vasnprintf
-
-EXTRA_DIST += test-vasnprintf.c macros.h
-
-## end   gnulib module vasnprintf-tests
-
 ## begin gnulib module vc-list-files-tests
 
 TESTS += test-vc-list-files-git.sh
@@ -1051,13 +1066,126 @@ EXTRA_DIST += test-version-etc.c test-version-etc.sh
 
 ## end   gnulib module version-etc-tests
 
-## begin gnulib module vfprintf-posix-tests
+## begin gnulib module wchar
+
+BUILT_SOURCES += wchar.h
+
+# We need the following in order to create <wchar.h> when the system
+# version does not work standalone.
+wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) 
$(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(AM_V_GEN)rm -f address@hidden $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's|@''GUARD_PREFIX''@|GL|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|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
+             -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
+             -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
+             -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
+             -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
+             -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
+             -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
+             -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
+             -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
+             -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
+             -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
+             -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
+             -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
+             -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
+             -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
+             -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
+             -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
+             -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
+             -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
+             -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
+             -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
+             -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
+             -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
+             -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
+             -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
+             -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
+             -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
+             -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
+             -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
+             -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
+             -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
+             -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
+             -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
+             -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
+             -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
+             -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
+             -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
+             -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
+             -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
+             -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
+             -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
+             -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
+             < $(srcdir)/wchar.in.h | \
+         sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
+             -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
+             -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
+             -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
+             -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
+             -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
+             -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
+             -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
+             -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
+             -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
+             -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
+             -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
+             -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
+             -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
+             -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
+             -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
+             -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
+             -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
+             -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
+             -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
+             -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
+             -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
+             -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
+             -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
+             -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
+             -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
+             -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
+             -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
+             -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
+             -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
+             -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
+             -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
+             -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
+             -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
+             -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
+             -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
+             -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
+             -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
+             -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
+             -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
+         | \
+         sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
+             -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
+             -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
+             -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
+             -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
+             -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
+             -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
+             -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
+             -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
+             -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
+             -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
+             -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
+             -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|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)'; \
+       } > address@hidden && \
+       mv address@hidden $@
+MOSTLYCLEANFILES += wchar.h wchar.h-t
 
-TESTS += test-vfprintf-posix.sh
-check_PROGRAMS += test-vfprintf-posix
-EXTRA_DIST += test-vfprintf-posix.sh test-vfprintf-posix.c 
test-fprintf-posix.h test-printf-posix.output infinity.h signature.h macros.h
+EXTRA_DIST += wchar.in.h
 
-## end   gnulib module vfprintf-posix-tests
+## end   gnulib module wchar
 
 # Clean up after Solaris cc.
 clean-local:
diff --git a/gl/alloca.in.h b/gltests/alloca.in.h
similarity index 96%
rename from gl/alloca.in.h
rename to gltests/alloca.in.h
index 72d28ee..5de9aaa 100644
--- a/gl/alloca.in.h
+++ b/gltests/alloca.in.h
@@ -1,6 +1,6 @@
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2013 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2014 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/gltests/binary-io.h b/gltests/binary-io.h
index 423c2ae..7928f8c 100644
--- a/gltests/binary-io.h
+++ b/gltests/binary-io.h
@@ -1,5 +1,5 @@
 /* Binary mode I/O.
-   Copyright (C) 2001, 2003, 2005, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2005, 2008-2014 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/gltests/close.c b/gltests/close.c
index f620e54..d7dcb3f 100644
--- a/gltests/close.c
+++ b/gltests/close.c
@@ -1,5 +1,5 @@
 /* close replacement.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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/gltests/dosname.h b/gltests/dosname.h
index ba63ce4..b92adfa 100644
--- a/gltests/dosname.h
+++ b/gltests/dosname.h
@@ -1,6 +1,6 @@
 /* File names on MS-DOS/Windows systems.
 
-   Copyright (C) 2000-2001, 2004-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2000-2001, 2004-2006, 2009-2014 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/gltests/dup2.c b/gltests/dup2.c
index f128e7a..7de6805 100644
--- a/gltests/dup2.c
+++ b/gltests/dup2.c
@@ -1,6 +1,6 @@
 /* Duplicate an open file descriptor to a specified file descriptor.
 
-   Copyright (C) 1999, 2004-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2004-2007, 2009-2014 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/gltests/fcntl.in.h b/gltests/fcntl.in.h
index 1e45a65..e23b4b2 100644
--- a/gltests/fcntl.in.h
+++ b/gltests/fcntl.in.h
@@ -1,6 +1,6 @@
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2014 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
@@ -186,6 +186,22 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 
 /* Fix up the O_* macros.  */
 
+/* AIX 7.1 with XL C 12.1 defines O_CLOEXEC, O_NOFOLLOW, and O_TTY_INIT
+   to values outside 'int' range, so omit these misdefinitions.
+   But avoid namespace pollution on non-AIX systems.  */
+#ifdef _AIX
+# include <limits.h>
+# if defined O_CLOEXEC && ! (INT_MIN <= O_CLOEXEC && O_CLOEXEC <= INT_MAX)
+#  undef O_CLOEXEC
+# endif
+# if defined O_NOFOLLOW && ! (INT_MIN <= O_NOFOLLOW && O_NOFOLLOW <= INT_MAX)
+#  undef O_NOFOLLOW
+# endif
+# if defined O_TTY_INIT && ! (INT_MIN <= O_TTY_INIT && O_TTY_INIT <= INT_MAX)
+#  undef O_TTY_INIT
+# endif
+#endif
+
 #if !defined O_DIRECT && defined O_DIRECTIO
 /* Tru64 spells it 'O_DIRECTIO'.  */
 # define O_DIRECT O_DIRECTIO
diff --git a/gltests/fd-hook.c b/gltests/fd-hook.c
index e158a52..0171cc6 100644
--- a/gltests/fd-hook.c
+++ b/gltests/fd-hook.c
@@ -1,5 +1,5 @@
 /* Hook for making making file descriptor functions close(), ioctl() 
extensible.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2009.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/gltests/fd-hook.h b/gltests/fd-hook.h
index d15b577..1aa264e 100644
--- a/gltests/fd-hook.h
+++ b/gltests/fd-hook.h
@@ -1,5 +1,5 @@
 /* Hook for making making file descriptor functions close(), ioctl() 
extensible.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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
diff --git a/gltests/fdopen.c b/gltests/fdopen.c
index c717f71..eded1a6 100644
--- a/gltests/fdopen.c
+++ b/gltests/fdopen.c
@@ -1,5 +1,5 @@
 /* Open a stream with a given file descriptor.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/fstat.c b/gltests/fstat.c
index dc802f5..ffcda9f 100644
--- a/gltests/fstat.c
+++ b/gltests/fstat.c
@@ -1,5 +1,5 @@
 /* fstat() replacement.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/getcwd-lgpl.c b/gltests/getcwd-lgpl.c
index cebe8f7..044c000 100644
--- a/gltests/getcwd-lgpl.c
+++ b/gltests/getcwd-lgpl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
    This file is part of gnulib.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gltests/getdtablesize.c b/gltests/getdtablesize.c
index 355c17e..f0c6271 100644
--- a/gltests/getdtablesize.c
+++ b/gltests/getdtablesize.c
@@ -1,5 +1,5 @@
 /* getdtablesize() function for platforms that don't have it.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2008.
 
    This program is free software: you can redistribute it and/or modify
@@ -104,4 +104,12 @@ rpl_getdtablesize(void)
   return getdtablesize ();
 }
 
+#elif defined _SC_OPEN_MAX
+
+int
+getdtablesize (void)
+{
+  return sysconf (_SC_OPEN_MAX);
+}
+
 #endif
diff --git a/gltests/getpagesize.c b/gltests/getpagesize.c
deleted file mode 100644
index 274c591..0000000
--- a/gltests/getpagesize.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* getpagesize emulation for systems where it cannot be done in a C macro.
-
-   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 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 and Martin Lambers.  */
-
-#include <config.h>
-
-/* Specification. */
-#include <unistd.h>
-
-/* This implementation is only for native Windows systems.  */
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-
-int
-getpagesize (void)
-{
-  SYSTEM_INFO system_info;
-  GetSystemInfo (&system_info);
-  return system_info.dwPageSize;
-}
-
-#endif
diff --git a/gltests/gettimeofday.c b/gltests/gettimeofday.c
new file mode 100644
index 0000000..8b2058e
--- /dev/null
+++ b/gltests/gettimeofday.c
@@ -0,0 +1,154 @@
+/* Provide gettimeofday for systems that don't have it or for which it's 
broken.
+
+   Copyright (C) 2001-2003, 2005-2007, 2009-2014 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 Jim Meyering */
+
+#include <config.h>
+
+/* Specification.  */
+#include <sys/time.h>
+
+#include <time.h>
+
+#if HAVE_SYS_TIMEB_H
+# include <sys/timeb.h>
+#endif
+
+#if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME
+
+/* Work around the bug in some systems whereby gettimeofday clobbers
+   the static buffer that localtime uses for its return value.  The
+   gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has
+   this problem.  The tzset replacement is necessary for at least
+   Solaris 2.5, 2.5.1, and 2.6.  */
+
+static struct tm tm_zero_buffer;
+static struct tm *localtime_buffer_addr = &tm_zero_buffer;
+
+# undef localtime
+extern struct tm *localtime (time_t const *);
+
+# undef gmtime
+extern struct tm *gmtime (time_t const *);
+
+/* This is a wrapper for localtime.  It is used only on systems for which
+   gettimeofday clobbers the static buffer used for localtime's result.
+
+   On the first call, record the address of the static buffer that
+   localtime uses for its result.  */
+
+struct tm *
+rpl_localtime (time_t const *timep)
+{
+  struct tm *tm = localtime (timep);
+
+  if (localtime_buffer_addr == &tm_zero_buffer)
+    localtime_buffer_addr = tm;
+
+  return tm;
+}
+
+/* Same as above, since gmtime and localtime use the same buffer.  */
+struct tm *
+rpl_gmtime (time_t const *timep)
+{
+  struct tm *tm = gmtime (timep);
+
+  if (localtime_buffer_addr == &tm_zero_buffer)
+    localtime_buffer_addr = tm;
+
+  return tm;
+}
+
+#endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */
+
+#if TZSET_CLOBBERS_LOCALTIME
+
+# undef tzset
+extern void tzset (void);
+
+/* This is a wrapper for tzset, for systems on which tzset may clobber
+   the static buffer used for localtime's result.  */
+void
+rpl_tzset (void)
+{
+  /* Save and restore the contents of the buffer used for localtime's
+     result around the call to tzset.  */
+  struct tm save = *localtime_buffer_addr;
+  tzset ();
+  *localtime_buffer_addr = save;
+}
+#endif
+
+/* This is a wrapper for gettimeofday.  It is used only on systems
+   that lack this function, or whose implementation of this function
+   causes problems.  */
+
+int
+gettimeofday (struct timeval *restrict tv, void *restrict tz)
+{
+#undef gettimeofday
+#if HAVE_GETTIMEOFDAY
+# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
+  /* Save and restore the contents of the buffer used for localtime's
+     result around the call to gettimeofday.  */
+  struct tm save = *localtime_buffer_addr;
+# endif
+
+# if defined timeval /* 'struct timeval' overridden by gnulib?  */
+#  undef timeval
+  struct timeval otv;
+  int result = gettimeofday (&otv, (struct timezone *) tz);
+  if (result == 0)
+    {
+      tv->tv_sec = otv.tv_sec;
+      tv->tv_usec = otv.tv_usec;
+    }
+# else
+  int result = gettimeofday (tv, (struct timezone *) tz);
+# endif
+
+# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
+  *localtime_buffer_addr = save;
+# endif
+
+  return result;
+
+#else
+
+# if HAVE__FTIME
+
+  struct _timeb timebuf;
+  _ftime (&timebuf);
+  tv->tv_sec = timebuf.time;
+  tv->tv_usec = timebuf.millitm * 1000;
+
+# else
+
+#  if !defined OK_TO_USE_1S_CLOCK
+#   error "Only 1-second nominal clock resolution found.  Is that intended?" \
+          "If so, compile with the -DOK_TO_USE_1S_CLOCK option."
+#  endif
+  tv->tv_sec = time (NULL);
+  tv->tv_usec = 0;
+
+# endif
+
+  return 0;
+
+#endif
+}
diff --git a/gltests/ignore-value.h b/gltests/ignore-value.h
index ebd6bf4..4dd0946 100644
--- a/gltests/ignore-value.h
+++ b/gltests/ignore-value.h
@@ -1,6 +1,6 @@
 /* ignore a function return without a compiler warning
 
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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
@@ -35,9 +35,11 @@
 #ifndef _GL_IGNORE_VALUE_H
 #define _GL_IGNORE_VALUE_H
 
-/* The __attribute__((__warn_unused_result__)) feature
-   is available in gcc versions 3.4 and newer,
-   while the typeof feature has been available since 2.7 at least.  */
+/* Normally casting an expression to void discards its value, but GCC
+   versions 3.4 and newer have __attribute__ ((__warn_unused_result__))
+   which may cause unwanted diagnostics in that case.  Use __typeof__
+   and __extension__ to work around the problem, if the workaround is
+   known to be needed.  */
 #if 3 < __GNUC__ + (4 <= __GNUC_MINOR__)
 # define ignore_value(x) \
     (__extension__ ({ __typeof__ (x) __x = (x); (void) __x; }))
diff --git a/gltests/infinity.h b/gltests/infinity.h
deleted file mode 100644
index 9111289..0000000
--- a/gltests/infinity.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* 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/gltests/init.sh b/gltests/init.sh
index bd2048e..fbd293d 100644
--- a/gltests/init.sh
+++ b/gltests/init.sh
@@ -1,6 +1,6 @@
 # source this file; set up for tests
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 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
@@ -201,6 +201,8 @@ else
       *x*) opts_=-x ;;
       *) opts_= ;;
     esac
+    re_shell=$re_shell_
+    export re_shell
     exec "$re_shell_" $opts_ "$0" --no-reexec "$@"
     echo "$ME_: exec failed" 1>&2
     exit 127
diff --git a/gltests/inttypes.in.h b/gltests/inttypes.in.h
index 05a22ff..4b2a13b 100644
--- a/gltests/inttypes.in.h
+++ b/gltests/inttypes.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
diff --git a/gltests/lstat.c b/gltests/lstat.c
index 1a613a8..f70fd43 100644
--- a/gltests/lstat.c
+++ b/gltests/lstat.c
@@ -1,6 +1,6 @@
 /* Work around a bug of lstat on some systems
 
-   Copyright (C) 1997-2006, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 1997-2006, 2008-2014 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/gltests/macros.h b/gltests/macros.h
index 1ceb815..0d7e378 100644
--- a/gltests/macros.h
+++ b/gltests/macros.h
@@ -1,5 +1,5 @@
 /* Common macros used by gnulib tests.
-   Copyright (C) 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2014 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/gltests/malloc.c b/gltests/malloc.c
index 908735d..bc81c54 100644
--- a/gltests/malloc.c
+++ b/gltests/malloc.c
@@ -1,6 +1,6 @@
 /* malloc() function that is glibc compatible.
 
-   Copyright (C) 1997-1998, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 2009-2014 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/gltests/malloca.c b/gltests/malloca.c
index 311be56..370551c 100644
--- a/gltests/malloca.c
+++ b/gltests/malloca.c
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2003.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gltests/malloca.h b/gltests/malloca.h
index 6fbe45e..5071e46 100644
--- a/gltests/malloca.h
+++ b/gltests/malloca.h
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2003.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gltests/minus-zero.h b/gltests/minus-zero.h
deleted file mode 100644
index 5882cbf..0000000
--- a/gltests/minus-zero.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Macros for floating-point negative zero.
-   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/>.  */
-
-/* Keep in sync with m4/minus-zero.m4!  */
-
-#include <float.h>
-
-
-/* minus_zerof represents the value -0.0f.  */
-
-/* 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 Mac OS X 10.5.  */
-#if defined __hpux || defined __sgi || defined __ICC
-static float
-compute_minus_zerof (void)
-{
-  return -FLT_MIN * FLT_MIN;
-}
-# define minus_zerof compute_minus_zerof ()
-#else
-float minus_zerof = -0.0f;
-#endif
-
-
-/* minus_zerod represents the value -0.0.  */
-
-/* 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 Mac OS X 10.5.  */
-#if defined __hpux || defined __sgi || defined __ICC
-static double
-compute_minus_zerod (void)
-{
-  return -DBL_MIN * DBL_MIN;
-}
-# define minus_zerod compute_minus_zerod ()
-#else
-double minus_zerod = -0.0;
-#endif
-
-
-/* minus_zerol represents the value -0.0L.  */
-
-/* HP cc on HP-UX 10.20 has a bug with the constant expression -0.0L.
-   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 Mac OS X 10.5.  */
-#if defined __hpux || defined __sgi || defined __ICC
-static long double
-compute_minus_zerol (void)
-{
-  return -LDBL_MIN * LDBL_MIN;
-}
-# define minus_zerol compute_minus_zerol ()
-#else
-long double minus_zerol = -0.0L;
-#endif
diff --git a/gltests/nan.h b/gltests/nan.h
deleted file mode 100644
index e95ceb9..0000000
--- a/gltests/nan.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Macros for not-a-number.
-   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/>.  */
-
-
-/* NaNf () returns a 'float' not-a-number.  */
-
-/* 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 ()
-{
-  static float zero = 0.0f;
-  return zero / zero;
-}
-#else
-# define NaNf() (0.0f / 0.0f)
-#endif
-
-
-/* NaNd () returns a 'double' not-a-number.  */
-
-/* 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 ()
-{
-  static double zero = 0.0;
-  return zero / zero;
-}
-#else
-# define NaNd() (0.0 / 0.0)
-#endif
-
-
-/* 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.
-   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/gltests/open.c b/gltests/open.c
index a0c43ea..d6f8e0d 100644
--- a/gltests/open.c
+++ b/gltests/open.c
@@ -1,5 +1,5 @@
 /* Open a descriptor to a file.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/gltests/pathmax.h b/gltests/pathmax.h
index a9ddc33..33fc355 100644
--- a/gltests/pathmax.h
+++ b/gltests/pathmax.h
@@ -1,5 +1,5 @@
 /* Define PATH_MAX somehow.  Requires sys/types.h.
-   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2013 Free Software
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gltests/putenv.c b/gltests/putenv.c
index 5461273..b9f5079 100644
--- a/gltests/putenv.c
+++ b/gltests/putenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2013 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2014 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C
diff --git a/gltests/randomd.c b/gltests/randomd.c
deleted file mode 100644
index a3097ef..0000000
--- a/gltests/randomd.c
+++ /dev/null
@@ -1,1028 +0,0 @@
-/* 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/gltests/randoml.c b/gltests/randoml.c
deleted file mode 100644
index 4e854dd..0000000
--- a/gltests/randoml.c
+++ /dev/null
@@ -1,1028 +0,0 @@
-/* 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/gltests/same-inode.h b/gltests/same-inode.h
index 3843b07..584f606 100644
--- a/gltests/same-inode.h
+++ b/gltests/same-inode.h
@@ -1,6 +1,6 @@
 /* Determine whether two stat buffers refer to the same file.
 
-   Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2014 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/gltests/setenv.c b/gltests/setenv.c
index 995a0f2..06791a9 100644
--- a/gltests/setenv.c
+++ b/gltests/setenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2014 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
diff --git a/gltests/signature.h b/gltests/signature.h
index 45a8e02..0ae64e7 100644
--- a/gltests/signature.h
+++ b/gltests/signature.h
@@ -1,5 +1,5 @@
 /* Macro for checking that a function declaration is compliant.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/stat.c b/gltests/stat.c
index f888130..35f4b0b 100644
--- a/gltests/stat.c
+++ b/gltests/stat.c
@@ -1,5 +1,5 @@
 /* Work around platform bugs in stat.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/stdbool.in.h b/gltests/stdbool.in.h
index 7c15772..651e8df 100644
--- a/gltests/stdbool.in.h
+++ b/gltests/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/gl/stdint.in.h b/gltests/stdint.in.h
similarity index 99%
rename from gl/stdint.in.h
rename to gltests/stdint.in.h
index 2db8b2e..247f0d8 100644
--- a/gl/stdint.in.h
+++ b/gltests/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
@@ -38,8 +38,7 @@
    other system header files; just include the system's <stdint.h>.
    Ideally we should test __BIONIC__ here, but it is only defined after
    <sys/cdefs.h> has been included; hence test __ANDROID__ instead.  */
-#if defined __ANDROID__ \
-    && defined _SYS_TYPES_H_ && !defined __need_size_t
+#if defined __ANDROID__ && defined _GL_INCLUDING_SYS_TYPES_H
 # @INCLUDE_NEXT@ @NEXT_STDINT_H@
 #else
 
diff --git a/gltests/stdlib.in.h b/gltests/stdlib.in.h
index c955248..46e10db 100644
--- a/gltests/stdlib.in.h
+++ b/gltests/stdlib.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2014 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/gltests/symlink.c b/gltests/symlink.c
index d3c9f21..0e3fae2 100644
--- a/gltests/symlink.c
+++ b/gltests/symlink.c
@@ -1,5 +1,5 @@
 /* Stub for symlink().
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/sys_stat.in.h b/gltests/sys_stat.in.h
index acc3694..b47a7ff 100644
--- a/gltests/sys_stat.in.h
+++ b/gltests/sys_stat.in.h
@@ -1,5 +1,5 @@
 /* Provide a more complete sys/stat header file.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2014 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/gltests/sys_time.in.h b/gltests/sys_time.in.h
new file mode 100644
index 0000000..30057ad
--- /dev/null
+++ b/gltests/sys_time.in.h
@@ -0,0 +1,213 @@
+/* Provide a more complete sys/time.h.
+
+   Copyright (C) 2007-2014 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 Paul Eggert.  */
+
+#ifndef address@hidden@_SYS_TIME_H
+
+#if __GNUC__ >= 3
address@hidden@
+#endif
address@hidden@
+
+/* On Cygwin and on many BSDish systems, <sys/time.h> includes itself
+   recursively via <sys/select.h>.
+   Simply delegate to the system's header in this case; it is a no-op.
+   Without this extra ifdef, the C++ gettimeofday declaration below
+   would be a forward declaration in gnulib's nested <sys/time.h>.  */
+#if defined _CYGWIN_SYS_TIME_H || defined _SYS_TIME_H || defined _SYS_TIME_H_
+# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
+#else
+
+/* The include_next requires a split double-inclusion guard.  */
+#if @HAVE_SYS_TIME_H@
+# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
+#endif
+
+#ifndef address@hidden@_SYS_TIME_H
+#define address@hidden@_SYS_TIME_H
+
+#if ! @HAVE_SYS_TIME_H@
+# include <time.h>
+#endif
+
+/* On native Windows with MSVC, get the 'struct timeval' type.
+   Also, on native Windows with a 64-bit time_t, where we are overriding the
+   'struct timeval' type, get all declarations of system functions whose
+   signature contains 'struct timeval'.  */
+#if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && 
!defined _GL_INCLUDING_WINSOCK2_H
+# define _GL_INCLUDING_WINSOCK2_H
+# include <winsock2.h>
+# undef _GL_INCLUDING_WINSOCK2_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.  */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if address@hidden@ || @REPLACE_STRUCT_TIMEVAL@
+
+# if @REPLACE_STRUCT_TIMEVAL@
+#  define timeval rpl_timeval
+# endif
+
+# if !GNULIB_defined_struct_timeval
+struct timeval
+{
+  time_t tv_sec;
+  long int tv_usec;
+};
+#  define GNULIB_defined_struct_timeval 1
+# endif
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#if @GNULIB_GETTIMEOFDAY@
+# if @REPLACE_GETTIMEOFDAY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef gettimeofday
+#   define gettimeofday rpl_gettimeofday
+#  endif
+_GL_FUNCDECL_RPL (gettimeofday, int,
+                  (struct timeval *restrict, void *restrict)
+                  _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (gettimeofday, int,
+                  (struct timeval *restrict, void *restrict));
+# else
+#  if address@hidden@
+_GL_FUNCDECL_SYS (gettimeofday, int,
+                  (struct timeval *restrict, void *restrict)
+                  _GL_ARG_NONNULL ((1)));
+#  endif
+/* Need to cast, because on glibc systems, by default, the second argument is
+                                                  struct timezone *.  */
+_GL_CXXALIAS_SYS_CAST (gettimeofday, int,
+                       (struct timeval *restrict, void *restrict));
+# endif
+_GL_CXXALIASWARN (gettimeofday);
+#elif defined GNULIB_POSIXCHECK
+# undef gettimeofday
+# if HAVE_RAW_DECL_GETTIMEOFDAY
+_GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - "
+                 "use gnulib module gettimeofday for portability");
+# endif
+#endif
+
+/* Hide some function declarations from <winsock2.h>.  */
+
+#if defined _MSC_VER && @HAVE_WINSOCK2_H@
+# if !defined address@hidden@_UNISTD_H
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef close
+#   define close close_used_without_including_unistd_h
+#  else
+     _GL_WARN_ON_USE (close,
+                      "close() used without including <unistd.h>");
+#  endif
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef gethostname
+#   define gethostname gethostname_used_without_including_unistd_h
+#  else
+     _GL_WARN_ON_USE (gethostname,
+                      "gethostname() used without including <unistd.h>");
+#  endif
+# endif
+# if !defined address@hidden@_SYS_SOCKET_H
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef socket
+#   define socket              socket_used_without_including_sys_socket_h
+#   undef connect
+#   define connect             connect_used_without_including_sys_socket_h
+#   undef accept
+#   define accept              accept_used_without_including_sys_socket_h
+#   undef bind
+#   define bind                bind_used_without_including_sys_socket_h
+#   undef getpeername
+#   define getpeername         getpeername_used_without_including_sys_socket_h
+#   undef getsockname
+#   define getsockname         getsockname_used_without_including_sys_socket_h
+#   undef getsockopt
+#   define getsockopt          getsockopt_used_without_including_sys_socket_h
+#   undef listen
+#   define listen              listen_used_without_including_sys_socket_h
+#   undef recv
+#   define recv                recv_used_without_including_sys_socket_h
+#   undef send
+#   define send                send_used_without_including_sys_socket_h
+#   undef recvfrom
+#   define recvfrom            recvfrom_used_without_including_sys_socket_h
+#   undef sendto
+#   define sendto              sendto_used_without_including_sys_socket_h
+#   undef setsockopt
+#   define setsockopt          setsockopt_used_without_including_sys_socket_h
+#   undef shutdown
+#   define shutdown            shutdown_used_without_including_sys_socket_h
+#  else
+     _GL_WARN_ON_USE (socket,
+                      "socket() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (connect,
+                      "connect() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (accept,
+                      "accept() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (bind,
+                      "bind() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (getpeername,
+                      "getpeername() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (getsockname,
+                      "getsockname() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (getsockopt,
+                      "getsockopt() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (listen,
+                      "listen() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (recv,
+                      "recv() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (send,
+                      "send() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (recvfrom,
+                      "recvfrom() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (sendto,
+                      "sendto() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (setsockopt,
+                      "setsockopt() used without including <sys/socket.h>");
+     _GL_WARN_ON_USE (shutdown,
+                      "shutdown() used without including <sys/socket.h>");
+#  endif
+# endif
+# if !defined address@hidden@_SYS_SELECT_H
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef select
+#   define select select_used_without_including_sys_select_h
+#  else
+     _GL_WARN_ON_USE (select,
+                      "select() used without including <sys/select.h>");
+#  endif
+# endif
+#endif
+
+#endif /* address@hidden@_SYS_TIME_H */
+#endif /* _CYGWIN_SYS_TIME_H */
+#endif /* address@hidden@_SYS_TIME_H */
diff --git a/gltests/test-alloca-opt.c b/gltests/test-alloca-opt.c
index d94e1d1..3d8acc4 100644
--- a/gltests/test-alloca-opt.c
+++ b/gltests/test-alloca-opt.c
@@ -1,5 +1,5 @@
 /* Test of optional automatic memory allocation.
-   Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2014 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/gltests/test-binary-io.c b/gltests/test-binary-io.c
index b258d51..1b29fbd 100644
--- a/gltests/test-binary-io.c
+++ b/gltests/test-binary-io.c
@@ -1,5 +1,5 @@
 /* Test of binary mode I/O.
-   Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007-2014 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/gltests/test-close.c b/gltests/test-close.c
index 974ed1b..44bce54 100644
--- a/gltests/test-close.c
+++ b/gltests/test-close.c
@@ -1,5 +1,5 @@
 /* Test closing a file or socket.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/test-dup2.c b/gltests/test-dup2.c
index 44039f1..c7cb965 100644
--- a/gltests/test-dup2.c
+++ b/gltests/test-dup2.c
@@ -1,5 +1,5 @@
 /* Test duplicating file descriptors.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-environ.c b/gltests/test-environ.c
index cb3d9f6..46a2eab 100644
--- a/gltests/test-environ.c
+++ b/gltests/test-environ.c
@@ -1,5 +1,5 @@
 /* Test of environ variable.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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/gltests/test-errno.c b/gltests/test-errno.c
index 29eb510..495242b 100644
--- a/gltests/test-errno.c
+++ b/gltests/test-errno.c
@@ -1,5 +1,5 @@
 /* Test of <errno.h> substitute.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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/gltests/test-fdopen.c b/gltests/test-fdopen.c
index 671c5e3..743511e 100644
--- a/gltests/test-fdopen.c
+++ b/gltests/test-fdopen.c
@@ -1,5 +1,5 @@
 /* Test opening a stream with a file descriptor.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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,28 +29,21 @@ SIGNATURE_CHECK (fdopen, FILE *, (int, const char *));
 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);
-  }
+  /* Test behavior on failure.  POSIX makes it hard to check for
+     failure, since the behavior is not well-defined on invalid file
+     descriptors, so try fdopen 1000 times and if that's not enough to
+     fail due to EMFILE, so be it.  */
+
+  int i;
+  for (i = 0; i < 1000; i++)
+    {
+      errno = 0;
+      if (! fdopen (STDOUT_FILENO, "w"))
+        {
+          ASSERT (errno != 0);
+          break;
+        }
+    }
 
   return 0;
 }
diff --git a/gltests/test-fgetc.c b/gltests/test-fgetc.c
index b4a617a..2534d4b 100644
--- a/gltests/test-fgetc.c
+++ b/gltests/test-fgetc.c
@@ -1,5 +1,5 @@
 /* Test of fgetc() function.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/test-float.c b/gltests/test-float.c
deleted file mode 100644
index 7d3142f..0000000
--- a/gltests/test-float.c
+++ /dev/null
@@ -1,384 +0,0 @@
-/* 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 <address@hidden>, 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/gltests/test-fprintf-posix.h b/gltests/test-fprintf-posix.h
deleted file mode 100644
index a5b72c7..0000000
--- a/gltests/test-fprintf-posix.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/* Test of POSIX compatible vsprintf() and sprintf() functions.
-   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 <address@hidden>, 2007.  */
-
-#include "infinity.h"
-
-static void
-test_function (int (*my_fprintf) (FILE *, const char *, ...))
-{
-  /* Here we don't test output that may be platform dependent.
-     The bulk of the tests is done as part of the 'vasnprintf-posix' module.  
*/
-
-  /* Test support of size specifiers as in C99.  */
-
-  my_fprintf (stdout, "%ju %d\n", (uintmax_t) 12345671, 33, 44, 55);
-
-  my_fprintf (stdout, "%zu %d\n", (size_t) 12345672, 33, 44, 55);
-
-  my_fprintf (stdout, "%tu %d\n", (ptrdiff_t) 12345673, 33, 44, 55);
-
-  /* Test the support of the 'a' and 'A' conversion specifier for hexadecimal
-     output of floating-point numbers.  */
-
-  /* Positive zero.  */
-  my_fprintf (stdout, "%a %d\n", 0.0, 33, 44, 55);
-
-  /* Positive infinity.  */
-  my_fprintf (stdout, "%a %d\n", Infinityd (), 33, 44, 55);
-
-  /* Negative infinity.  */
-  my_fprintf (stdout, "%a %d\n", - Infinityd (), 33, 44, 55);
-
-  /* FLAG_ZERO with infinite number.  */
-  my_fprintf (stdout, "%010a %d\n", Infinityd (), 33, 44, 55);
-
-  /* Test the support of the %f format directive.  */
-
-  /* A positive number.  */
-  my_fprintf (stdout, "%f %d\n", 12.75, 33, 44, 55);
-
-  /* A larger positive number.  */
-  my_fprintf (stdout, "%f %d\n", 1234567.0, 33, 44, 55);
-
-  /* A negative number.  */
-  my_fprintf (stdout, "%f %d\n", -0.03125, 33, 44, 55);
-
-  /* Positive zero.  */
-  my_fprintf (stdout, "%f %d\n", 0.0, 33, 44, 55);
-
-  /* FLAG_ZERO.  */
-  my_fprintf (stdout, "%015f %d\n", 1234.0, 33, 44, 55);
-
-  /* Precision.  */
-  my_fprintf (stdout, "%.f %d\n", 1234.0, 33, 44, 55);
-
-  /* Precision with no rounding.  */
-  my_fprintf (stdout, "%.2f %d\n", 999.95, 33, 44, 55);
-
-  /* Precision with rounding.  */
-  my_fprintf (stdout, "%.2f %d\n", 999.996, 33, 44, 55);
-
-  /* A positive number.  */
-  my_fprintf (stdout, "%Lf %d\n", 12.75L, 33, 44, 55);
-
-  /* A larger positive number.  */
-  my_fprintf (stdout, "%Lf %d\n", 1234567.0L, 33, 44, 55);
-
-  /* A negative number.  */
-  my_fprintf (stdout, "%Lf %d\n", -0.03125L, 33, 44, 55);
-
-  /* Positive zero.  */
-  my_fprintf (stdout, "%Lf %d\n", 0.0L, 33, 44, 55);
-
-  /* FLAG_ZERO.  */
-  my_fprintf (stdout, "%015Lf %d\n", 1234.0L, 33, 44, 55);
-
-  /* Precision.  */
-  my_fprintf (stdout, "%.Lf %d\n", 1234.0L, 33, 44, 55);
-
-  /* Precision with no rounding.  */
-  my_fprintf (stdout, "%.2Lf %d\n", 999.95L, 33, 44, 55);
-
-  /* Precision with rounding.  */
-  my_fprintf (stdout, "%.2Lf %d\n", 999.996L, 33, 44, 55);
-
-  /* Test the support of the %F format directive.  */
-
-  /* A positive number.  */
-  my_fprintf (stdout, "%F %d\n", 12.75, 33, 44, 55);
-
-  /* A larger positive number.  */
-  my_fprintf (stdout, "%F %d\n", 1234567.0, 33, 44, 55);
-
-  /* A negative number.  */
-  my_fprintf (stdout, "%F %d\n", -0.03125, 33, 44, 55);
-
-  /* Positive zero.  */
-  my_fprintf (stdout, "%F %d\n", 0.0, 33, 44, 55);
-
-  /* FLAG_ZERO.  */
-  my_fprintf (stdout, "%015F %d\n", 1234.0, 33, 44, 55);
-
-  /* Precision.  */
-  my_fprintf (stdout, "%.F %d\n", 1234.0, 33, 44, 55);
-
-  /* Precision with no rounding.  */
-  my_fprintf (stdout, "%.2F %d\n", 999.95, 33, 44, 55);
-
-  /* Precision with rounding.  */
-  my_fprintf (stdout, "%.2F %d\n", 999.996, 33, 44, 55);
-
-  /* A positive number.  */
-  my_fprintf (stdout, "%LF %d\n", 12.75L, 33, 44, 55);
-
-  /* A larger positive number.  */
-  my_fprintf (stdout, "%LF %d\n", 1234567.0L, 33, 44, 55);
-
-  /* A negative number.  */
-  my_fprintf (stdout, "%LF %d\n", -0.03125L, 33, 44, 55);
-
-  /* Positive zero.  */
-  my_fprintf (stdout, "%LF %d\n", 0.0L, 33, 44, 55);
-
-  /* FLAG_ZERO.  */
-  my_fprintf (stdout, "%015LF %d\n", 1234.0L, 33, 44, 55);
-
-  /* Precision.  */
-  my_fprintf (stdout, "%.LF %d\n", 1234.0L, 33, 44, 55);
-
-  /* Precision with no rounding.  */
-  my_fprintf (stdout, "%.2LF %d\n", 999.95L, 33, 44, 55);
-
-  /* Precision with rounding.  */
-  my_fprintf (stdout, "%.2LF %d\n", 999.996L, 33, 44, 55);
-
-  /* Test the support of the POSIX/XSI format strings with positions.  */
-
-  my_fprintf (stdout, "%2$d %1$d\n", 33, 55);
-}
diff --git a/gltests/test-fputc.c b/gltests/test-fputc.c
index e05f641..befb582 100644
--- a/gltests/test-fputc.c
+++ b/gltests/test-fputc.c
@@ -1,5 +1,5 @@
 /* Test of fputc() function.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/test-fread.c b/gltests/test-fread.c
index a807e0a..72b93a9 100644
--- a/gltests/test-fread.c
+++ b/gltests/test-fread.c
@@ -1,5 +1,5 @@
 /* Test of fread() function.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/test-frexp.c b/gltests/test-frexp.c
deleted file mode 100644
index 6e3e000..0000000
--- a/gltests/test-frexp.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Test of splitting a double into fraction and mantissa.
-   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 <address@hidden>, 2007.  */
-
-#include <config.h>
-
-#include <math.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (frexp, double, (double, int *));
-
-#include <float.h>
-
-#include "isnand-nolibm.h"
-#include "minus-zero.h"
-#include "infinity.h"
-#include "nan.h"
-#include "macros.h"
-
-/* Avoid some warnings from "gcc -Wshadow".
-   This file doesn't use the exp() function.  */
-#undef exp
-#define exp exponent
-
-#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 ()
-{
-  test_function ();
-
-  return 0;
-}
diff --git a/gltests/test-frexp.h b/gltests/test-frexp.h
deleted file mode 100644
index e50be14..0000000
--- a/gltests/test-frexp.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/* 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/gltests/test-frexpl.c b/gltests/test-frexpl.c
deleted file mode 100644
index 5a5eae5..0000000
--- a/gltests/test-frexpl.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Test of splitting a 'long double' into fraction and mantissa.
-   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 <address@hidden>, 2007.  */
-
-#include <config.h>
-
-#include <math.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (frexpl, long double, (long double, int *));
-
-#include <float.h>
-
-#include "fpucw.h"
-#include "isnanl-nolibm.h"
-#include "minus-zero.h"
-#include "infinity.h"
-#include "nan.h"
-#include "macros.h"
-
-/* Avoid some warnings from "gcc -Wshadow".
-   This file doesn't use the exp() function.  */
-#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'
-   is -968.  For exponents below that, the precision may be truncated to the
-   precision used for 'double'.  */
-#ifdef __sgi
-# define MIN_NORMAL_EXP (LDBL_MIN_EXP + 57)
-#elif defined __ppc || defined __ppc__ || defined __powerpc || defined 
__powerpc__
-# define MIN_NORMAL_EXP (LDBL_MIN_EXP + 53)
-#else
-# define MIN_NORMAL_EXP LDBL_MIN_EXP
-#endif
-#define FREXP frexpl
-#define RANDOM randoml
-#include "test-frexp.h"
-
-int
-main ()
-{
-  DECL_LONG_DOUBLE_ROUNDING
-
-  BEGIN_LONG_DOUBLE_ROUNDING ();
-
-  test_function ();
-
-  return 0;
-}
diff --git a/gltests/test-fseterr.c b/gltests/test-fseterr.c
deleted file mode 100644
index 7390b46..0000000
--- a/gltests/test-fseterr.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Test setting the error indicator of a stream.
-   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 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 <address@hidden>, 2007.  */
-
-#include <config.h>
-
-#include "fseterr.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main ()
-{
-  /* All streams are initially created with the error indicator cleared.  */
-  if (ferror (stdout))
-    abort ();
-
-  /* Verify that fseterr() works.  */
-  fseterr (stdout);
-  if (!ferror (stdout))
-    abort ();
-
-  /* Verify fseterr's effect can be undone by clearerr().  */
-  clearerr (stdout);
-  if (ferror (stdout))
-    abort ();
-
-  return 0;
-}
diff --git a/gltests/test-fstat.c b/gltests/test-fstat.c
index 8ce1527..9b793c9 100644
--- a/gltests/test-fstat.c
+++ b/gltests/test-fstat.c
@@ -1,5 +1,5 @@
 /* Tests of fstat() function.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/test-fwrite.c b/gltests/test-fwrite.c
index ef72338..e51b2ab 100644
--- a/gltests/test-fwrite.c
+++ b/gltests/test-fwrite.c
@@ -1,5 +1,5 @@
 /* Test of fwrite() function.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/test-getcwd-lgpl.c b/gltests/test-getcwd-lgpl.c
index e3e7b7a..371c8df 100644
--- a/gltests/test-getcwd-lgpl.c
+++ b/gltests/test-getcwd-lgpl.c
@@ -1,5 +1,5 @@
 /* Test of getcwd() function.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-getdtablesize.c b/gltests/test-getdtablesize.c
index b371ccf..86a0b4f 100644
--- a/gltests/test-getdtablesize.c
+++ b/gltests/test-getdtablesize.c
@@ -1,5 +1,5 @@
 /* Test of getdtablesize() function.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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/gltests/test-getopt.c b/gltests/test-getopt.c
index 7caf027..152efea 100644
--- a/gltests/test-getopt.c
+++ b/gltests/test-getopt.c
@@ -1,5 +1,5 @@
 /* Test of command line argument processing.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-getopt.h b/gltests/test-getopt.h
index 450cf0d..c982d57 100644
--- a/gltests/test-getopt.h
+++ b/gltests/test-getopt.h
@@ -1,5 +1,5 @@
 /* Test of command line argument processing.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-getopt_long.h b/gltests/test-getopt_long.h
index 345a796..07ea4a2 100644
--- a/gltests/test-getopt_long.h
+++ b/gltests/test-getopt_long.h
@@ -1,5 +1,5 @@
 /* Test of command line argument processing.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-gettimeofday.c b/gltests/test-gettimeofday.c
new file mode 100644
index 0000000..5abb872
--- /dev/null
+++ b/gltests/test-gettimeofday.c
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2005, 2007, 2009-2014 Free Software Foundation, Inc.
+ * Written by Jim Meyering.
+ *
+ * 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/time.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (gettimeofday, int,
+                 (struct timeval *, GETTIMEOFDAY_TIMEZONE *));
+
+#include <time.h>
+
+#include <stdio.h>
+#include <string.h>
+
+int
+main (void)
+{
+  time_t t = 0;
+  struct tm *lt;
+  struct tm saved_lt;
+  struct timeval tv;
+  lt = localtime (&t);
+  saved_lt = *lt;
+  gettimeofday (&tv, NULL);
+  if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0)
+    {
+      fprintf (stderr, "gettimeofday still clobbers the localtime buffer!\n");
+      return 1;
+    }
+  return 0;
+}
diff --git a/gltests/test-ignore-value.c b/gltests/test-ignore-value.c
index cb4cf14..3533d7c 100644
--- a/gltests/test-ignore-value.c
+++ b/gltests/test-ignore-value.c
@@ -1,6 +1,6 @@
 /* Test the "ignore-value" module.
 
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/test-init.sh b/gltests/test-init.sh
index 6eb6b43..be447b3 100755
--- a/gltests/test-init.sh
+++ b/gltests/test-init.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Unit tests for init.sh
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 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/gltests/test-intprops.c b/gltests/test-intprops.c
index 8b91a79..97553e7 100644
--- a/gltests/test-intprops.c
+++ b/gltests/test-intprops.c
@@ -1,5 +1,5 @@
 /* Test intprops.h.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/test-inttypes.c b/gltests/test-inttypes.c
index db1a97e..35deeab 100644
--- a/gltests/test-inttypes.c
+++ b/gltests/test-inttypes.c
@@ -1,5 +1,5 @@
 /* Test of <inttypes.h> substitute.
-   Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2009-2014 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/gltests/test-isnand-nolibm.c b/gltests/test-isnand-nolibm.c
deleted file mode 100644
index 2d57d07..0000000
--- a/gltests/test-isnand-nolibm.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Test of isnand() substitute.
-   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/>.  */
-
-#include <config.h>
-
-#include "isnand-nolibm.h"
-
-#include "test-isnand.h"
diff --git a/gltests/test-isnand.h b/gltests/test-isnand.h
deleted file mode 100644
index 7ea72e9..0000000
--- a/gltests/test-isnand.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Test of isnand() substitute.
-   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 <address@hidden>, 2007.  */
-
-#include <limits.h>
-
-#include "minus-zero.h"
-#include "infinity.h"
-#include "nan.h"
-#include "macros.h"
-
-int
-main ()
-{
-  /* Finite values.  */
-  ASSERT (!isnand (3.141));
-  ASSERT (!isnand (3.141e30));
-  ASSERT (!isnand (3.141e-30));
-  ASSERT (!isnand (-2.718));
-  ASSERT (!isnand (-2.718e30));
-  ASSERT (!isnand (-2.718e-30));
-  ASSERT (!isnand (0.0));
-  ASSERT (!isnand (minus_zerod));
-  /* Infinite values.  */
-  ASSERT (!isnand (Infinityd ()));
-  ASSERT (!isnand (- Infinityd ()));
-  /* Quiet NaN.  */
-  ASSERT (isnand (NaNd ()));
-#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
-  /* Signalling NaN.  */
-  {
-    #define NWORDS \
-      ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-    typedef union { double value; unsigned int word[NWORDS]; } memory_double;
-    memory_double m;
-    m.value = NaNd ();
-# if DBL_EXPBIT0_BIT > 0
-    m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1);
-# else
-    m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-      ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
-    m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-      |= (unsigned int) 1 << DBL_EXPBIT0_BIT;
-    ASSERT (isnand (m.value));
-  }
-#endif
-  return 0;
-}
diff --git a/gltests/test-isnanf-nolibm.c b/gltests/test-isnanf-nolibm.c
deleted file mode 100644
index 924dccb..0000000
--- a/gltests/test-isnanf-nolibm.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Test of isnanf() substitute.
-   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/>.  */
-
-#include <config.h>
-
-#include "isnanf-nolibm.h"
-
-#include "test-isnanf.h"
diff --git a/gltests/test-isnanf.h b/gltests/test-isnanf.h
deleted file mode 100644
index 60499b5..0000000
--- a/gltests/test-isnanf.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Test of isnanf() substitute.
-   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 <address@hidden>, 2007.  */
-
-#include <limits.h>
-
-#include "minus-zero.h"
-#include "infinity.h"
-#include "nan.h"
-#include "macros.h"
-
-int
-main ()
-{
-  /* Finite values.  */
-  ASSERT (!isnanf (3.141f));
-  ASSERT (!isnanf (3.141e30f));
-  ASSERT (!isnanf (3.141e-30f));
-  ASSERT (!isnanf (-2.718f));
-  ASSERT (!isnanf (-2.718e30f));
-  ASSERT (!isnanf (-2.718e-30f));
-  ASSERT (!isnanf (0.0f));
-  ASSERT (!isnanf (minus_zerof));
-  /* Infinite values.  */
-  ASSERT (!isnanf (Infinityf ()));
-  ASSERT (!isnanf (- Infinityf ()));
-  /* Quiet NaN.  */
-  ASSERT (isnanf (NaNf ()));
-#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
-  /* Signalling NaN.  */
-  {
-    #define NWORDS \
-      ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-    typedef union { float value; unsigned int word[NWORDS]; } memory_float;
-    memory_float m;
-    m.value = NaNf ();
-# if FLT_EXPBIT0_BIT > 0
-    m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1);
-# else
-    m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-      ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
-    if (FLT_EXPBIT0_WORD < NWORDS / 2)
-      m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT;
-    else
-      m.word[0] |= (unsigned int) 1;
-    ASSERT (isnanf (m.value));
-  }
-#endif
-  return 0;
-}
diff --git a/gltests/test-isnanl.h b/gltests/test-isnanl.h
deleted file mode 100644
index 06e6a7c..0000000
--- a/gltests/test-isnanl.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Test of isnanl() substitute.
-   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 <address@hidden>, 2007.  */
-
-#include <float.h>
-#include <limits.h>
-
-#include "minus-zero.h"
-#include "infinity.h"
-#include "nan.h"
-#include "macros.h"
-
-int
-main ()
-{
-  #define NWORDS \
-    ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned 
int))
-  typedef union { unsigned int word[NWORDS]; long double value; }
-          memory_long_double;
-
-  /* Finite values.  */
-  ASSERT (!isnanl (3.141L));
-  ASSERT (!isnanl (3.141e30L));
-  ASSERT (!isnanl (3.141e-30L));
-  ASSERT (!isnanl (-2.718L));
-  ASSERT (!isnanl (-2.718e30L));
-  ASSERT (!isnanl (-2.718e-30L));
-  ASSERT (!isnanl (0.0L));
-  ASSERT (!isnanl (minus_zerol));
-  /* Infinite values.  */
-  ASSERT (!isnanl (Infinityl ()));
-  ASSERT (!isnanl (- Infinityl ()));
-  /* Quiet NaN.  */
-  ASSERT (isnanl (NaNl ()));
-
-#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
-  /* A bit pattern that is different from a Quiet NaN.  With a bit of luck,
-     it's a Signalling NaN.  */
-  {
-    memory_long_double m;
-    m.value = NaNl ();
-# if LDBL_EXPBIT0_BIT > 0
-    m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
-# else
-    m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-      ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
-    m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-      |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
-    ASSERT (isnanl (m.value));
-  }
-#endif
-
-#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
-#  define LDBL80_WORDS(exponent,manthi,mantlo) \
-     { ((unsigned int) (exponent) << 16) | ((unsigned int) (manthi) >> 16), \
-       ((unsigned int) (manthi) << 16) | (unsigned int) (mantlo) >> 16),    \
-       (unsigned int) (mantlo) << 16                                        \
-     }
-# else
-#  define LDBL80_WORDS(exponent,manthi,mantlo) \
-     { mantlo, manthi, exponent }
-# endif
-  { /* Quiet NaN.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
-    ASSERT (isnanl (x.value));
-  }
-  {
-    /* Signalling NaN.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
-    ASSERT (isnanl (x.value));
-  }
-  /* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities,
-     Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in
-       Intel IA-64 Architecture Software Developer's Manual, Volume 1:
-       Application Architecture.
-       Table 5-2 "Floating-Point Register Encodings"
-       Figure 5-6 "Memory to Floating-Point Register Data Translation"
-   */
-  { /* Pseudo-NaN.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
-    ASSERT (isnanl (x.value));
-  }
-  { /* Pseudo-Infinity.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
-    ASSERT (isnanl (x.value));
-  }
-  { /* Pseudo-Zero.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
-    ASSERT (isnanl (x.value));
-  }
-  { /* Unnormalized number.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
-    ASSERT (isnanl (x.value));
-  }
-  { /* Pseudo-Denormal.  */
-    static memory_long_double x =
-      { LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
-    ASSERT (isnanl (x.value));
-  }
-#endif
-
-  return 0;
-}
diff --git a/gltests/test-lstat.c b/gltests/test-lstat.c
index d520193..eab2ad4 100644
--- a/gltests/test-lstat.c
+++ b/gltests/test-lstat.c
@@ -1,5 +1,5 @@
 /* Test of lstat() function.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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/gltests/test-lstat.h b/gltests/test-lstat.h
index b8f1767..45ca3bf 100644
--- a/gltests/test-lstat.h
+++ b/gltests/test-lstat.h
@@ -1,5 +1,5 @@
 /* Test of lstat() function.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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/gltests/test-malloca.c b/gltests/test-malloca.c
index 7d5e62e..6f94d0d 100644
--- a/gltests/test-malloca.c
+++ b/gltests/test-malloca.c
@@ -1,5 +1,5 @@
 /* Test of safe automatic memory allocation.
-   Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2014 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/gltests/test-math.c b/gltests/test-math.c
deleted file mode 100644
index f7d944c..0000000
--- a/gltests/test-math.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Test of <math.h> substitute.
-   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 <address@hidden>, 2007.  */
-
-#include <config.h>
-
-#include <math.h>
-
-#ifndef NAN
-# error NAN should be defined
-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;
-#endif
-
-/* Compare two numbers with ==.
-   This is a separate function because IRIX 6.5 "cc -O" miscompiles an
-   'x == x' test.  */
-static int
-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;
-}
-
-int
-main (void)
-{
-  double d = NAN;
-  double zero = 0.0;
-  ASSERT (!numeric_equald (d, d));
-
-  d = HUGE_VAL;
-  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/gltests/test-memchr.c b/gltests/test-memchr.c
deleted file mode 100644
index 0ca4589..0000000
--- a/gltests/test-memchr.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * 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
- * 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 <string.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (memchr, void *, (void const *, int, size_t));
-
-#include <stdlib.h>
-
-#include "zerosize-ptr.h"
-#include "macros.h"
-
-/* Calculating void * + int is not portable, so this wrapper converts
-   to char * to make the tests easier to write.  */
-#define MEMCHR (char *) memchr
-
-int
-main (void)
-{
-  size_t n = 0x100000;
-  char *input = malloc (n);
-  ASSERT (input);
-
-  input[0] = 'a';
-  input[1] = 'b';
-  memset (input + 2, 'c', 1024);
-  memset (input + 1026, 'd', n - 1028);
-  input[n - 2] = 'e';
-  input[n - 1] = 'a';
-
-  /* Basic behavior tests.  */
-  ASSERT (MEMCHR (input, 'a', n) == input);
-
-  ASSERT (MEMCHR (input, 'a', 0) == NULL);
-  ASSERT (MEMCHR (zerosize_ptr (), 'a', 0) == NULL);
-
-  ASSERT (MEMCHR (input, 'b', n) == input + 1);
-  ASSERT (MEMCHR (input, 'c', n) == input + 2);
-  ASSERT (MEMCHR (input, 'd', n) == input + 1026);
-
-  ASSERT (MEMCHR (input + 1, 'a', n - 1) == input + n - 1);
-  ASSERT (MEMCHR (input + 1, 'e', n - 1) == input + n - 2);
-  ASSERT (MEMCHR (input + 1, 0x789abc00 | 'e', n - 1) == input + n - 2);
-
-  ASSERT (MEMCHR (input, 'f', n) == NULL);
-  ASSERT (MEMCHR (input, '\0', n) == NULL);
-
-  /* Check that a very long haystack is handled quickly if the byte is
-     found near the beginning.  */
-  {
-    size_t repeat = 10000;
-    for (; repeat > 0; repeat--)
-      {
-        ASSERT (MEMCHR (input, 'c', n) == input + 2);
-      }
-  }
-
-  /* Alignment tests.  */
-  {
-    int i, j;
-    for (i = 0; i < 32; i++)
-      {
-        for (j = 0; j < 256; j++)
-          input[i + j] = j;
-        for (j = 0; j < 256; j++)
-          {
-            ASSERT (MEMCHR (input + i, j, 256) == input + i + j);
-          }
-      }
-  }
-
-  /* Check that memchr() does not read past the first occurrence of the
-     byte being searched.  See the Austin Group's clarification
-     <http://www.opengroup.org/austin/docs/austin_454.txt>.
-     Test both '\0' and something else, since some implementations
-     special-case searching for NUL.
-  */
-  {
-    char *page_boundary = (char *) zerosize_ptr ();
-    /* Too small, and we miss cache line boundary tests; too large,
-       and the test takes cubically longer to complete.  */
-    int limit = 257;
-
-    if (page_boundary != NULL)
-      {
-        for (n = 1; n <= limit; n++)
-          {
-            char *mem = page_boundary - n;
-            memset (mem, 'X', n);
-            ASSERT (MEMCHR (mem, 'U', n) == NULL);
-            ASSERT (MEMCHR (mem, 0, n) == NULL);
-
-            {
-              size_t i;
-              size_t k;
-
-              for (i = 0; i < n; i++)
-                {
-                  mem[i] = 'U';
-                  for (k = i + 1; k < n + limit; k++)
-                    ASSERT (MEMCHR (mem, 'U', k) == mem + i);
-                  mem[i] = 0;
-                  for (k = i + 1; k < n + limit; k++)
-                    ASSERT (MEMCHR (mem, 0, k) == mem + i);
-                  mem[i] = 'X';
-                }
-            }
-          }
-      }
-  }
-
-  free (input);
-
-  return 0;
-}
diff --git a/gltests/test-open.c b/gltests/test-open.c
index f04144f..985d901 100644
--- a/gltests/test-open.c
+++ b/gltests/test-open.c
@@ -1,5 +1,5 @@
 /* Test of opening a file descriptor.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/gltests/test-open.h b/gltests/test-open.h
index babb239..1807c90 100644
--- a/gltests/test-open.h
+++ b/gltests/test-open.h
@@ -1,5 +1,5 @@
 /* Test of opening a file descriptor.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
@@ -16,13 +16,24 @@
 
 /* Written by Bruno Haible <address@hidden>, 2007.  */
 
+/* Make test_open always inline if we're using Fortify, which defines
+   __always_inline to do that.  Do nothing otherwise.  This works
+   around a glibc bug whereby 'open' cannot be used as a function
+   pointer when _FORTIFY_SOURCE is positive.  */
+
+#if __GLIBC__ && defined __always_inline
+# define ALWAYS_INLINE __always_inline
+#else
+# define ALWAYS_INLINE
+#endif
+
 /* This file is designed to test both open(n,buf[,mode]) and
    openat(AT_FDCWD,n,buf[,mode]).  FUNC is the function to test.
    Assumes that BASE and ASSERT are already defined, and that
    appropriate headers are already included.  If PRINT, warn before
    skipping symlink tests with status 77.  */
 
-static int
+static ALWAYS_INLINE int
 test_open (int (*func) (char const *, int, ...), bool print)
 {
   int fd;
diff --git a/gltests/test-pathmax.c b/gltests/test-pathmax.c
index 81a0350..8bc7dbc 100644
--- a/gltests/test-pathmax.c
+++ b/gltests/test-pathmax.c
@@ -1,5 +1,5 @@
 /* Test of "pathmax.h".
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/test-printf-frexp.c b/gltests/test-printf-frexp.c
deleted file mode 100644
index 5ecf198..0000000
--- a/gltests/test-printf-frexp.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Test of splitting a double into fraction and mantissa.
-   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 <address@hidden>, 2007.  */
-
-#include <config.h>
-
-#include "printf-frexp.h"
-
-#include <float.h>
-
-#include "macros.h"
-
-static double
-my_ldexp (double x, int d)
-{
-  for (; d > 0; d--)
-    x *= 2.0;
-  for (; d < 0; d++)
-    x *= 0.5;
-  return x;
-}
-
-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;
-
-  for (i = 1, x = 1.0; i <= DBL_MAX_EXP; i++, x *= 2.0)
-    {
-      int exp = -9999;
-      double mantissa = printf_frexp (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.0);
-    }
-  for (i = 1, x = 1.0; i >= DBL_MIN_EXP; i--, x *= 0.5)
-    {
-      int exp = -9999;
-      double mantissa = printf_frexp (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.0);
-    }
-  for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5)
-    {
-      int exp = -9999;
-      double mantissa = printf_frexp (x, &exp);
-      ASSERT (exp == DBL_MIN_EXP - 1);
-      ASSERT (mantissa == my_ldexp (1.0, i - DBL_MIN_EXP));
-    }
-
-  for (i = 1, x = 1.01; i <= DBL_MAX_EXP; i++, x *= 2.0)
-    {
-      int exp = -9999;
-      double mantissa = printf_frexp (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.01);
-    }
-  for (i = 1, x = 1.01; i >= DBL_MIN_EXP; i--, x *= 0.5)
-    {
-      int exp = -9999;
-      double mantissa = printf_frexp (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.01);
-    }
-  for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5)
-    {
-      int exp = -9999;
-      double mantissa = printf_frexp (x, &exp);
-      ASSERT (exp == DBL_MIN_EXP - 1);
-      ASSERT (mantissa >= my_ldexp (1.0, i - DBL_MIN_EXP));
-      ASSERT (mantissa <= my_ldexp (2.0, i - DBL_MIN_EXP));
-      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 = printf_frexp (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.73205);
-    }
-  for (i = 1, x = 1.73205; i >= DBL_MIN_EXP; i--, x *= 0.5)
-    {
-      int exp = -9999;
-      double mantissa = printf_frexp (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.73205);
-    }
-  for (; i >= DBL_MIN_EXP - 100 && x > 0.0; i--, x *= 0.5)
-    {
-      int exp = -9999;
-      double mantissa = printf_frexp (x, &exp);
-      ASSERT (exp == DBL_MIN_EXP - 1);
-      ASSERT (mantissa >= my_ldexp (1.0, i - DBL_MIN_EXP));
-      ASSERT (mantissa <= my_ldexp (2.0, i - DBL_MIN_EXP));
-      ASSERT (mantissa == my_ldexp (x, - exp));
-    }
-
-  return 0;
-}
diff --git a/gltests/test-printf-frexpl.c b/gltests/test-printf-frexpl.c
deleted file mode 100644
index 0aa3d18..0000000
--- a/gltests/test-printf-frexpl.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Test of splitting a 'long double' into fraction and mantissa.
-   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 <address@hidden>, 2007.  */
-
-#include <config.h>
-
-#include "printf-frexpl.h"
-
-#include <float.h>
-
-#include "fpucw.h"
-#include "macros.h"
-
-/* 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'
-   is -968.  For exponents below that, the precision may be truncated to the
-   precision used for 'double'.  */
-#ifdef __sgi
-# define MIN_NORMAL_EXP (LDBL_MIN_EXP + 57)
-# define MIN_SUBNORMAL_EXP MIN_NORMAL_EXP
-#elif defined __ppc || defined __ppc__ || defined __powerpc || defined 
__powerpc__
-# define MIN_NORMAL_EXP (LDBL_MIN_EXP + 53)
-# define MIN_SUBNORMAL_EXP MIN_NORMAL_EXP
-#else
-# define MIN_NORMAL_EXP LDBL_MIN_EXP
-# define MIN_SUBNORMAL_EXP (LDBL_MIN_EXP - 100)
-#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;
-}
-
-int
-main ()
-{
-  int i;
-  long double x;
-  DECL_LONG_DOUBLE_ROUNDING
-
-  BEGIN_LONG_DOUBLE_ROUNDING ();
-
-  for (i = 1, x = 1.0L; i <= LDBL_MAX_EXP; i++, x *= 2.0L)
-    {
-      int exp = -9999;
-      long double mantissa = printf_frexpl (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.0L);
-    }
-  for (i = 1, x = 1.0L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L)
-    {
-      int exp = -9999;
-      long double mantissa = printf_frexpl (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.0L);
-    }
-  for (; i >= MIN_SUBNORMAL_EXP && x > 0.0L; i--, x *= 0.5L)
-    {
-      int exp = -9999;
-      long double mantissa = printf_frexpl (x, &exp);
-      ASSERT (exp == LDBL_MIN_EXP - 1);
-      ASSERT (mantissa == my_ldexp (1.0L, i - LDBL_MIN_EXP));
-    }
-
-  for (i = 1, x = 1.01L; i <= LDBL_MAX_EXP; i++, x *= 2.0L)
-    {
-      int exp = -9999;
-      long double mantissa = printf_frexpl (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.01L);
-    }
-  for (i = 1, x = 1.01L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L)
-    {
-      int exp = -9999;
-      long double mantissa = printf_frexpl (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.01L);
-    }
-  for (; i >= MIN_SUBNORMAL_EXP && x > 0.0L; i--, x *= 0.5L)
-    {
-      int exp = -9999;
-      long double mantissa = printf_frexpl (x, &exp);
-      ASSERT (exp == LDBL_MIN_EXP - 1);
-      ASSERT (mantissa >= my_ldexp (1.0L, i - LDBL_MIN_EXP));
-      ASSERT (mantissa <= my_ldexp (2.0L, i - LDBL_MIN_EXP));
-      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 = printf_frexpl (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.73205L);
-    }
-  for (i = 1, x = 1.73205L; i >= MIN_NORMAL_EXP; i--, x *= 0.5L)
-    {
-      int exp = -9999;
-      long double mantissa = printf_frexpl (x, &exp);
-      ASSERT (exp == i - 1);
-      ASSERT (mantissa == 1.73205L);
-    }
-  for (; i >= MIN_SUBNORMAL_EXP && x > 0.0L; i--, x *= 0.5L)
-    {
-      int exp = -9999;
-      long double mantissa = printf_frexpl (x, &exp);
-      ASSERT (exp == LDBL_MIN_EXP - 1);
-      ASSERT (mantissa >= my_ldexp (1.0L, i - LDBL_MIN_EXP));
-      ASSERT (mantissa <= my_ldexp (2.0L, i - LDBL_MIN_EXP));
-      ASSERT (mantissa == my_ldexp (x, - exp));
-    }
-
-  return 0;
-}
diff --git a/gltests/test-printf-posix.output b/gltests/test-printf-posix.output
deleted file mode 100644
index 618825b..0000000
--- a/gltests/test-printf-posix.output
+++ /dev/null
@@ -1,40 +0,0 @@
-12345671 33
-12345672 33
-12345673 33
-0x0p+0 33
-inf 33
--inf 33
-       inf 33
-12.750000 33
-1234567.000000 33
--0.031250 33
-0.000000 33
-00001234.000000 33
-1234 33
-999.95 33
-1000.00 33
-12.750000 33
-1234567.000000 33
--0.031250 33
-0.000000 33
-00001234.000000 33
-1234 33
-999.95 33
-1000.00 33
-12.750000 33
-1234567.000000 33
--0.031250 33
-0.000000 33
-00001234.000000 33
-1234 33
-999.95 33
-1000.00 33
-12.750000 33
-1234567.000000 33
--0.031250 33
-0.000000 33
-00001234.000000 33
-1234 33
-999.95 33
-1000.00 33
-55 33
diff --git a/gltests/test-setenv.c b/gltests/test-setenv.c
index 0a53ac4..548e4fb 100644
--- a/gltests/test-setenv.c
+++ b/gltests/test-setenv.c
@@ -1,5 +1,5 @@
 /* Tests of setenv.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-signbit.c b/gltests/test-signbit.c
deleted file mode 100644
index e8ea097..0000000
--- a/gltests/test-signbit.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/* Test of signbit() substitute.
-   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 <address@hidden>, 2007.  */
-
-#include <config.h>
-
-#include <math.h>
-
-/* signbit must be a macro.  */
-#ifndef signbit
-# error missing declaration
-#endif
-
-#include <float.h>
-#include <limits.h>
-
-#include "minus-zero.h"
-#include "infinity.h"
-#include "macros.h"
-
-float zerof = 0.0f;
-double zerod = 0.0;
-long double zerol = 0.0L;
-
-static void
-test_signbitf ()
-{
-  /* Finite values.  */
-  ASSERT (!signbit (3.141f));
-  ASSERT (!signbit (3.141e30f));
-  ASSERT (!signbit (3.141e-30f));
-  ASSERT (signbit (-2.718f));
-  ASSERT (signbit (-2.718e30f));
-  ASSERT (signbit (-2.718e-30f));
-  /* Zeros.  */
-  ASSERT (!signbit (0.0f));
-  if (1.0f / minus_zerof < 0)
-    ASSERT (signbit (minus_zerof));
-  else
-    ASSERT (!signbit (minus_zerof));
-  /* Infinite values.  */
-  ASSERT (!signbit (Infinityf ()));
-  ASSERT (signbit (- Infinityf ()));
-  /* Quiet NaN.  */
-  (void) signbit (zerof / zerof);
-#if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
-  /* Signalling NaN.  */
-  {
-    #define NWORDS \
-      ((sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-    typedef union { float value; unsigned int word[NWORDS]; } memory_float;
-    memory_float m;
-    m.value = zerof / zerof;
-# if FLT_EXPBIT0_BIT > 0
-    m.word[FLT_EXPBIT0_WORD] ^= (unsigned int) 1 << (FLT_EXPBIT0_BIT - 1);
-# else
-    m.word[FLT_EXPBIT0_WORD + (FLT_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-      ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
-    if (FLT_EXPBIT0_WORD < NWORDS / 2)
-      m.word[FLT_EXPBIT0_WORD + 1] |= (unsigned int) 1 << FLT_EXPBIT0_BIT;
-    else
-      m.word[0] |= (unsigned int) 1;
-    (void) signbit (m.value);
-    #undef NWORDS
-  }
-#endif
-}
-
-static void
-test_signbitd ()
-{
-  /* Finite values.  */
-  ASSERT (!signbit (3.141));
-  ASSERT (!signbit (3.141e30));
-  ASSERT (!signbit (3.141e-30));
-  ASSERT (signbit (-2.718));
-  ASSERT (signbit (-2.718e30));
-  ASSERT (signbit (-2.718e-30));
-  /* Zeros.  */
-  ASSERT (!signbit (0.0));
-  if (1.0 / minus_zerod < 0)
-    ASSERT (signbit (minus_zerod));
-  else
-    ASSERT (!signbit (minus_zerod));
-  /* Infinite values.  */
-  ASSERT (!signbit (Infinityd ()));
-  ASSERT (signbit (- Infinityd ()));
-  /* Quiet NaN.  */
-  (void) signbit (zerod / zerod);
-#if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
-  /* Signalling NaN.  */
-  {
-    #define NWORDS \
-      ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
-    typedef union { double value; unsigned int word[NWORDS]; } memory_double;
-    memory_double m;
-    m.value = zerod / zerod;
-# if DBL_EXPBIT0_BIT > 0
-    m.word[DBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (DBL_EXPBIT0_BIT - 1);
-# else
-    m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-      ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
-    m.word[DBL_EXPBIT0_WORD + (DBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-      |= (unsigned int) 1 << DBL_EXPBIT0_BIT;
-    (void) signbit (m.value);
-    #undef NWORDS
-  }
-#endif
-}
-
-static void
-test_signbitl ()
-{
-  /* Finite values.  */
-  ASSERT (!signbit (3.141L));
-  ASSERT (!signbit (3.141e30L));
-  ASSERT (!signbit (3.141e-30L));
-  ASSERT (signbit (-2.718L));
-  ASSERT (signbit (-2.718e30L));
-  ASSERT (signbit (-2.718e-30L));
-  /* Zeros.  */
-  ASSERT (!signbit (0.0L));
-  if (1.0L / minus_zerol < 0)
-    ASSERT (signbit (minus_zerol));
-  else
-    ASSERT (!signbit (minus_zerol));
-  /* Infinite values.  */
-  ASSERT (!signbit (Infinityl ()));
-  ASSERT (signbit (- Infinityl ()));
-  /* Quiet NaN.  */
-  (void) signbit (zerol / zerol);
-#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
-  /* Signalling NaN.  */
-  {
-    #define NWORDS \
-      ((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned 
int))
-    typedef union { long double value; unsigned int word[NWORDS]; } 
memory_long_double;
-    memory_long_double m;
-    m.value = zerol / zerol;
-# if LDBL_EXPBIT0_BIT > 0
-    m.word[LDBL_EXPBIT0_WORD] ^= (unsigned int) 1 << (LDBL_EXPBIT0_BIT - 1);
-# else
-    m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-      ^= (unsigned int) 1 << (sizeof (unsigned int) * CHAR_BIT - 1);
-# endif
-    m.word[LDBL_EXPBIT0_WORD + (LDBL_EXPBIT0_WORD < NWORDS / 2 ? 1 : - 1)]
-      |= (unsigned int) 1 << LDBL_EXPBIT0_BIT;
-    (void) signbit (m.value);
-    #undef NWORDS
-  }
-#endif
-}
-
-int
-main ()
-{
-  test_signbitf ();
-  test_signbitd ();
-  test_signbitl ();
-  return 0;
-}
diff --git a/gltests/test-stat.c b/gltests/test-stat.c
index b59dbf4..9ed462a 100644
--- a/gltests/test-stat.c
+++ b/gltests/test-stat.c
@@ -1,5 +1,5 @@
 /* Tests of stat.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-stat.h b/gltests/test-stat.h
index 5409e05..6cfc958 100644
--- a/gltests/test-stat.h
+++ b/gltests/test-stat.h
@@ -1,5 +1,5 @@
 /* Tests of stat.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-stdbool.c b/gltests/test-stdbool.c
index 3c13ca2..efa8324 100644
--- a/gltests/test-stdbool.c
+++ b/gltests/test-stdbool.c
@@ -1,5 +1,5 @@
 /* Test of <stdbool.h> substitute.
-   Copyright (C) 2002-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2002-2007, 2009-2014 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/gltests/test-stddef.c b/gltests/test-stddef.c
index f42b4e0..d5d887e 100644
--- a/gltests/test-stddef.c
+++ b/gltests/test-stddef.c
@@ -1,5 +1,5 @@
 /* Test of <stddef.h> substitute.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-stdint.c b/gltests/test-stdint.c
index 1c559b0..008b517 100644
--- a/gltests/test-stdint.c
+++ b/gltests/test-stdint.c
@@ -1,5 +1,5 @@
 /* Test of <stdint.h> substitute.
-   Copyright (C) 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2014 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/gltests/test-stdio.c b/gltests/test-stdio.c
index 89c6548..d3f0e6b 100644
--- a/gltests/test-stdio.c
+++ b/gltests/test-stdio.c
@@ -1,5 +1,5 @@
 /* Test of <stdio.h> substitute.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 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/gltests/test-strerror.c b/gltests/test-strerror.c
index 6d5db0f..8e2ed7c 100644
--- a/gltests/test-strerror.c
+++ b/gltests/test-strerror.c
@@ -1,5 +1,5 @@
 /* Test of strerror() function.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/gltests/test-symlink.c b/gltests/test-symlink.c
index 9966516..78d46c2 100644
--- a/gltests/test-symlink.c
+++ b/gltests/test-symlink.c
@@ -1,5 +1,5 @@
 /* Tests of symlink.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-symlink.h b/gltests/test-symlink.h
index 56cdc84..eb11cf6 100644
--- a/gltests/test-symlink.h
+++ b/gltests/test-symlink.h
@@ -1,5 +1,5 @@
 /* Tests of symlink.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-isnanl-nolibm.c b/gltests/test-sys_time.c
similarity index 64%
rename from gltests/test-isnanl-nolibm.c
rename to gltests/test-sys_time.c
index 8f44de2..ea12c63 100644
--- a/gltests/test-isnanl-nolibm.c
+++ b/gltests/test-sys_time.c
@@ -1,5 +1,5 @@
-/* Test of isnanl() substitute.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+/* Test of <sys/time.h> substitute.
+   Copyright (C) 2007, 2009-2014 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
@@ -18,6 +18,17 @@
 
 #include <config.h>
 
-#include "isnanl-nolibm.h"
+#include <sys/time.h>
 
-#include "test-isnanl.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)
+{
+  return 0;
+}
diff --git a/gltests/test-sys_types.c b/gltests/test-sys_types.c
index 1045de7..ddcb6d2 100644
--- a/gltests/test-sys_types.c
+++ b/gltests/test-sys_types.c
@@ -1,5 +1,5 @@
 /* Test of <sys/types.h> substitute.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/gltests/test-unsetenv.c b/gltests/test-unsetenv.c
index c369e2a..50600a9 100644
--- a/gltests/test-unsetenv.c
+++ b/gltests/test-unsetenv.c
@@ -1,5 +1,5 @@
 /* Tests of unsetenv.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-vasnprintf.c b/gltests/test-vasnprintf.c
deleted file mode 100644
index 4cce0a9..0000000
--- a/gltests/test-vasnprintf.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Test of vasnprintf() and asnprintf() functions.
-   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 <address@hidden>, 2007.  */
-
-#include <config.h>
-
-#include "vasnprintf.h"
-
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "macros.h"
-
-static void
-test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
-{
-  char buf[8];
-  int size;
-
-  for (size = 0; size <= 8; size++)
-    {
-      size_t length = size;
-      char *result = my_asnprintf (NULL, &length, "%d", 12345);
-      ASSERT (result != NULL);
-      ASSERT (strcmp (result, "12345") == 0);
-      ASSERT (length == 5);
-      free (result);
-    }
-
-  for (size = 0; size <= 8; size++)
-    {
-      size_t length;
-      char *result;
-
-      memcpy (buf, "DEADBEEF", 8);
-      length = size;
-      result = my_asnprintf (buf, &length, "%d", 12345);
-      ASSERT (result != NULL);
-      ASSERT (strcmp (result, "12345") == 0);
-      ASSERT (length == 5);
-      if (size < 6)
-        ASSERT (result != buf);
-      ASSERT (memcmp (buf + size, &"DEADBEEF"[size], 8 - size) == 0);
-      if (result != buf)
-        free (result);
-    }
-}
-
-static char *
-my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)
-{
-  va_list args;
-  char *ret;
-
-  va_start (args, format);
-  ret = vasnprintf (resultbuf, lengthp, format, args);
-  va_end (args);
-  return ret;
-}
-
-static void
-test_vasnprintf ()
-{
-  test_function (my_asnprintf);
-}
-
-static void
-test_asnprintf ()
-{
-  test_function (asnprintf);
-}
-
-int
-main (int argc, char *argv[])
-{
-  test_vasnprintf ();
-  test_asnprintf ();
-  return 0;
-}
diff --git a/gltests/test-vc-list-files-cvs.sh 
b/gltests/test-vc-list-files-cvs.sh
index 1dbc532..51d3560 100755
--- a/gltests/test-vc-list-files-cvs.sh
+++ b/gltests/test-vc-list-files-cvs.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Unit tests for vc-list-files
-# Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 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/gltests/test-vc-list-files-git.sh 
b/gltests/test-vc-list-files-git.sh
index 8cbd00b..b31f99a 100755
--- a/gltests/test-vc-list-files-git.sh
+++ b/gltests/test-vc-list-files-git.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Unit tests for vc-list-files
-# Copyright (C) 2008-2013 Free Software Foundation, Inc.
+# Copyright (C) 2008-2014 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/gltests/test-verify.c b/gltests/test-verify.c
index 1056b4e..2a41eb1 100644
--- a/gltests/test-verify.c
+++ b/gltests/test-verify.c
@@ -1,6 +1,6 @@
 /* Test the "verify" module.
 
-   Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2014 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/gltests/test-version-etc.c b/gltests/test-version-etc.c
index 66027f3..d94f63f 100644
--- a/gltests/test-version-etc.c
+++ b/gltests/test-version-etc.c
@@ -1,5 +1,5 @@
 /* Test suite for version-etc.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/gltests/test-version-etc.sh b/gltests/test-version-etc.sh
index 466c959..c41f7ac 100755
--- a/gltests/test-version-etc.sh
+++ b/gltests/test-version-etc.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test suite for version-etc.
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 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/gltests/test-vfprintf-posix.c b/gltests/test-vfprintf-posix.c
deleted file mode 100644
index 53f951c..0000000
--- a/gltests/test-vfprintf-posix.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Test of POSIX compatible vfprintf() 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 <address@hidden>, 2007.  */
-
-#include <config.h>
-
-#include <stdio.h>
-
-#include "signature.h"
-SIGNATURE_CHECK (vfprintf, int, (FILE *, char const *, va_list));
-
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <string.h>
-
-#include "macros.h"
-
-#include "test-fprintf-posix.h"
-
-static int
-my_fprintf (FILE *fp, const char *format, ...)
-{
-  va_list args;
-  int ret;
-
-  va_start (args, format);
-  ret = vfprintf (fp, format, args);
-  va_end (args);
-  return ret;
-}
-
-int
-main (int argc, char *argv[])
-{
-  test_function (my_fprintf);
-  return 0;
-}
diff --git a/gltests/test-vfprintf-posix.sh b/gltests/test-vfprintf-posix.sh
deleted file mode 100755
index 74339ba..0000000
--- a/gltests/test-vfprintf-posix.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-tmpfiles=""
-trap 'rm -fr $tmpfiles' 1 2 3 15
-
-tmpfiles="$tmpfiles t-vfprintf-posix.tmp t-vfprintf-posix.out"
-./test-vfprintf-posix${EXEEXT} > t-vfprintf-posix.tmp || exit 1
-LC_ALL=C tr -d '\r' < t-vfprintf-posix.tmp > t-vfprintf-posix.out || exit 1
-
-: ${DIFF=diff}
-${DIFF} "${srcdir}/test-printf-posix.output" t-vfprintf-posix.out
-result=$?
-
-rm -fr $tmpfiles
-
-exit $result
diff --git a/gltests/time.in.h b/gltests/time.in.h
index 8ced794..81abdf4 100644
--- a/gltests/time.in.h
+++ b/gltests/time.in.h
@@ -1,6 +1,6 @@
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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
@@ -48,20 +48,13 @@
 
 /* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
    Or they define it with the wrong member names or define it in <sys/time.h>
-   (e.g., FreeBSD circa 1997).  Stock Mingw does not define it, but the
-   pthreads-win32 library defines it in <pthread.h>.  */
+   (e.g., FreeBSD circa 1997).  Stock Mingw prior to 3.0 does not define it,
+   but the pthreads-win32 library defines it in <pthread.h>.  */
 # if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@
 #  if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 #   include <sys/time.h>
 #  elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
 #   include <pthread.h>
-/* The pthreads-win32 <pthread.h> also defines a couple of broken macros.  */
-#   undef asctime_r
-#   undef ctime_r
-#   undef gmtime_r
-#   undef localtime_r
-#   undef rand_r
-#   undef strtok_r
 #  else
 
 #   ifdef __cplusplus
@@ -187,6 +180,39 @@ _GL_CXXALIASWARN (gmtime_r);
 #  endif
 # endif
 
+/* Convert TIMER to RESULT, assuming local time and UTC respectively.  See
+   <http://www.opengroup.org/susv3xsh/localtime.html> and
+   <http://www.opengroup.org/susv3xsh/gmtime.html>.  */
+# if @GNULIB_GETTIMEOFDAY@
+#  if @REPLACE_LOCALTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef localtime
+#    define localtime rpl_localtime
+#   endif
+_GL_FUNCDECL_RPL (localtime, struct tm *, (time_t const *__timer)
+                                         _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (localtime, struct tm *, (time_t const *__timer));
+#  else
+_GL_CXXALIAS_SYS (localtime, struct tm *, (time_t const *__timer));
+#  endif
+_GL_CXXALIASWARN (localtime);
+# endif
+
+# if @GNULIB_GETTIMEOFDAY@
+#  if @REPLACE_GMTIME@
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef gmtime
+#    define gmtime rpl_gmtime
+#   endif
+_GL_FUNCDECL_RPL (gmtime, struct tm *, (time_t const *__timer)
+                                       _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (gmtime, struct tm *, (time_t const *__timer));
+#  else
+_GL_CXXALIAS_SYS (gmtime, struct tm *, (time_t const *__timer));
+#  endif
+_GL_CXXALIASWARN (gmtime);
+# endif
+
 /* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store
    the resulting broken-down time into TM.  See
    <http://www.opengroup.org/susv3xsh/strptime.html>.  */
diff --git a/gltests/unsetenv.c b/gltests/unsetenv.c
index c58c82f..53721fc 100644
--- a/gltests/unsetenv.c
+++ b/gltests/unsetenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2014 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
diff --git a/gltests/version-etc-fsf.c b/gltests/version-etc-fsf.c
index e1c69da..b37dd60 100644
--- a/gltests/version-etc-fsf.c
+++ b/gltests/version-etc-fsf.c
@@ -1,5 +1,5 @@
 /* Variable with FSF copyright information, for version-etc.
-   Copyright (C) 1999-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999-2006, 2009-2014 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/gl/wchar.in.h b/gltests/wchar.in.h
similarity index 99%
rename from gl/wchar.in.h
rename to gltests/wchar.in.h
index b6e4362..473285f 100644
--- a/gl/wchar.in.h
+++ b/gltests/wchar.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/gltests/zerosize-ptr.h b/gltests/zerosize-ptr.h
deleted file mode 100644
index f0e6155..0000000
--- a/gltests/zerosize-ptr.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Return a pointer to a zero-size object in memory.
-   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/>.  */
-
-/* ISO C 99 does not allow memcmp(), memchr() etc. to be invoked with a NULL
-   argument.  Therefore this file produces a non-NULL pointer which cannot
-   be dereferenced, if possible.  */
-
-#include <stdlib.h>
-
-/* Test whether mmap() and mprotect() are available.
-   We don't use HAVE_MMAP, because AC_FUNC_MMAP would not define it on HP-UX.
-   HAVE_MPROTECT is not enough, because mingw does not have mmap() but has an
-   mprotect() function in libgcc.a.  */
-#if HAVE_SYS_MMAN_H && HAVE_MPROTECT
-# include <fcntl.h>
-# include <unistd.h>
-# include <sys/types.h>
-# include <sys/mman.h>
-/* Define MAP_FILE when it isn't otherwise.  */
-# ifndef MAP_FILE
-#  define MAP_FILE 0
-# endif
-#endif
-
-/* Return a pointer to a zero-size object in memory (that is, actually, a
-   pointer to a page boundary where the previous page is readable and writable
-   and the next page is neither readable not writable), if possible.
-   Return NULL otherwise.  */
-
-static void *
-zerosize_ptr (void)
-{
-/* Use mmap and mprotect when they exist.  Don't test HAVE_MMAP, because it is
-   not defined on HP-UX 11 (since it does not support MAP_FIXED).  */
-#if HAVE_SYS_MMAN_H && HAVE_MPROTECT
-# if HAVE_MAP_ANONYMOUS
-  const int flags = MAP_ANONYMOUS | MAP_PRIVATE;
-  const int fd = -1;
-# else /* !HAVE_MAP_ANONYMOUS */
-  const int flags = MAP_FILE | MAP_PRIVATE;
-  int fd = open ("/dev/zero", O_RDONLY, 0666);
-  if (fd >= 0)
-# endif
-    {
-      int pagesize = getpagesize ();
-      char *two_pages =
-        (char *) mmap (NULL, 2 * pagesize, PROT_READ | PROT_WRITE,
-                       flags, fd, 0);
-      if (two_pages != (char *)(-1)
-          && mprotect (two_pages + pagesize, pagesize, PROT_NONE) == 0)
-        return two_pages + pagesize;
-    }
-#endif
-  return NULL;
-}
diff --git a/java/Makefile.am b/java/Makefile.am
index c8374d7..84b45dd 100644
--- a/java/Makefile.am
+++ b/java/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/Makefile.am b/java/src/Makefile.am
index e9b83b6..9ceff24 100644
--- a/java/src/Makefile.am
+++ b/java/src/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/main/Makefile.am b/java/src/main/Makefile.am
index 7873a72..7752991 100644
--- a/java/src/main/Makefile.am
+++ b/java/src/main/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/main/java/Makefile.am b/java/src/main/java/Makefile.am
index b67b723..af67061 100644
--- a/java/src/main/java/Makefile.am
+++ b/java/src/main/java/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/main/java/gnu/Makefile.am 
b/java/src/main/java/gnu/Makefile.am
index 6c81dcf..fe9953e 100644
--- a/java/src/main/java/gnu/Makefile.am
+++ b/java/src/main/java/gnu/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/main/java/gnu/inet/Makefile.am 
b/java/src/main/java/gnu/inet/Makefile.am
index 2a78bb6..a36a82f 100644
--- a/java/src/main/java/gnu/inet/Makefile.am
+++ b/java/src/main/java/gnu/inet/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/main/java/gnu/inet/encoding/IDNA.java 
b/java/src/main/java/gnu/inet/encoding/IDNA.java
index 9fdace1..b4e9039 100644
--- a/java/src/main/java/gnu/inet/encoding/IDNA.java
+++ b/java/src/main/java/gnu/inet/encoding/IDNA.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/java/src/main/java/gnu/inet/encoding/IDNAException.java 
b/java/src/main/java/gnu/inet/encoding/IDNAException.java
index 0016ee6..68d9e42 100644
--- a/java/src/main/java/gnu/inet/encoding/IDNAException.java
+++ b/java/src/main/java/gnu/inet/encoding/IDNAException.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/java/src/main/java/gnu/inet/encoding/Makefile.am 
b/java/src/main/java/gnu/inet/encoding/Makefile.am
index bd9738a..fb679de 100644
--- a/java/src/main/java/gnu/inet/encoding/Makefile.am
+++ b/java/src/main/java/gnu/inet/encoding/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/main/java/gnu/inet/encoding/NFKC.java 
b/java/src/main/java/gnu/inet/encoding/NFKC.java
index d523d76..795c20e 100644
--- a/java/src/main/java/gnu/inet/encoding/NFKC.java
+++ b/java/src/main/java/gnu/inet/encoding/NFKC.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/java/src/main/java/gnu/inet/encoding/Punycode.java 
b/java/src/main/java/gnu/inet/encoding/Punycode.java
index 9da0860..b45374b 100644
--- a/java/src/main/java/gnu/inet/encoding/Punycode.java
+++ b/java/src/main/java/gnu/inet/encoding/Punycode.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/java/src/main/java/gnu/inet/encoding/PunycodeException.java 
b/java/src/main/java/gnu/inet/encoding/PunycodeException.java
index 6425d7c..c5f437e 100644
--- a/java/src/main/java/gnu/inet/encoding/PunycodeException.java
+++ b/java/src/main/java/gnu/inet/encoding/PunycodeException.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/java/src/main/java/gnu/inet/encoding/RangeSet.java 
b/java/src/main/java/gnu/inet/encoding/RangeSet.java
index b4bb488..2d786e6 100644
--- a/java/src/main/java/gnu/inet/encoding/RangeSet.java
+++ b/java/src/main/java/gnu/inet/encoding/RangeSet.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
    Author: Stefan Larsson
 
    This file is part of GNU Libidn.
diff --git a/java/src/main/java/gnu/inet/encoding/Stringprep.java 
b/java/src/main/java/gnu/inet/encoding/Stringprep.java
index 947a29e..ae0e382 100644
--- a/java/src/main/java/gnu/inet/encoding/Stringprep.java
+++ b/java/src/main/java/gnu/inet/encoding/Stringprep.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/java/src/main/java/gnu/inet/encoding/StringprepException.java 
b/java/src/main/java/gnu/inet/encoding/StringprepException.java
index 9b054aa..bb01034 100644
--- a/java/src/main/java/gnu/inet/encoding/StringprepException.java
+++ b/java/src/main/java/gnu/inet/encoding/StringprepException.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/java/src/test/Makefile.am b/java/src/test/Makefile.am
index 7873a72..7752991 100644
--- a/java/src/test/Makefile.am
+++ b/java/src/test/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/test/java/Makefile.am b/java/src/test/java/Makefile.am
index 45e6958..079810a 100644
--- a/java/src/test/java/Makefile.am
+++ b/java/src/test/java/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/test/java/gnu/inet/encoding/RangeSetTest.java 
b/java/src/test/java/gnu/inet/encoding/RangeSetTest.java
index 9f1936e..14bb2d2 100644
--- a/java/src/test/java/gnu/inet/encoding/RangeSetTest.java
+++ b/java/src/test/java/gnu/inet/encoding/RangeSetTest.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
    Author: Stefan Larsson
 
    This file is part of GNU Libidn.
diff --git a/java/src/test/java/gnu/inet/encoding/StringprepTest.java 
b/java/src/test/java/gnu/inet/encoding/StringprepTest.java
index 43bf16e..5e3f08f 100644
--- a/java/src/test/java/gnu/inet/encoding/StringprepTest.java
+++ b/java/src/test/java/gnu/inet/encoding/StringprepTest.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
    Author: Stefan Larsson
 
    This file is part of GNU Libidn.
diff --git 
a/java/src/test/java/gnu/inet/encoding/caliper/CaliperStringprep.java 
b/java/src/test/java/gnu/inet/encoding/caliper/CaliperStringprep.java
index d317907..e668e9d 100644
--- a/java/src/test/java/gnu/inet/encoding/caliper/CaliperStringprep.java
+++ b/java/src/test/java/gnu/inet/encoding/caliper/CaliperStringprep.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2014 Free Software Foundation, Inc.
    Author: Stefan Larsson
 
    This file is part of GNU Libidn.
diff --git a/java/src/util/Makefile.am b/java/src/util/Makefile.am
index 7873a72..7752991 100644
--- a/java/src/util/Makefile.am
+++ b/java/src/util/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Simon Josefsson
+# Copyright (C) 2004-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/util/java/GenerateNFKC.java 
b/java/src/util/java/GenerateNFKC.java
index 4e37918..f09fd2d 100644
--- a/java/src/util/java/GenerateNFKC.java
+++ b/java/src/util/java/GenerateNFKC.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/java/src/util/java/GenerateRFC3454.java 
b/java/src/util/java/GenerateRFC3454.java
index b7e364e..ccdc52f 100644
--- a/java/src/util/java/GenerateRFC3454.java
+++ b/java/src/util/java/GenerateRFC3454.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/java/src/util/java/Makefile.am b/java/src/util/java/Makefile.am
index f7f2992..a3cfe1c 100644
--- a/java/src/util/java/Makefile.am
+++ b/java/src/util/java/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/util/java/TestIDNA.java b/java/src/util/java/TestIDNA.java
index 906bcc4..e3aeaa1 100644
--- a/java/src/util/java/TestIDNA.java
+++ b/java/src/util/java/TestIDNA.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/java/src/util/java/TestNFKC.java b/java/src/util/java/TestNFKC.java
index 244c54c..2f0dafa 100644
--- a/java/src/util/java/TestNFKC.java
+++ b/java/src/util/java/TestNFKC.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
    Author: Oliver Hitz
 
    This file is part of GNU Libidn.
diff --git a/lib/Makefile.am b/lib/Makefile.am
index f230f40..8c5315f 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson.
-# Copyright (C) 2004, 2010-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Simon Josefsson.
+# Copyright (C) 2004, 2010-2014 Free Software Foundation, Inc.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/lib/gen-stringprep-tables.pl b/lib/gen-stringprep-tables.pl
index 408fae1..9c2da0c 100755
--- a/lib/gen-stringprep-tables.pl
+++ b/lib/gen-stringprep-tables.pl
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
-# Copyright (C) 2002-2013 Simon Josefsson
+# Copyright (C) 2002-2014 Simon Josefsson
 
 # 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/lib/gen-tld-tables.pl b/lib/gen-tld-tables.pl
index 1e701d7..f73f288 100755
--- a/lib/gen-tld-tables.pl
+++ b/lib/gen-tld-tables.pl
@@ -2,8 +2,8 @@
 
 # Author: Thomas Jacob, Internet24.de
 
-# Copyright (C) 2004-2013 Simon Josefsson.
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Simon Josefsson.
+# Copyright (C) 2004-2014 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/lib/gen-unicode-tables.pl b/lib/gen-unicode-tables.pl
index 56bbb73..03c3582 100755
--- a/lib/gen-unicode-tables.pl
+++ b/lib/gen-unicode-tables.pl
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
-#    Copyright (C) 2004-2013 Simon Josefsson
+#    Copyright (C) 2004-2014 Simon Josefsson
 #    Copyright (C) 1998, 1999 Tom Tromey
 #    Copyright (C) 2001 Red Hat Software
 
diff --git a/lib/gl/Makefile.am b/lib/gl/Makefile.am
index fdcce9a..b02a78d 100644
--- a/lib/gl/Makefile.am
+++ b/lib/gl/Makefile.am
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 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
@@ -53,6 +53,15 @@ libgnu_la_LDFLAGS += -no-undefined
 libgnu_la_LDFLAGS += $(LTLIBICONV)
 libgnu_la_LDFLAGS += $(LTLIBINTL)
 
+## begin gnulib module absolute-header
+
+# Use this preprocessor expression to decide whether #include_next works.
+# Do not rely on a 'configure'-time test for this, since the expression
+# might appear in an installed header, which is used by some other compiler.
+HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER)
+
+## end   gnulib module absolute-header
+
 ## begin gnulib module c-ctype
 
 libgnu_la_SOURCES += c-ctype.h c-ctype.c
@@ -473,6 +482,31 @@ EXTRA_libgnu_la_SOURCES += strverscmp.c
 
 ## end   gnulib module strverscmp
 
+## begin gnulib module sys_types
+
+BUILT_SOURCES += sys/types.h
+
+# We need the following in order to create <sys/types.h> when the system
+# doesn't have one that works with the given compiler.
+sys/types.h: sys_types.in.h $(top_builddir)/config.status
+       $(AM_V_at)$(MKDIR_P) sys
+       $(AM_V_GEN)rm -f address@hidden $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|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_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
+             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
+             < $(srcdir)/sys_types.in.h; \
+       } > address@hidden && \
+       mv address@hidden $@
+MOSTLYCLEANFILES += sys/types.h sys/types.h-t
+
+EXTRA_DIST += sys_types.in.h
+
+## end   gnulib module sys_types
+
 ## begin gnulib module unistr/base
 
 BUILT_SOURCES += $(LIBUNISTRING_UNISTR_H)
diff --git a/lib/gl/c-ctype.c b/lib/gl/c-ctype.c
index 567c9db..f043309 100644
--- a/lib/gl/c-ctype.c
+++ b/lib/gl/c-ctype.c
@@ -1,6 +1,6 @@
 /* Character handling in C locale.
 
-   Copyright 2000-2003, 2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright 2000-2003, 2006, 2009-2014 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gl/c-ctype.h b/lib/gl/c-ctype.h
index fa992f6..50757ef 100644
--- a/lib/gl/c-ctype.h
+++ b/lib/gl/c-ctype.h
@@ -5,7 +5,7 @@
    <ctype.h> functions' behaviour depends on the current locale set via
    setlocale.
 
-   Copyright (C) 2000-2003, 2006, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2006, 2008-2014 Free Software Foundation, Inc.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gl/c-strcase.h b/lib/gl/c-strcase.h
index a38b1dd..a96dcb5 100644
--- a/lib/gl/c-strcase.h
+++ b/lib/gl/c-strcase.h
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison functions in C locale.
-   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2013 Free Software
+   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/gl/c-strcasecmp.c b/lib/gl/c-strcasecmp.c
index e7e286c..6ebbc96 100644
--- a/lib/gl/c-strcasecmp.c
+++ b/lib/gl/c-strcasecmp.c
@@ -1,5 +1,5 @@
 /* c-strcasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gl/c-strncasecmp.c b/lib/gl/c-strncasecmp.c
index e2c512e..1bf3a70 100644
--- a/lib/gl/c-strncasecmp.c
+++ b/lib/gl/c-strncasecmp.c
@@ -1,5 +1,5 @@
 /* c-strncasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2014 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gl/gettext.h b/lib/gl/gettext.h
index 10bdd8a..3485dd9 100644
--- a/lib/gl/gettext.h
+++ b/lib/gl/gettext.h
@@ -1,5 +1,5 @@
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2013 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2014 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/gl/iconv.c b/lib/gl/iconv.c
index 24abad7..802a1b7 100644
--- a/lib/gl/iconv.c
+++ b/lib/gl/iconv.c
@@ -1,5 +1,5 @@
 /* Character set conversion.
-   Copyright (C) 1999-2001, 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999-2001, 2007, 2009-2014 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gl/iconv.in.h b/lib/gl/iconv.in.h
index 26c6c99..0f210c9 100644
--- a/lib/gl/iconv.in.h
+++ b/lib/gl/iconv.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <iconv.h>.
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gl/iconv_close.c b/lib/gl/iconv_close.c
index 113069d..18ff47e 100644
--- a/lib/gl/iconv_close.c
+++ b/lib/gl/iconv_close.c
@@ -1,5 +1,5 @@
 /* Character set conversion.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gl/iconv_open.c b/lib/gl/iconv_open.c
index ff4f6c4..3f178c5 100644
--- a/lib/gl/iconv_open.c
+++ b/lib/gl/iconv_open.c
@@ -1,5 +1,5 @@
 /* Character set conversion.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gl/m4/00gnulib.m4 b/lib/gl/m4/00gnulib.m4
index d4ad759..8eca551 100644
--- a/lib/gl/m4/00gnulib.m4
+++ b/lib/gl/m4/00gnulib.m4
@@ -1,12 +1,28 @@
-# 00gnulib.m4 serial 2
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# 00gnulib.m4 serial 3
+dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl This file must be named something that sorts before all other
 dnl gnulib-provided .m4 files.  It is needed until such time as we can
-dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
+dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and
+dnl m4_divert semantics.
+
+# Until autoconf 2.63, handling of the diversion stack required m4_init
+# to be called first; but this does not happen with aclocal.  Wrapping
+# the entire execution in another layer of the diversion stack fixes this.
+# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4
+# for whether it was FIFO or LIFO; in order to properly balance with
+# m4_init, we need to undo our push just before anything wrapped within
+# the m4_init body.  The way to ensure this is to wrap both sides of
+# m4_init with a one-shot macro that does the pop at the right time.
+m4_ifndef([_m4_divert_diversion],
+[m4_divert_push([KILL])
+m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])])
+m4_define([m4_init],
+  [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])])
+
 
 # AC_DEFUN_ONCE([NAME], VALUE)
 # ----------------------------
diff --git a/lib/gl/m4/absolute-header.m4 b/lib/gl/m4/absolute-header.m4
new file mode 100644
index 0000000..ce3e39e
--- /dev/null
+++ b/lib/gl/m4/absolute-header.m4
@@ -0,0 +1,102 @@
+# absolute-header.m4 serial 16
+dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Derek Price.
+
+# gl_ABSOLUTE_HEADER(HEADER1 HEADER2 ...)
+# ---------------------------------------
+# Find the absolute name of a header file, testing first if the header exists.
+# If the header were sys/inttypes.h, this macro would define
+# ABSOLUTE_SYS_INTTYPES_H to the '""' quoted absolute name of sys/inttypes.h
+# in config.h
+# (e.g. '#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
+# The three "///" are to pacify Sun C 5.8, which otherwise would say
+# "warning: #include of /usr/include/... may be non-portable".
+# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
+# Note: This macro assumes that the header file is not empty after
+# preprocessing, i.e. it does not only define preprocessor macros but also
+# provides some type/enum definitions or function/variable declarations.
+AC_DEFUN([gl_ABSOLUTE_HEADER],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_LANG_PREPROC_REQUIRE()dnl
+dnl FIXME: gl_absolute_header and ac_header_exists must be used unquoted
+dnl until we can assume autoconf 2.64 or newer.
+m4_foreach_w([gl_HEADER_NAME], [$1],
+  [AS_VAR_PUSHDEF([gl_absolute_header],
+                  [gl_cv_absolute_]m4_defn([gl_HEADER_NAME]))dnl
+  AC_CACHE_CHECK([absolute name of <]m4_defn([gl_HEADER_NAME])[>],
+    m4_defn([gl_absolute_header]),
+    [AS_VAR_PUSHDEF([ac_header_exists],
+                    [ac_cv_header_]m4_defn([gl_HEADER_NAME]))dnl
+    AC_CHECK_HEADERS_ONCE(m4_defn([gl_HEADER_NAME]))dnl
+    if test AS_VAR_GET(ac_header_exists) = yes; then
+      gl_ABSOLUTE_HEADER_ONE(m4_defn([gl_HEADER_NAME]))
+    fi
+    AS_VAR_POPDEF([ac_header_exists])dnl
+    ])dnl
+  AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_defn([gl_HEADER_NAME])),
+                     ["AS_VAR_GET(gl_absolute_header)"],
+                     [Define this to an absolute name of 
<]m4_defn([gl_HEADER_NAME])[>.])
+  AS_VAR_POPDEF([gl_absolute_header])dnl
+])dnl
+])# gl_ABSOLUTE_HEADER
+
+# gl_ABSOLUTE_HEADER_ONE(HEADER)
+# ------------------------------
+# Like gl_ABSOLUTE_HEADER, except that:
+#   - it assumes that the header exists,
+#   - it uses the current CPPFLAGS,
+#   - it does not cache the result,
+#   - it is silent.
+AC_DEFUN([gl_ABSOLUTE_HEADER_ONE],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote([$1])[[>]])])
+  dnl AIX "xlc -E" and "cc -E" omit #line directives for header files
+  dnl that contain only a #include of other header files and no
+  dnl non-comment tokens of their own. This leads to a failure to
+  dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h>
+  dnl and others. The workaround is to force preservation of comments
+  dnl through option -C. This ensures all necessary #line directives
+  dnl are present. GCC supports option -C as well.
+  case "$host_os" in
+    aix*) gl_absname_cpp="$ac_cpp -C" ;;
+    *)    gl_absname_cpp="$ac_cpp" ;;
+  esac
+changequote(,)
+  case "$host_os" in
+    mingw*)
+      dnl For the sake of native Windows compilers (excluding gcc),
+      dnl treat backslash as a directory separator, like /.
+      dnl Actually, these compilers use a double-backslash as
+      dnl directory separator, inside the
+      dnl   # line "filename"
+      dnl directives.
+      gl_dirsep_regex='[/\\]'
+      ;;
+    *)
+      gl_dirsep_regex='\/'
+      ;;
+  esac
+  dnl A sed expression that turns a string into a basic regular
+  dnl expression, for use within "/.../".
+  gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+  gl_header_literal_regex=`echo '$1' \
+                           | sed -e "$gl_make_literal_regex_sed"`
+  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+      s|^/[^/]|//&|
+      p
+      q
+    }'
+changequote([,])
+  dnl eval is necessary to expand gl_absname_cpp.
+  dnl Ultrix and Pyramid sh refuse to redirect output of eval,
+  dnl so use subshell.
+  AS_VAR_SET([gl_cv_absolute_]AS_TR_SH([[$1]]),
+[`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+  sed -n "$gl_absolute_header_sed"`])
+])
diff --git a/lib/gl/m4/alloca.m4 b/lib/gl/m4/alloca.m4
index 270abd0..d7bdea6 100644
--- a/lib/gl/m4/alloca.m4
+++ b/lib/gl/m4/alloca.m4
@@ -1,5 +1,5 @@
 # alloca.m4 serial 14
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/lib/gl/m4/codeset.m4 b/lib/gl/m4/codeset.m4
index c2761be..d7de8d6 100644
--- a/lib/gl/m4/codeset.m4
+++ b/lib/gl/m4/codeset.m4
@@ -1,5 +1,5 @@
 # codeset.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2006, 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/eealloc.m4 b/lib/gl/m4/eealloc.m4
index c640ec1..8a51fe7 100644
--- a/lib/gl/m4/eealloc.m4
+++ b/lib/gl/m4/eealloc.m4
@@ -1,5 +1,5 @@
 # eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/environ.m4 b/lib/gl/m4/environ.m4
index 593a33e..cfabe46 100644
--- a/lib/gl/m4/environ.m4
+++ b/lib/gl/m4/environ.m4
@@ -1,5 +1,5 @@
 # environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/extensions.m4 b/lib/gl/m4/extensions.m4
index e30f122..37f55ca 100644
--- a/lib/gl/m4/extensions.m4
+++ b/lib/gl/m4/extensions.m4
@@ -1,7 +1,7 @@
 # serial 13  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc.
 # This file 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.
diff --git a/lib/gl/m4/extern-inline.m4 b/lib/gl/m4/extern-inline.m4
index e4454d8..7f1bb39 100644
--- a/lib/gl/m4/extern-inline.m4
+++ b/lib/gl/m4/extern-inline.m4
@@ -1,7 +1,6 @@
-# extern-inline.m4 serial 2
 dnl 'extern inline' a la ISO C99.
 
-dnl Copyright 2012-2013 Free Software Foundation, Inc.
+dnl Copyright 2012-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -20,28 +19,48 @@ AC_DEFUN([gl_EXTERN_INLINE],
    'reference to static identifier "f" in extern inline function'.
    This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
 
-   Suppress the use of extern inline on problematic Apple configurations, as
-   Libc at least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
-   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
-   Perhaps Apple will fix this some day.  */
-#if (defined __APPLE__ \
-     && ((! defined _DONT_USE_CTYPE_INLINE_ \
-          && (defined __GNUC__ || defined __cplusplus)) \
-         || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
-             && defined __GNUC__ && ! defined __cplusplus)))
-# define _GL_EXTERN_INLINE_APPLE_BUG
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions.  This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     
http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
+
+   OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+   for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
+   Assume DragonFly and FreeBSD will be similar.  */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
+     && (defined __header_inline \
+         ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+            && ! defined __clang__) \
+         : ((! defined _DONT_USE_CTYPE_INLINE_ \
+             && (defined __GNUC__ || defined __cplusplus)) \
+            || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+                && defined __GNUC__ && ! defined __cplusplus))))
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
 #endif
 #if ((__GNUC__ \
       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
       : (199901L <= __STDC_VERSION__ \
          && !defined __HP_cc \
          && !(defined __SUNPRO_C && __STDC__))) \
-     && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # define _GL_INLINE inline
 # define _GL_EXTERN_INLINE extern inline
 # define _GL_EXTERN_INLINE_IN_USE
 #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
-       && !defined _GL_EXTERN_INLINE_APPLE_BUG)
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
    /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
 #  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
diff --git a/lib/gl/m4/gnulib-cache.m4 b/lib/gl/m4/gnulib-cache.m4
index e2da31c..d2e948d 100644
--- a/lib/gl/m4/gnulib-cache.m4
+++ b/lib/gl/m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 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
diff --git a/lib/gl/m4/gnulib-common.m4 b/lib/gl/m4/gnulib-common.m4
index 0ae5a9e..35f6195 100644
--- a/lib/gl/m4/gnulib-common.m4
+++ b/lib/gl/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
-# gnulib-common.m4 serial 33
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 35
+dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -49,6 +49,16 @@ AC_DEFUN([gl_COMMON_BODY], [
    is a misnomer outside of parameter lists.  */
 #define _UNUSED_PARAMETER_ _GL_UNUSED
 
+/* gcc supports the "unused" attribute on possibly unused labels, and
+   g++ has since version 4.5.  Note to support C++ as well as C,
+   _GL_UNUSED_LABEL should be used with a trailing ;  */
+#if !defined __cplusplus || __GNUC__ > 4 \
+    || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+# define _GL_UNUSED_LABEL _GL_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
 /* The __pure__ attribute was added in gcc 2.96.  */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 # define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
@@ -375,3 +385,63 @@ AC_DEFUN([gl_CACHE_VAL_SILENT],
   AC_CACHE_VAL([$1], [$2])
   as_echo_n="$saved_as_echo_n"
 ])
+
+# AS_VAR_COPY was added in autoconf 2.63b
+m4_define_default([AS_VAR_COPY],
+[AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])])
+
+# AC_PROG_SED was added in autoconf 2.59b
+m4_ifndef([AC_PROG_SED],
+[AC_DEFUN([AC_PROG_SED],
+[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED,
+    [dnl ac_script should not contain more than 99 commands (for HP-UX sed),
+     dnl but more than about 7000 bytes, to catch a limit in Solaris 8 
/usr/ucb/sed.
+     
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     AS_UNSET([ac_script])
+     if test -z "$SED"; then
+       ac_path_SED_found=false
+       _AS_PATH_WALK([], [
+         for ac_prog in sed gsed; do
+           for ac_exec_ext in '' $ac_executable_extensions; do
+             ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+             AS_EXECUTABLE_P(["$ac_path_SED"]) || continue
+             case `"$ac_path_SED" --version 2>&1` in
+               *GNU*) ac_cv_path_SED=$ac_path_SED ac_path_SED_found=:;;
+               *)
+                 ac_count=0
+                 _AS_ECHO_N([0123456789]) >conftest.in
+                 while :
+                 do
+                   cat conftest.in conftest.in >conftest.tmp
+                   mv conftest.tmp conftest.in
+                   cp conftest.in conftest.nl
+                   echo >> conftest.nl
+                   "$ac_path_SED" -f conftest.sed <conftest.nl >conftest.out 
2>/dev/null || break
+                   diff conftest.out conftest.nl >/dev/null 2>&1 || break
+                   ac_count=`expr $ac_count + 1`
+                   if test $ac_count -gt ${ac_path_SED_max-0}; then
+                     # Best so far, but keep looking for better
+                     ac_cv_path_SED=$ac_path_SED
+                     ac_path_SED_max=$ac_count
+                   fi
+                   test $ac_count -gt 10 && break
+                 done
+                 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+             esac
+             $ac_path_SED_found && break 3
+           done
+         done])
+       if test -z "$ac_cv_path_SED"; then
+         AC_ERROR([no acceptable sed could be found in \$PATH])
+       fi
+     else
+       ac_cv_path_SED=$SED
+     fi
+ SED="$ac_cv_path_SED"
+ AC_SUBST([SED])dnl
+ rm -f conftest.sed
+])])])
diff --git a/lib/gl/m4/gnulib-comp.m4 b/lib/gl/m4/gnulib-comp.m4
index 0455349..df1492a 100644
--- a/lib/gl/m4/gnulib-comp.m4
+++ b/lib/gl/m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 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
@@ -39,6 +39,7 @@ AC_DEFUN([lgl_EARLY],
   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
   AC_REQUIRE([gl_PROG_AR_RANLIB])
   AC_REQUIRE([AM_PROG_CC_C_O])
+  # Code from module absolute-header:
   # Code from module alloca-opt:
   # Code from module alloca-opt-tests:
   # Code from module c-ctype:
@@ -159,6 +160,7 @@ AC_DEFUN([lgl_INIT],
   gl_LD_VERSION_SCRIPT
   gl_VISIBILITY
   gl_MULTIARCH
+  gt_TYPE_SSIZE_T
   AM_STDBOOL_H
   gl_STDDEF_H
   gl_STDINT_H
@@ -173,6 +175,8 @@ AC_DEFUN([lgl_INIT],
     gl_PREREQ_STRVERSCMP
   fi
   gl_STRING_MODULE_INDICATOR([strverscmp])
+  gl_SYS_TYPES_H
+  AC_PROG_MKDIR_P
   gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h])
   gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
   gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
@@ -265,12 +269,9 @@ changequote([, ])dnl
   gt_LOCALE_FR_UTF8
   gt_LOCALE_JA
   gt_LOCALE_ZH_CN
-  gt_TYPE_SSIZE_T
   AC_REQUIRE([gt_TYPE_WCHAR_T])
   AC_REQUIRE([gt_TYPE_WINT_T])
   gl_STDLIB_H
-  gl_SYS_TYPES_H
-  AC_PROG_MKDIR_P
   gl_THREAD
   gl_THREADLIB
   gl_UNISTD_H
@@ -402,12 +403,14 @@ AC_DEFUN([lgl_FILE_LIST], [
   lib/striconv.h
   lib/string.in.h
   lib/strverscmp.c
+  lib/sys_types.in.h
   lib/unistr.in.h
   lib/unistr/u8-mbtoucr.c
   lib/unistr/u8-uctomb-aux.c
   lib/unistr/u8-uctomb.c
   lib/unitypes.in.h
   m4/00gnulib.m4
+  m4/absolute-header.m4
   m4/alloca.m4
   m4/codeset.m4
   m4/eealloc.m4
@@ -520,7 +523,6 @@ AC_DEFUN([lgl_FILE_LIST], [
   tests=lib/setenv.c
   tests=lib/setlocale.c
   tests=lib/stdlib.in.h
-  tests=lib/sys_types.in.h
   tests=lib/unistd.c
   tests=lib/unistd.in.h
   tests=lib/unsetenv.c
diff --git a/lib/gl/m4/gnulib-tool.m4 b/lib/gl/m4/gnulib-tool.m4
index f3dea1a..a588e15 100644
--- a/lib/gl/m4/gnulib-tool.m4
+++ b/lib/gl/m4/gnulib-tool.m4
@@ -1,5 +1,5 @@
 # gnulib-tool.m4 serial 2
-dnl Copyright (C) 2004-2005, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/iconv.m4 b/lib/gl/m4/iconv.m4
index a503646..4b29c5f 100644
--- a/lib/gl/m4/iconv.m4
+++ b/lib/gl/m4/iconv.m4
@@ -1,5 +1,5 @@
 # iconv.m4 serial 18 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/iconv_h.m4 b/lib/gl/m4/iconv_h.m4
index f0519d9..e992fa3 100644
--- a/lib/gl/m4/iconv_h.m4
+++ b/lib/gl/m4/iconv_h.m4
@@ -1,5 +1,5 @@
 # iconv_h.m4 serial 8
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/iconv_open.m4 b/lib/gl/m4/iconv_open.m4
index 1dcf414..e0bfd72 100644
--- a/lib/gl/m4/iconv_open.m4
+++ b/lib/gl/m4/iconv_open.m4
@@ -1,5 +1,5 @@
 # iconv_open.m4 serial 14
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/include_next.m4 b/lib/gl/m4/include_next.m4
index 108d945..69ad3db 100644
--- a/lib/gl/m4/include_next.m4
+++ b/lib/gl/m4/include_next.m4
@@ -1,5 +1,5 @@
 # include_next.m4 serial 23
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -192,56 +192,9 @@ dnl until we can assume autoconf 2.64 or newer.
              if test AS_VAR_GET(gl_header_exists) = yes; then
              AS_VAR_POPDEF([gl_header_exists])
             ])
-               AC_LANG_CONFTEST(
-                 [AC_LANG_SOURCE(
-                    [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
-                  )])
-               dnl AIX "xlc -E" and "cc -E" omit #line directives for header
-               dnl files that contain only a #include of other header files and
-               dnl no non-comment tokens of their own. This leads to a failure
-               dnl to detect the absolute name of <dirent.h>, <signal.h>,
-               dnl <poll.h> and others. The workaround is to force preservation
-               dnl of comments through option -C. This ensures all necessary
-               dnl #line directives are present. GCC supports option -C as 
well.
-               case "$host_os" in
-                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
-                 *)    gl_absname_cpp="$ac_cpp" ;;
-               esac
-changequote(,)
-               case "$host_os" in
-                 mingw*)
-                   dnl For the sake of native Windows compilers (excluding 
gcc),
-                   dnl treat backslash as a directory separator, like /.
-                   dnl Actually, these compilers use a double-backslash as
-                   dnl directory separator, inside the
-                   dnl   # line "filename"
-                   dnl directives.
-                   gl_dirsep_regex='[/\\]'
-                   ;;
-                 *)
-                   gl_dirsep_regex='\/'
-                   ;;
-               esac
-               dnl A sed expression that turns a string into a basic regular
-               dnl expression, for use within "/.../".
-               gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-changequote([,])
-               gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \
-                                        | sed -e "$gl_make_literal_regex_sed"`
-               
gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-                   
s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-changequote(,)dnl
-                   s|^/[^/]|//&|
-changequote([,])dnl
-                   p
-                   q
-                 }'
-               dnl eval is necessary to expand gl_absname_cpp.
-               dnl Ultrix and Pyramid sh refuse to redirect output of eval,
-               dnl so use subshell.
-               AS_VAR_SET(gl_next_header,
-                 ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 
2>&AS_MESSAGE_LOG_FD |
-                      sed -n "$gl_absolute_header_sed"`'"'])
+           gl_ABSOLUTE_HEADER_ONE(gl_HEADER_NAME)
+           AS_VAR_COPY([gl_header], [gl_cv_absolute_]AS_TR_SH(gl_HEADER_NAME))
+           AS_VAR_SET(gl_next_header, ['"'$gl_header'"'])
           m4_if([$2], [check],
             [else
                AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
diff --git a/lib/gl/m4/inline.m4 b/lib/gl/m4/inline.m4
index 3a50621..c49957f 100644
--- a/lib/gl/m4/inline.m4
+++ b/lib/gl/m4/inline.m4
@@ -1,5 +1,5 @@
 # inline.m4 serial 4
-dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/intlmacosx.m4 b/lib/gl/m4/intlmacosx.m4
index ab97d39..8a045f6 100644
--- a/lib/gl/m4/intlmacosx.m4
+++ b/lib/gl/m4/intlmacosx.m4
@@ -1,5 +1,5 @@
 # intlmacosx.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2004-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/inttypes-pri.m4 b/lib/gl/m4/inttypes-pri.m4
index e5a1e05..00251e1 100644
--- a/lib/gl/m4/inttypes-pri.m4
+++ b/lib/gl/m4/inttypes-pri.m4
@@ -1,5 +1,5 @@
 # inttypes-pri.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1997-2002, 2006, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2002, 2006, 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/inttypes.m4 b/lib/gl/m4/inttypes.m4
index b06c777..2f9317d 100644
--- a/lib/gl/m4/inttypes.m4
+++ b/lib/gl/m4/inttypes.m4
@@ -1,5 +1,5 @@
 # inttypes.m4 serial 26
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/lcmessage.m4 b/lib/gl/m4/lcmessage.m4
index d62a175..7470ec5 100644
--- a/lib/gl/m4/lcmessage.m4
+++ b/lib/gl/m4/lcmessage.m4
@@ -1,5 +1,5 @@
 # lcmessage.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1995-2002, 2004-2005, 2008-2013 Free Software Foundation,
+dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/lib/gl/m4/ld-output-def.m4 b/lib/gl/m4/ld-output-def.m4
index 59895bc..19d7e9a 100644
--- a/lib/gl/m4/ld-output-def.m4
+++ b/lib/gl/m4/ld-output-def.m4
@@ -1,5 +1,5 @@
 # ld-output-def.m4 serial 2
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/ld-version-script.m4 b/lib/gl/m4/ld-version-script.m4
index 63386f1..f8b4a5c 100644
--- a/lib/gl/m4/ld-version-script.m4
+++ b/lib/gl/m4/ld-version-script.m4
@@ -1,5 +1,5 @@
 # ld-version-script.m4 serial 3
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/lib-ld.m4 b/lib/gl/m4/lib-ld.m4
index c145e47..ddc569f 100644
--- a/lib/gl/m4/lib-ld.m4
+++ b/lib/gl/m4/lib-ld.m4
@@ -1,5 +1,5 @@
 # lib-ld.m4 serial 6
-dnl Copyright (C) 1996-2003, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2003, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/lib-link.m4 b/lib/gl/m4/lib-link.m4
index 073f040..3522d99 100644
--- a/lib/gl/m4/lib-link.m4
+++ b/lib/gl/m4/lib-link.m4
@@ -1,5 +1,5 @@
 # lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/lib-prefix.m4 b/lib/gl/m4/lib-prefix.m4
index 60908e8..31f49e4 100644
--- a/lib/gl/m4/lib-prefix.m4
+++ b/lib/gl/m4/lib-prefix.m4
@@ -1,5 +1,5 @@
 # lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2005, 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/libunistring-base.m4 b/lib/gl/m4/libunistring-base.m4
index d105c72..d003267 100644
--- a/lib/gl/m4/libunistring-base.m4
+++ b/lib/gl/m4/libunistring-base.m4
@@ -1,5 +1,5 @@
 # libunistring-base.m4 serial 5
-dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/locale-fr.m4 b/lib/gl/m4/locale-fr.m4
index ef199e3..27db5ab 100644
--- a/lib/gl/m4/locale-fr.m4
+++ b/lib/gl/m4/locale-fr.m4
@@ -1,5 +1,5 @@
 # locale-fr.m4 serial 17
-dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/locale-ja.m4 b/lib/gl/m4/locale-ja.m4
index 132a3e7..c88fe8b 100644
--- a/lib/gl/m4/locale-ja.m4
+++ b/lib/gl/m4/locale-ja.m4
@@ -1,5 +1,5 @@
 # locale-ja.m4 serial 12
-dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/locale-tr.m4 b/lib/gl/m4/locale-tr.m4
index aeb5615..535b256 100644
--- a/lib/gl/m4/locale-tr.m4
+++ b/lib/gl/m4/locale-tr.m4
@@ -1,5 +1,5 @@
 # locale-tr.m4 serial 10
-dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/locale-zh.m4 b/lib/gl/m4/locale-zh.m4
index 4eed73f..d3b2347 100644
--- a/lib/gl/m4/locale-zh.m4
+++ b/lib/gl/m4/locale-zh.m4
@@ -1,5 +1,5 @@
 # locale-zh.m4 serial 12
-dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/locale_h.m4 b/lib/gl/m4/locale_h.m4
index 8bd12e8..2838588 100644
--- a/lib/gl/m4/locale_h.m4
+++ b/lib/gl/m4/locale_h.m4
@@ -1,5 +1,5 @@
 # locale_h.m4 serial 19
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/localename.m4 b/lib/gl/m4/localename.m4
index 361ed73..d865c66 100644
--- a/lib/gl/m4/localename.m4
+++ b/lib/gl/m4/localename.m4
@@ -1,5 +1,5 @@
 # localename.m4 serial 2
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/lock.m4 b/lib/gl/m4/lock.m4
index aae1701..73a3c54 100644
--- a/lib/gl/m4/lock.m4
+++ b/lib/gl/m4/lock.m4
@@ -1,5 +1,5 @@
 # lock.m4 serial 13 (gettext-0.18.2)
-dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/longlong.m4 b/lib/gl/m4/longlong.m4
index 3af6ab5..eefb37c 100644
--- a/lib/gl/m4/longlong.m4
+++ b/lib/gl/m4/longlong.m4
@@ -1,5 +1,5 @@
 # longlong.m4 serial 17
-dnl Copyright (C) 1999-2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1999-2007, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/malloc.m4 b/lib/gl/m4/malloc.m4
index 4b24a0b..322ad6e 100644
--- a/lib/gl/m4/malloc.m4
+++ b/lib/gl/m4/malloc.m4
@@ -1,5 +1,5 @@
 # malloc.m4 serial 14
-dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/malloca.m4 b/lib/gl/m4/malloca.m4
index 791ce10..dcc1a08 100644
--- a/lib/gl/m4/malloca.m4
+++ b/lib/gl/m4/malloca.m4
@@ -1,5 +1,5 @@
 # malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2013 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2014 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/lib/gl/m4/multiarch.m4 b/lib/gl/m4/multiarch.m4
index 552ec7e..2cb956d 100644
--- a/lib/gl/m4/multiarch.m4
+++ b/lib/gl/m4/multiarch.m4
@@ -1,5 +1,5 @@
 # multiarch.m4 serial 7
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/off_t.m4 b/lib/gl/m4/off_t.m4
index d355d01..f5885b3 100644
--- a/lib/gl/m4/off_t.m4
+++ b/lib/gl/m4/off_t.m4
@@ -1,5 +1,5 @@
 # off_t.m4 serial 1
-dnl Copyright (C) 2012-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/putenv.m4 b/lib/gl/m4/putenv.m4
index c33b5b5..d79321b 100644
--- a/lib/gl/m4/putenv.m4
+++ b/lib/gl/m4/putenv.m4
@@ -1,5 +1,5 @@
 # putenv.m4 serial 20
-dnl Copyright (C) 2002-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/setenv.m4 b/lib/gl/m4/setenv.m4
index cb5351a..0f46a7b 100644
--- a/lib/gl/m4/setenv.m4
+++ b/lib/gl/m4/setenv.m4
@@ -1,5 +1,5 @@
 # setenv.m4 serial 26
-dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/setlocale.m4 b/lib/gl/m4/setlocale.m4
index 1133e65..fe83aab 100644
--- a/lib/gl/m4/setlocale.m4
+++ b/lib/gl/m4/setlocale.m4
@@ -1,5 +1,5 @@
 # setlocale.m4 serial 4
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/ssize_t.m4 b/lib/gl/m4/ssize_t.m4
index 6338134..fbe1d06 100644
--- a/lib/gl/m4/ssize_t.m4
+++ b/lib/gl/m4/ssize_t.m4
@@ -1,5 +1,5 @@
 # ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/stdbool.m4 b/lib/gl/m4/stdbool.m4
index 80d5559..006ed52 100644
--- a/lib/gl/m4/stdbool.m4
+++ b/lib/gl/m4/stdbool.m4
@@ -1,6 +1,6 @@
 # Check for stdbool.h that conforms to C99.
 
-dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/stddef_h.m4 b/lib/gl/m4/stddef_h.m4
index 5da8ab1..c555e29 100644
--- a/lib/gl/m4/stddef_h.m4
+++ b/lib/gl/m4/stddef_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
 # stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/stdint.m4 b/lib/gl/m4/stdint.m4
index 27cdcdb..1981d9d 100644
--- a/lib/gl/m4/stdint.m4
+++ b/lib/gl/m4/stdint.m4
@@ -1,5 +1,5 @@
 # stdint.m4 serial 43
-dnl Copyright (C) 2001-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/stdlib_h.m4 b/lib/gl/m4/stdlib_h.m4
index 2027ab3..03b448b 100644
--- a/lib/gl/m4/stdlib_h.m4
+++ b/lib/gl/m4/stdlib_h.m4
@@ -1,5 +1,5 @@
 # stdlib_h.m4 serial 42
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/string_h.m4 b/lib/gl/m4/string_h.m4
index cc5fbbb..64e683f 100644
--- a/lib/gl/m4/string_h.m4
+++ b/lib/gl/m4/string_h.m4
@@ -1,6 +1,6 @@
 # Configure a GNU-like replacement for <string.h>.
 
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
+# Copyright (C) 2007-2014 Free Software Foundation, Inc.
 # This file 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.
diff --git a/lib/gl/m4/strverscmp.m4 b/lib/gl/m4/strverscmp.m4
index 110daf2..aca1d54 100644
--- a/lib/gl/m4/strverscmp.m4
+++ b/lib/gl/m4/strverscmp.m4
@@ -1,5 +1,5 @@
 # strverscmp.m4 serial 8
-dnl Copyright (C) 2002, 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/sys_types_h.m4 b/lib/gl/m4/sys_types_h.m4
index d15c1b3..9748905 100644
--- a/lib/gl/m4/sys_types_h.m4
+++ b/lib/gl/m4/sys_types_h.m4
@@ -1,5 +1,5 @@
 # sys_types_h.m4 serial 5
-dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/thread.m4 b/lib/gl/m4/thread.m4
index 86da5c5..b6d602a 100644
--- a/lib/gl/m4/thread.m4
+++ b/lib/gl/m4/thread.m4
@@ -1,5 +1,5 @@
 # thread.m4 serial 3
-dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/threadlib.m4 b/lib/gl/m4/threadlib.m4
index 26bdeb5..a881702 100644
--- a/lib/gl/m4/threadlib.m4
+++ b/lib/gl/m4/threadlib.m4
@@ -1,5 +1,5 @@
 # threadlib.m4 serial 10 (gettext-0.18.2)
-dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/unistd_h.m4 b/lib/gl/m4/unistd_h.m4
index 4231578..1fa197e 100644
--- a/lib/gl/m4/unistd_h.m4
+++ b/lib/gl/m4/unistd_h.m4
@@ -1,5 +1,5 @@
 # unistd_h.m4 serial 67
-dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/visibility.m4 b/lib/gl/m4/visibility.m4
index 6cbd7e5..552e397 100644
--- a/lib/gl/m4/visibility.m4
+++ b/lib/gl/m4/visibility.m4
@@ -1,5 +1,5 @@
 # visibility.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2005, 2008, 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2008, 2010-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/warn-on-use.m4 b/lib/gl/m4/warn-on-use.m4
index e43beeb..cc690f8 100644
--- a/lib/gl/m4/warn-on-use.m4
+++ b/lib/gl/m4/warn-on-use.m4
@@ -1,5 +1,5 @@
 # warn-on-use.m4 serial 5
-dnl Copyright (C) 2010-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/wchar_h.m4 b/lib/gl/m4/wchar_h.m4
index bedb15a..85db952 100644
--- a/lib/gl/m4/wchar_h.m4
+++ b/lib/gl/m4/wchar_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
 
-dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/wchar_t.m4 b/lib/gl/m4/wchar_t.m4
index e1e1e69..839a04c 100644
--- a/lib/gl/m4/wchar_t.m4
+++ b/lib/gl/m4/wchar_t.m4
@@ -1,5 +1,5 @@
 # wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/wint_t.m4 b/lib/gl/m4/wint_t.m4
index d7cd3db..9b07b07 100644
--- a/lib/gl/m4/wint_t.m4
+++ b/lib/gl/m4/wint_t.m4
@@ -1,5 +1,5 @@
 # wint_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/m4/yield.m4 b/lib/gl/m4/yield.m4
index 8197766..e9442a6 100644
--- a/lib/gl/m4/yield.m4
+++ b/lib/gl/m4/yield.m4
@@ -1,5 +1,5 @@
 # yield.m4 serial 2
-dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/lib/gl/stdbool.in.h b/lib/gl/stdbool.in.h
index d0e4cff..6206d59 100644
--- a/lib/gl/stdbool.in.h
+++ b/lib/gl/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/gl/stddef.in.h b/lib/gl/stddef.in.h
index 51a308a..ec944fd 100644
--- a/lib/gl/stddef.in.h
+++ b/lib/gl/stddef.in.h
@@ -1,6 +1,6 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gl/stdint.in.h b/lib/gl/stdint.in.h
index 2430d52..9357a04 100644
--- a/lib/gl/stdint.in.h
+++ b/lib/gl/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
@@ -38,8 +38,7 @@
    other system header files; just include the system's <stdint.h>.
    Ideally we should test __BIONIC__ here, but it is only defined after
    <sys/cdefs.h> has been included; hence test __ANDROID__ instead.  */
-#if defined __ANDROID__ \
-    && defined _SYS_TYPES_H_ && !defined __need_size_t
+#if defined __ANDROID__ && defined _GL_INCLUDING_SYS_TYPES_H
 # @INCLUDE_NEXT@ @NEXT_STDINT_H@
 #else
 
diff --git a/lib/gl/striconv.c b/lib/gl/striconv.c
index bc8987b..7b21dbe 100644
--- a/lib/gl/striconv.c
+++ b/lib/gl/striconv.c
@@ -1,5 +1,5 @@
 /* Charset conversion.
-   Copyright (C) 2001-2007, 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2007, 2010-2014 Free Software Foundation, Inc.
    Written by Bruno Haible and Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/gl/striconv.h b/lib/gl/striconv.h
index be02fd3..c6f3e88 100644
--- a/lib/gl/striconv.h
+++ b/lib/gl/striconv.h
@@ -1,5 +1,5 @@
 /* Charset conversion.
-   Copyright (C) 2001-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006-2007, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible and Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/gl/string.in.h b/lib/gl/string.in.h
index ef25d3c..1d063ba 100644
--- a/lib/gl/string.in.h
+++ b/lib/gl/string.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2013 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
diff --git a/lib/gl/strverscmp.c b/lib/gl/strverscmp.c
index 2091567..0abc1fe 100644
--- a/lib/gl/strverscmp.c
+++ b/lib/gl/strverscmp.c
@@ -1,5 +1,5 @@
 /* Compare strings while treating digits characters numerically.
-   Copyright (C) 1997, 2000, 2002, 2004, 2006, 2009-2013 Free Software
+   Copyright (C) 1997, 2000, 2002, 2004, 2006, 2009-2014 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jean-François Bignolles <address@hidden>, 1997.
diff --git a/lib/gltests/sys_types.in.h b/lib/gl/sys_types.in.h
similarity index 76%
rename from lib/gltests/sys_types.in.h
rename to lib/gl/sys_types.in.h
index d7da356..40c8d57 100644
--- a/lib/gltests/sys_types.in.h
+++ b/lib/gl/sys_types.in.h
@@ -1,18 +1,18 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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)
+   it under the terms of the GNU Lesser General Public License as published by
+   the Free Software Foundation; either version 2.1, 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.
+   GNU Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
+   You should have received a copy of the GNU Lesser General Public License
    along with this program; if not, see <http://www.gnu.org/licenses/>.  */
 
 #if __GNUC__ >= 3
@@ -23,7 +23,9 @@
 #ifndef address@hidden@_SYS_TYPES_H
 
 /* The include_next requires a split double-inclusion guard.  */
+# define _GL_INCLUDING_SYS_TYPES_H
 address@hidden@ @NEXT_SYS_TYPES_H@
+# undef _GL_INCLUDING_SYS_TYPES_H
 
 #ifndef address@hidden@_SYS_TYPES_H
 #define address@hidden@_SYS_TYPES_H
diff --git a/lib/gl/unistr.in.h b/lib/gl/unistr.in.h
index 2bbab42..1280103 100644
--- a/lib/gl/unistr.in.h
+++ b/lib/gl/unistr.in.h
@@ -1,5 +1,5 @@
 /* Elementary Unicode string functions.
-   Copyright (C) 2001-2002, 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2005-2014 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU Lesser General Public License as published
diff --git a/lib/gl/unistr/u8-mbtoucr.c b/lib/gl/unistr/u8-mbtoucr.c
index 76156e8..58d336c 100644
--- a/lib/gl/unistr/u8-mbtoucr.c
+++ b/lib/gl/unistr/u8-mbtoucr.c
@@ -1,5 +1,5 @@
 /* Look at first character in UTF-8 string, returning an error code.
-   Copyright (C) 1999-2002, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/gl/unistr/u8-uctomb-aux.c b/lib/gl/unistr/u8-uctomb-aux.c
index fe6bff3..63a3932 100644
--- a/lib/gl/unistr/u8-uctomb-aux.c
+++ b/lib/gl/unistr/u8-uctomb-aux.c
@@ -1,5 +1,5 @@
 /* Conversion UCS-4 to UTF-8.
-   Copyright (C) 2002, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006-2007, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/gl/unistr/u8-uctomb.c b/lib/gl/unistr/u8-uctomb.c
index c7acc25..737e70f 100644
--- a/lib/gl/unistr/u8-uctomb.c
+++ b/lib/gl/unistr/u8-uctomb.c
@@ -1,5 +1,5 @@
 /* Store a character in UTF-8 string.
-   Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/gl/unitypes.in.h b/lib/gl/unitypes.in.h
index 27c22f7..baac3c4 100644
--- a/lib/gl/unitypes.in.h
+++ b/lib/gl/unitypes.in.h
@@ -1,5 +1,5 @@
 /* Elementary types and macros for the GNU UniString library.
-   Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2014 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU Lesser General Public License as published
diff --git a/lib/gltests/Makefile.am b/lib/gltests/Makefile.am
index b57ff6f..83e821f 100644
--- a/lib/gltests/Makefile.am
+++ b/lib/gltests/Makefile.am
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 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
@@ -604,31 +604,6 @@ EXTRA_DIST += test-strverscmp.c signature.h macros.h
 
 ## end   gnulib module strverscmp-tests
 
-## begin gnulib module sys_types
-
-BUILT_SOURCES += sys/types.h
-
-# We need the following in order to create <sys/types.h> when the system
-# doesn't have one that works with the given compiler.
-sys/types.h: sys_types.in.h $(top_builddir)/config.status
-       $(AM_V_at)$(MKDIR_P) sys
-       $(AM_V_GEN)rm -f address@hidden $@ && \
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''GUARD_PREFIX''@|GL_LGL|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_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
-             -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
-             < $(srcdir)/sys_types.in.h; \
-       } > address@hidden && \
-       mv address@hidden $@
-MOSTLYCLEANFILES += sys/types.h sys/types.h-t
-
-EXTRA_DIST += sys_types.in.h
-
-## end   gnulib module sys_types
-
 ## begin gnulib module sys_types-tests
 
 TESTS += test-sys_types
diff --git a/lib/gltests/alloca.in.h b/lib/gltests/alloca.in.h
index 72d28ee..5de9aaa 100644
--- a/lib/gltests/alloca.in.h
+++ b/lib/gltests/alloca.in.h
@@ -1,6 +1,6 @@
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2013 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2014 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/lib/gltests/glthread/lock.c b/lib/gltests/glthread/lock.c
index f62aa30..33c15a0 100644
--- a/lib/gltests/glthread/lock.c
+++ b/lib/gltests/glthread/lock.c
@@ -1,5 +1,5 @@
 /* Locking in multithreaded situations.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2014 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/lib/gltests/glthread/lock.h b/lib/gltests/glthread/lock.h
index d20bbde..36096c4 100644
--- a/lib/gltests/glthread/lock.h
+++ b/lib/gltests/glthread/lock.h
@@ -1,5 +1,5 @@
 /* Locking in multithreaded situations.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2014 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/lib/gltests/glthread/thread.c b/lib/gltests/glthread/thread.c
index fdec869..cec0b7c 100644
--- a/lib/gltests/glthread/thread.c
+++ b/lib/gltests/glthread/thread.c
@@ -1,5 +1,5 @@
 /* Creating and controlling threads.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2014 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/lib/gltests/glthread/thread.h b/lib/gltests/glthread/thread.h
index 46e4a39..509db6b 100644
--- a/lib/gltests/glthread/thread.h
+++ b/lib/gltests/glthread/thread.h
@@ -1,5 +1,5 @@
 /* Creating and controlling threads.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2014 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/lib/gltests/glthread/threadlib.c b/lib/gltests/glthread/threadlib.c
index b447657..26870de 100644
--- a/lib/gltests/glthread/threadlib.c
+++ b/lib/gltests/glthread/threadlib.c
@@ -1,5 +1,5 @@
 /* Multithreading primitives.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2014 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/lib/gltests/glthread/yield.h b/lib/gltests/glthread/yield.h
index 12cb03b..b929224 100644
--- a/lib/gltests/glthread/yield.h
+++ b/lib/gltests/glthread/yield.h
@@ -1,5 +1,5 @@
 /* Yielding the processor to other threads and processes.
-   Copyright (C) 2005-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2014 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/lib/gltests/init.sh b/lib/gltests/init.sh
index bd2048e..fbd293d 100644
--- a/lib/gltests/init.sh
+++ b/lib/gltests/init.sh
@@ -1,6 +1,6 @@
 # source this file; set up for tests
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 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
@@ -201,6 +201,8 @@ else
       *x*) opts_=-x ;;
       *) opts_= ;;
     esac
+    re_shell=$re_shell_
+    export re_shell
     exec "$re_shell_" $opts_ "$0" --no-reexec "$@"
     echo "$ME_: exec failed" 1>&2
     exit 127
diff --git a/lib/gltests/intprops.h b/lib/gltests/intprops.h
index f57f9b4..d0bb7a6 100644
--- a/lib/gltests/intprops.h
+++ b/lib/gltests/intprops.h
@@ -1,6 +1,6 @@
 /* intprops.h -- properties of integer types
 
-   Copyright (C) 2001-2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2001-2005, 2009-2014 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
@@ -89,7 +89,8 @@
 
 /* Return 1 if the __typeof__ keyword works.  This could be done by
    'configure', but for now it's easier to do it by hand.  */
-#if 2 <= __GNUC__ || defined __IBM__TYPEOF__ || 0x5110 <= __SUNPRO_C
+#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
+     || (0x5110 <= __SUNPRO_C && !__STDC__))
 # define _GL_HAVE___TYPEOF__ 1
 #else
 # define _GL_HAVE___TYPEOF__ 0
diff --git a/lib/gltests/inttypes.in.h b/lib/gltests/inttypes.in.h
index 05a22ff..4b2a13b 100644
--- a/lib/gltests/inttypes.in.h
+++ b/lib/gltests/inttypes.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
diff --git a/lib/gltests/locale.in.h b/lib/gltests/locale.in.h
index 264161a..10cc44b 100644
--- a/lib/gltests/locale.in.h
+++ b/lib/gltests/locale.in.h
@@ -1,5 +1,5 @@
 /* A POSIX <locale.h>.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/lib/gltests/localename.c b/lib/gltests/localename.c
index 47cb7ca..2c7bfc8 100644
--- a/lib/gltests/localename.c
+++ b/lib/gltests/localename.c
@@ -1,5 +1,5 @@
 /* Determine name of the currently selected locale.
-   Copyright (C) 1995-2013 Free Software Foundation, Inc.
+   Copyright (C) 1995-2014 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,11 +55,15 @@
 
 #if defined _WIN32 || defined __WIN32__
 # define WINDOWS_NATIVE
+# if !defined IN_LIBINTL
+#  include "glthread/lock.h"
+# endif
 #endif
 
 #if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
+# include <winnls.h>
 /* List of language codes, sorted by value:
    0x01 LANG_ARABIC
    0x02 LANG_BULGARIAN
@@ -1124,6 +1128,9 @@
 # ifndef LOCALE_SNAME
 # define LOCALE_SNAME 0x5c
 # endif
+# ifndef LOCALE_NAME_MAX_LENGTH
+# define LOCALE_NAME_MAX_LENGTH 85
+# endif
 #endif
 
 
@@ -2502,6 +2509,78 @@ gl_locale_name_from_win32_LCID (LCID lcid)
   return gl_locale_name_from_win32_LANGID (langid);
 }
 
+# ifdef WINDOWS_NATIVE
+
+/* Two variables to interface between get_lcid and the EnumLocales
+   callback function below.  */
+static LCID found_lcid;
+static char lname[LC_MAX * (LOCALE_NAME_MAX_LENGTH + 1) + 1];
+
+/* Callback function for EnumLocales.  */
+static BOOL CALLBACK
+enum_locales_fn (LPTSTR locale_num_str)
+{
+  char *endp;
+  char locval[2 * LOCALE_NAME_MAX_LENGTH + 1 + 1];
+  LCID try_lcid = strtoul (locale_num_str, &endp, 16);
+
+  if (GetLocaleInfo (try_lcid, LOCALE_SENGLANGUAGE,
+                    locval, LOCALE_NAME_MAX_LENGTH))
+    {
+      strcat (locval, "_");
+      if (GetLocaleInfo (try_lcid, LOCALE_SENGCOUNTRY,
+                        locval + strlen (locval), LOCALE_NAME_MAX_LENGTH))
+       {
+         size_t locval_len = strlen (locval);
+
+         if (strncmp (locval, lname, locval_len) == 0
+             && (lname[locval_len] == '.'
+                 || lname[locval_len] == '\0'))
+           {
+             found_lcid = try_lcid;
+             return FALSE;
+           }
+       }
+    }
+  return TRUE;
+}
+
+/* This lock protects the get_lcid against multiple simultaneous calls.  */
+gl_lock_define_initialized(static, get_lcid_lock)
+
+/* Return the Locale ID (LCID) number given the locale's name, a
+   string, in LOCALE_NAME.  This works by enumerating all the locales
+   supported by the system, until we find one whose name matches
+   LOCALE_NAME.  */
+static LCID
+get_lcid (const char *locale_name)
+{
+  /* A simple cache.  */
+  static LCID last_lcid;
+  static char last_locale[1000];
+
+  /* Lock while looking for an LCID, to protect access to static
+     variables: last_lcid, last_locale, found_lcid, and lname.  */
+  gl_lock_lock (get_lcid_lock);
+  if (last_lcid > 0 && strcmp (locale_name, last_locale) == 0)
+    {
+      gl_lock_unlock (get_lcid_lock);
+      return last_lcid;
+    }
+  strncpy (lname, locale_name, sizeof (lname) - 1);
+  lname[sizeof (lname) - 1] = '\0';
+  found_lcid = 0;
+  EnumSystemLocales (enum_locales_fn, LCID_SUPPORTED);
+  if (found_lcid > 0)
+    {
+      last_lcid = found_lcid;
+      strcpy (last_locale, locale_name);
+    }
+  gl_lock_unlock (get_lcid_lock);
+  return found_lcid;
+}
+
+# endif
 #endif
 
 
@@ -2515,7 +2594,7 @@ gl_locale_name_from_win32_LCID (LCID lcid)
 /* A hash function for NUL-terminated char* strings using
    the method described by Bruno Haible.
    See http://www.haible.de/bruno/hashfunc.html.  */
-static size_t
+static size_t _GL_ATTRIBUTE_PURE
 string_hash (const void *x)
 {
   const char *s = (const char *) x;
@@ -2660,6 +2739,27 @@ gl_locale_name_thread (int category, const char 
*categoryname)
   const char *name = gl_locale_name_thread_unsafe (category, categoryname);
   if (name != NULL)
     return struniq (name);
+#elif defined WINDOWS_NATIVE
+  if (LC_MIN <= category && category <= LC_MAX)
+    {
+      char *locname = setlocale (category, NULL);
+      LCID lcid = 0;
+
+      /* If CATEGORY is LC_ALL, the result might be a semi-colon
+        separated list of locales.  We need only one, so we take the
+        one corresponding to LC_CTYPE, as the most important for
+        character translations.  */
+      if (strchr (locname, ';'))
+       locname = setlocale (LC_CTYPE, NULL);
+
+      /* Convert locale name to LCID.  We don't want to use
+         LocaleNameToLCID because (a) it is only available since Vista,
+         and (b) it doesn't accept locale names returned by 'setlocale'.  */
+      lcid = get_lcid (locname);
+
+      if (lcid > 0)
+        return gl_locale_name_from_win32_LCID (lcid);
+    }
 #endif
   return NULL;
 }
diff --git a/lib/gltests/localename.h b/lib/gltests/localename.h
index e70eee6..861e6e9 100644
--- a/lib/gltests/localename.h
+++ b/lib/gltests/localename.h
@@ -1,5 +1,5 @@
 /* Determine name of the currently selected locale.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 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
@@ -85,8 +85,12 @@ extern const char * gl_locale_name_environ (int category, 
const char *categoryna
       not require such a facility."
 
    The result must not be freed; it is statically allocated.  */
-extern const char * gl_locale_name_default (void);
-
+extern const char * gl_locale_name_default (void)
+#if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE \
+      || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__)
+  _GL_ATTRIBUTE_CONST
+#endif
+  ;
 
 #ifdef __cplusplus
 }
diff --git a/lib/gltests/macros.h b/lib/gltests/macros.h
index 1ceb815..0d7e378 100644
--- a/lib/gltests/macros.h
+++ b/lib/gltests/macros.h
@@ -1,5 +1,5 @@
 /* Common macros used by gnulib tests.
-   Copyright (C) 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2014 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/lib/gltests/malloc.c b/lib/gltests/malloc.c
index 908735d..bc81c54 100644
--- a/lib/gltests/malloc.c
+++ b/lib/gltests/malloc.c
@@ -1,6 +1,6 @@
 /* malloc() function that is glibc compatible.
 
-   Copyright (C) 1997-1998, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 2009-2014 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/lib/gltests/malloca.c b/lib/gltests/malloca.c
index 311be56..370551c 100644
--- a/lib/gltests/malloca.c
+++ b/lib/gltests/malloca.c
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2003.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/gltests/malloca.h b/lib/gltests/malloca.h
index 6fbe45e..5071e46 100644
--- a/lib/gltests/malloca.h
+++ b/lib/gltests/malloca.h
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2014 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2003.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/gltests/putenv.c b/lib/gltests/putenv.c
index 5461273..b9f5079 100644
--- a/lib/gltests/putenv.c
+++ b/lib/gltests/putenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2013 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2014 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C
diff --git a/lib/gltests/setenv.c b/lib/gltests/setenv.c
index 995a0f2..06791a9 100644
--- a/lib/gltests/setenv.c
+++ b/lib/gltests/setenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2014 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
diff --git a/lib/gltests/setlocale.c b/lib/gltests/setlocale.c
index c729fa6..3009d2c 100644
--- a/lib/gltests/setlocale.c
+++ b/lib/gltests/setlocale.c
@@ -1,5 +1,5 @@
 /* Set the current locale.
-   Copyright (C) 2009, 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2011-2014 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/lib/gltests/signature.h b/lib/gltests/signature.h
index 45a8e02..0ae64e7 100644
--- a/lib/gltests/signature.h
+++ b/lib/gltests/signature.h
@@ -1,5 +1,5 @@
 /* Macro for checking that a function declaration is compliant.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/lib/gltests/stdlib.in.h b/lib/gltests/stdlib.in.h
index c955248..46e10db 100644
--- a/lib/gltests/stdlib.in.h
+++ b/lib/gltests/stdlib.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2014 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/lib/gltests/test-alloca-opt.c b/lib/gltests/test-alloca-opt.c
index d94e1d1..3d8acc4 100644
--- a/lib/gltests/test-alloca-opt.c
+++ b/lib/gltests/test-alloca-opt.c
@@ -1,5 +1,5 @@
 /* Test of optional automatic memory allocation.
-   Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2014 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/lib/gltests/test-c-ctype.c b/lib/gltests/test-c-ctype.c
index c0aa662..80bf703 100644
--- a/lib/gltests/test-c-ctype.c
+++ b/lib/gltests/test-c-ctype.c
@@ -1,5 +1,5 @@
 /* Test of character handling in C locale.
-   Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007-2014 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/lib/gltests/test-c-strcasecmp.c b/lib/gltests/test-c-strcasecmp.c
index 26d9ca4..03088ff 100644
--- a/lib/gltests/test-c-strcasecmp.c
+++ b/lib/gltests/test-c-strcasecmp.c
@@ -1,5 +1,5 @@
 /* Test of case-insensitive string comparison function.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/lib/gltests/test-c-strncasecmp.c b/lib/gltests/test-c-strncasecmp.c
index 075f15e..0fba0e5 100644
--- a/lib/gltests/test-c-strncasecmp.c
+++ b/lib/gltests/test-c-strncasecmp.c
@@ -1,5 +1,5 @@
 /* Test of case-insensitive string comparison function.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/lib/gltests/test-environ.c b/lib/gltests/test-environ.c
index cb3d9f6..46a2eab 100644
--- a/lib/gltests/test-environ.c
+++ b/lib/gltests/test-environ.c
@@ -1,5 +1,5 @@
 /* Test of environ variable.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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/lib/gltests/test-iconv.c b/lib/gltests/test-iconv.c
index a39ca58..3c1b193 100644
--- a/lib/gltests/test-iconv.c
+++ b/lib/gltests/test-iconv.c
@@ -1,5 +1,5 @@
 /* Test of character set conversion.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/lib/gltests/test-init.sh b/lib/gltests/test-init.sh
index 6eb6b43..be447b3 100755
--- a/lib/gltests/test-init.sh
+++ b/lib/gltests/test-init.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Unit tests for init.sh
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 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/lib/gltests/test-intprops.c b/lib/gltests/test-intprops.c
index 8b91a79..97553e7 100644
--- a/lib/gltests/test-intprops.c
+++ b/lib/gltests/test-intprops.c
@@ -1,5 +1,5 @@
 /* Test intprops.h.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/lib/gltests/test-inttypes.c b/lib/gltests/test-inttypes.c
index db1a97e..35deeab 100644
--- a/lib/gltests/test-inttypes.c
+++ b/lib/gltests/test-inttypes.c
@@ -1,5 +1,5 @@
 /* Test of <inttypes.h> substitute.
-   Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2009-2014 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/lib/gltests/test-locale.c b/lib/gltests/test-locale.c
index 3fb7b85..cf4e6e8 100644
--- a/lib/gltests/test-locale.c
+++ b/lib/gltests/test-locale.c
@@ -1,5 +1,5 @@
 /* Test of <locale.h> substitute.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 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/lib/gltests/test-localename.c b/lib/gltests/test-localename.c
index deb59b1..df6c1d6 100644
--- a/lib/gltests/test-localename.c
+++ b/lib/gltests/test-localename.c
@@ -1,5 +1,5 @@
 /* Test of gl_locale_name function and its variants.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/lib/gltests/test-lock.c b/lib/gltests/test-lock.c
index 57392db..fd2ed26 100644
--- a/lib/gltests/test-lock.c
+++ b/lib/gltests/test-lock.c
@@ -1,5 +1,5 @@
 /* Test of locking in multithreaded situations.
-   Copyright (C) 2005, 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2008-2014 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/lib/gltests/test-malloca.c b/lib/gltests/test-malloca.c
index 7d5e62e..6f94d0d 100644
--- a/lib/gltests/test-malloca.c
+++ b/lib/gltests/test-malloca.c
@@ -1,5 +1,5 @@
 /* Test of safe automatic memory allocation.
-   Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2014 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/lib/gltests/test-setenv.c b/lib/gltests/test-setenv.c
index 0a53ac4..548e4fb 100644
--- a/lib/gltests/test-setenv.c
+++ b/lib/gltests/test-setenv.c
@@ -1,5 +1,5 @@
 /* Tests of setenv.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/lib/gltests/test-setlocale1.c b/lib/gltests/test-setlocale1.c
index b20c037..0434d7b 100644
--- a/lib/gltests/test-setlocale1.c
+++ b/lib/gltests/test-setlocale1.c
@@ -1,5 +1,5 @@
 /* Test of setting the current locale.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/lib/gltests/test-setlocale2.c b/lib/gltests/test-setlocale2.c
index cad9e2f..2f52fe0 100644
--- a/lib/gltests/test-setlocale2.c
+++ b/lib/gltests/test-setlocale2.c
@@ -1,5 +1,5 @@
 /* Test of setting the current locale.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/lib/gltests/test-stdbool.c b/lib/gltests/test-stdbool.c
index 3c13ca2..efa8324 100644
--- a/lib/gltests/test-stdbool.c
+++ b/lib/gltests/test-stdbool.c
@@ -1,5 +1,5 @@
 /* Test of <stdbool.h> substitute.
-   Copyright (C) 2002-2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2002-2007, 2009-2014 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/lib/gltests/test-stddef.c b/lib/gltests/test-stddef.c
index f42b4e0..d5d887e 100644
--- a/lib/gltests/test-stddef.c
+++ b/lib/gltests/test-stddef.c
@@ -1,5 +1,5 @@
 /* Test of <stddef.h> substitute.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/lib/gltests/test-stdint.c b/lib/gltests/test-stdint.c
index 1c559b0..008b517 100644
--- a/lib/gltests/test-stdint.c
+++ b/lib/gltests/test-stdint.c
@@ -1,5 +1,5 @@
 /* Test of <stdint.h> substitute.
-   Copyright (C) 2006-2013 Free Software Foundation, Inc.
+   Copyright (C) 2006-2014 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/lib/gltests/test-stdlib.c b/lib/gltests/test-stdlib.c
index 6d38156..a2743e4 100644
--- a/lib/gltests/test-stdlib.c
+++ b/lib/gltests/test-stdlib.c
@@ -1,5 +1,5 @@
 /* Test of <stdlib.h> substitute.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 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/lib/gltests/test-striconv.c b/lib/gltests/test-striconv.c
index c77dc6c..fd29a09 100644
--- a/lib/gltests/test-striconv.c
+++ b/lib/gltests/test-striconv.c
@@ -1,5 +1,5 @@
 /* Test of character set conversion.
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/lib/gltests/test-strverscmp.c b/lib/gltests/test-strverscmp.c
index 1498ccb..07b686d 100644
--- a/lib/gltests/test-strverscmp.c
+++ b/lib/gltests/test-strverscmp.c
@@ -1,5 +1,5 @@
 /* Test of strverscmp() function.
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 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/lib/gltests/test-sys_types.c b/lib/gltests/test-sys_types.c
index 1045de7..ddcb6d2 100644
--- a/lib/gltests/test-sys_types.c
+++ b/lib/gltests/test-sys_types.c
@@ -1,5 +1,5 @@
 /* Test of <sys/types.h> substitute.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/lib/gltests/test-sys_wait.h b/lib/gltests/test-sys_wait.h
index d78b19e..ed20219 100644
--- a/lib/gltests/test-sys_wait.h
+++ b/lib/gltests/test-sys_wait.h
@@ -1,5 +1,5 @@
 /* Test of macros shared between <sys/wait.h> and <stdlib.h>.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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/lib/gltests/test-thread_create.c b/lib/gltests/test-thread_create.c
index b47bb1b..12ba79d 100644
--- a/lib/gltests/test-thread_create.c
+++ b/lib/gltests/test-thread_create.c
@@ -1,5 +1,5 @@
 /* Test of gl_thread_create () macro.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/lib/gltests/test-thread_self.c b/lib/gltests/test-thread_self.c
index 27db4b2..3629a82 100644
--- a/lib/gltests/test-thread_self.c
+++ b/lib/gltests/test-thread_self.c
@@ -1,5 +1,5 @@
 /* Test of gl_thread_self () macro.
-   Copyright (C) 2011-2013 Free Software Foundation, Inc.
+   Copyright (C) 2011-2014 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/lib/gltests/test-unistd.c b/lib/gltests/test-unistd.c
index 5470985..6d3fa00 100644
--- a/lib/gltests/test-unistd.c
+++ b/lib/gltests/test-unistd.c
@@ -1,5 +1,5 @@
 /* Test of <unistd.h> substitute.
-   Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2014 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/lib/gltests/test-unsetenv.c b/lib/gltests/test-unsetenv.c
index c369e2a..50600a9 100644
--- a/lib/gltests/test-unsetenv.c
+++ b/lib/gltests/test-unsetenv.c
@@ -1,5 +1,5 @@
 /* Tests of unsetenv.
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2014 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/lib/gltests/test-verify.c b/lib/gltests/test-verify.c
index 1056b4e..2a41eb1 100644
--- a/lib/gltests/test-verify.c
+++ b/lib/gltests/test-verify.c
@@ -1,6 +1,6 @@
 /* Test the "verify" module.
 
-   Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2014 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/lib/gltests/unistd.in.h b/lib/gltests/unistd.in.h
index 0e510d6..622b228 100644
--- a/lib/gltests/unistd.in.h
+++ b/lib/gltests/unistd.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2013 Free Software Foundation, Inc.
+   Copyright (C) 2003-2014 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,9 +21,23 @@
 #endif
 @PRAGMA_COLUMNS@
 
+#ifdef _GL_INCLUDING_UNISTD_H
+/* Special invocation convention:
+   - On Mac OS X 10.3.9 we have a sequence of nested includes
+     <unistd.h> -> <signal.h> -> <pthread.h> -> <unistd.h>
+     In this situation, the functions are not yet declared, therefore we cannot
+     provide the C++ aliases.  */
+
address@hidden@ @NEXT_UNISTD_H@
+
+#else
+/* Normal invocation convention.  */
+
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_UNISTD_H@
+# define _GL_INCLUDING_UNISTD_H
 # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+# undef _GL_INCLUDING_UNISTD_H
 #endif
 
 /* Get all possible declarations of gethostname().  */
@@ -1539,4 +1553,5 @@ _GL_CXXALIASWARN (write);
 _GL_INLINE_HEADER_END
 
 #endif /* address@hidden@_UNISTD_H */
+#endif /* _GL_INCLUDING_UNISTD_H */
 #endif /* address@hidden@_UNISTD_H */
diff --git a/lib/gltests/unistr/test-u8-mbtoucr.c 
b/lib/gltests/unistr/test-u8-mbtoucr.c
index 763d931..a551130 100644
--- a/lib/gltests/unistr/test-u8-mbtoucr.c
+++ b/lib/gltests/unistr/test-u8-mbtoucr.c
@@ -1,5 +1,5 @@
 /* Test of u8_mbtoucr() function.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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/lib/gltests/unistr/test-u8-uctomb.c 
b/lib/gltests/unistr/test-u8-uctomb.c
index b0ecb30..cec9216 100644
--- a/lib/gltests/unistr/test-u8-uctomb.c
+++ b/lib/gltests/unistr/test-u8-uctomb.c
@@ -1,5 +1,5 @@
 /* Test of u8_uctomb() function.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 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/lib/gltests/unsetenv.c b/lib/gltests/unsetenv.c
index c58c82f..53721fc 100644
--- a/lib/gltests/unsetenv.c
+++ b/lib/gltests/unsetenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2014 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
diff --git a/lib/gltests/verify.h b/lib/gltests/verify.h
index bf40b02..a25e514 100644
--- a/lib/gltests/verify.h
+++ b/lib/gltests/verify.h
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2014 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/lib/gltests/wchar.in.h b/lib/gltests/wchar.in.h
index b6e4362..473285f 100644
--- a/lib/gltests/wchar.in.h
+++ b/lib/gltests/wchar.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007-2013 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014 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/lib/idn-free.c b/lib/idn-free.c
index 0e84ac3..c3390f2 100644
--- a/lib/idn-free.c
+++ b/lib/idn-free.c
@@ -1,5 +1,5 @@
 /* idn-free.h --- Invoke the free function to release memory
-   Copyright (C) 2004-2013 Simon Josefsson
+   Copyright (C) 2004-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/idn-free.h b/lib/idn-free.h
index 982713f..ef44c7a 100644
--- a/lib/idn-free.h
+++ b/lib/idn-free.h
@@ -1,5 +1,5 @@
 /* idn-free.h --- Invoke the free function to release memory
-   Copyright (C) 2004-2013 Simon Josefsson
+   Copyright (C) 2004-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/idna.c b/lib/idna.c
index 97a6e0f..6d63ab6 100644
--- a/lib/idna.c
+++ b/lib/idna.c
@@ -1,5 +1,5 @@
 /* idna.c --- Prototypes for Internationalized Domain Name library.
-   Copyright (C) 2002-2013 Simon Josefsson
+   Copyright (C) 2002-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/idna.h b/lib/idna.h
index f5fdbf9..a6f9aab 100644
--- a/lib/idna.h
+++ b/lib/idna.h
@@ -1,5 +1,5 @@
 /* idna.h --- Prototypes for Internationalized Domain Name library.
-   Copyright (C) 2002-2013 Simon Josefsson
+   Copyright (C) 2002-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/libidn.map b/lib/libidn.map
index 6b0b007..907d95e 100644
--- a/lib/libidn.map
+++ b/lib/libidn.map
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2013 Simon Josefsson.
+# Copyright (C) 2009-2014 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/lib/nfkc.c b/lib/nfkc.c
index b030e72..2d8fb9d 100644
--- a/lib/nfkc.c
+++ b/lib/nfkc.c
@@ -1,5 +1,5 @@
 /* nfkc.c --- Unicode normalization utilities.
-   Copyright (C) 2002-2013 Simon Josefsson
+   Copyright (C) 2002-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/pr29.c b/lib/pr29.c
index 495babe..460fb0e 100644
--- a/lib/pr29.c
+++ b/lib/pr29.c
@@ -1,5 +1,5 @@
 /* pr29.h --- Detect strings that are non-idempotent under NFKC in Unicode 3.2.
-   Copyright (C) 2004-2013 Simon Josefsson
+   Copyright (C) 2004-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/pr29.h b/lib/pr29.h
index 4c8c960..9acd081 100644
--- a/lib/pr29.h
+++ b/lib/pr29.h
@@ -1,5 +1,5 @@
 /* pr29.h --- Detect strings which are non-idempotent under NFKC.
-   Copyright (C) 2004-2013 Simon Josefsson
+   Copyright (C) 2004-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/profiles.c b/lib/profiles.c
index 8f12e7d..f014231 100644
--- a/lib/profiles.c
+++ b/lib/profiles.c
@@ -1,5 +1,5 @@
 /* profiles.c --- Definitions of stringprep profiles.
-   Copyright (C) 2002-2013 Simon Josefsson
+   Copyright (C) 2002-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/punycode.c b/lib/punycode.c
index b2ebfd2..71b6d57 100644
--- a/lib/punycode.c
+++ b/lib/punycode.c
@@ -1,5 +1,5 @@
 /* punycode.c --- Implementation of punycode used to ASCII encode IDN's.
-   Copyright (C) 2002-2013 Simon Josefsson
+   Copyright (C) 2002-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/punycode.h b/lib/punycode.h
index 08e04dc..01ed2a6 100644
--- a/lib/punycode.h
+++ b/lib/punycode.h
@@ -1,5 +1,5 @@
 /* punycode.h --- Declarations for punycode functions.
-   Copyright (C) 2002-2013 Simon Josefsson
+   Copyright (C) 2002-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/strerror-idna.c b/lib/strerror-idna.c
index 4ae84a1..5f6532a 100644
--- a/lib/strerror-idna.c
+++ b/lib/strerror-idna.c
@@ -1,5 +1,5 @@
 /* strerror-idna.c --- Convert IDNA errors into text.
-   Copyright (C) 2004-2013 Simon Josefsson
+   Copyright (C) 2004-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/strerror-pr29.c b/lib/strerror-pr29.c
index 40045a7..bcebbc9 100644
--- a/lib/strerror-pr29.c
+++ b/lib/strerror-pr29.c
@@ -1,5 +1,5 @@
 /* strerror-pr29.c --- Convert PR29 errors into text.
-   Copyright (C) 2004-2013 Simon Josefsson
+   Copyright (C) 2004-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/strerror-punycode.c b/lib/strerror-punycode.c
index edb61ef..fbae1a9 100644
--- a/lib/strerror-punycode.c
+++ b/lib/strerror-punycode.c
@@ -1,5 +1,5 @@
 /* strerror-punycode.c --- Convert punycode errors into text.
-   Copyright (C) 2004-2013 Simon Josefsson
+   Copyright (C) 2004-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/strerror-stringprep.c b/lib/strerror-stringprep.c
index 90ce835..2ee26c2 100644
--- a/lib/strerror-stringprep.c
+++ b/lib/strerror-stringprep.c
@@ -1,5 +1,5 @@
 /* strerror-stringprep.c --- Convert stringprep errors into text.
-   Copyright (C) 2004-2013 Simon Josefsson
+   Copyright (C) 2004-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/strerror-tld.c b/lib/strerror-tld.c
index 5477c6c..921df6d 100644
--- a/lib/strerror-tld.c
+++ b/lib/strerror-tld.c
@@ -1,5 +1,5 @@
 /* strerror-tld.c --- Convert TLD errors into text.
-   Copyright (C) 2004-2013 Simon Josefsson
+   Copyright (C) 2004-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/stringprep.c b/lib/stringprep.c
index 7b59127..423f833 100644
--- a/lib/stringprep.c
+++ b/lib/stringprep.c
@@ -1,5 +1,5 @@
 /* stringprep.c --- Core stringprep implementation.
-   Copyright (C) 2002-2013 Simon Josefsson
+   Copyright (C) 2002-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/stringprep.h b/lib/stringprep.h
index d9b2498..9c884c6 100644
--- a/lib/stringprep.h
+++ b/lib/stringprep.h
@@ -1,5 +1,5 @@
 /* stringprep.h --- Header file for stringprep functions.
-   Copyright (C) 2002-2013 Simon Josefsson
+   Copyright (C) 2002-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/tld.c b/lib/tld.c
index 34566fa..5282acc 100644
--- a/lib/tld.c
+++ b/lib/tld.c
@@ -1,6 +1,6 @@
 /* tld.c --- Declarations for TLD restriction checking.
-   Copyright (C) 2004-2013 Simon Josefsson.
-   Copyright (C) 2003-2013 Free Software Foundation, Inc.
+   Copyright (C) 2004-2014 Simon Josefsson.
+   Copyright (C) 2003-2014 Free Software Foundation, Inc.
 
    Author: Thomas Jacob, Internet24.de
 
diff --git a/lib/tld.h b/lib/tld.h
index 22921b7..e6c189b 100644
--- a/lib/tld.h
+++ b/lib/tld.h
@@ -1,6 +1,6 @@
 /* tld.h --- Declarations for TLD restriction checking.
-   Copyright (C) 2004-2013 Simon Josefsson.
-   Copyright (C) 2003-2013 Free Software Foundation, Inc.
+   Copyright (C) 2004-2014 Simon Josefsson.
+   Copyright (C) 2003-2014 Free Software Foundation, Inc.
 
    Author: Thomas Jacob, Internet24.de
 
diff --git a/lib/toutf8.c b/lib/toutf8.c
index 64b7e5e..d856b69 100644
--- a/lib/toutf8.c
+++ b/lib/toutf8.c
@@ -1,5 +1,5 @@
 /* toutf8.c --- Convert strings from system locale into UTF-8.
-   Copyright (C) 2002-2013 Simon Josefsson
+   Copyright (C) 2002-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/version.c b/lib/version.c
index d9d3ed7..d269ea0 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -1,5 +1,5 @@
 /* version.c --- Version handling.
-   Copyright (C) 2002-2013 Simon Josefsson
+   Copyright (C) 2002-2014 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/libc/README b/libc/README
index 0828fd3..3249475 100644
--- a/libc/README
+++ b/libc/README
@@ -1,5 +1,5 @@
 Libidn libc/README -- Instructions for building as a GNU Libc add-on.
-Copyright (C) 2003-2013 Simon Josefsson
+Copyright (C) 2003-2014 Simon Josefsson
 See the end for copying conditions.
 
 GNU Libidn is now part of GNU Libc, so the stand-alone patch and
diff --git a/libc/example.c b/libc/example.c
index 1292c28..b419630 100644
--- a/libc/example.c
+++ b/libc/example.c
@@ -1,5 +1,5 @@
 /* example.c --- Example code showing how to use IDN enabled getaddrinfo().
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/libc/getaddrinfo-idn.txt b/libc/getaddrinfo-idn.txt
index 38835ca..0ffa35d 100644
--- a/libc/getaddrinfo-idn.txt
+++ b/libc/getaddrinfo-idn.txt
@@ -1,5 +1,5 @@
 Libidn getaddrinfo-idn.txt -- Proposal for IDN support in POSIX getaddrinfo.
-Copyright (C) 2003-2013 Simon Josefsson
+Copyright (C) 2003-2014 Simon Josefsson
 See the end for copying conditions.
 
 Background
diff --git a/libidn.pc.in b/libidn.pc.in
index 426a0fa..41f5abc 100644
--- a/libidn.pc.in
+++ b/libidn.pc.in
@@ -1,5 +1,5 @@
 # Process this file with autoconf to produce a pkg-config metadata file.
-# Copyright 2002-2013 Simon Josefsson
+# Copyright 2002-2014 Simon Josefsson
 #
 # This file is free software; as a special exception the author gives
 # unlimited permission to copy and/or distribute it, with or without
diff --git a/m4/update-header-version.m4 b/m4/update-header-version.m4
index 3bcad35..30b9cc3 100644
--- a/m4/update-header-version.m4
+++ b/m4/update-header-version.m4
@@ -1,5 +1,6 @@
 # update-header-version.m4 serial 1
-dnl Copyright (C) 2008, 2010-2011, 2013 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2011, 2013-2014 Free Software Foundation,
+dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/maint.mk b/maint.mk
index c1b786f..e5a3782 100644
--- a/maint.mk
+++ b/maint.mk
@@ -2,7 +2,7 @@
 # This Makefile fragment tries to be general-purpose enough to be
 # used by many projects via the gnulib maintainer-makefile module.
 
-## Copyright (C) 2001-2013 Free Software Foundation, Inc.
+## Copyright (C) 2001-2014 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,13 +21,6 @@
 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
 ME := maint.mk
 
-# Diagnostic for continued use of deprecated variable.
-# Remove in 2013
-ifneq ($(build_aux),)
- $(error "$(ME): \
-set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)")
-endif
-
 # Helper variables.
 _empty =
 _sp = $(_empty) $(_empty)
@@ -76,7 +69,7 @@ _dot_escaped_srcdir = $(subst .,\.,$(srcdir))
 ifeq ($(srcdir),.)
   _prepend_srcdir_prefix =
 else
-  _prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|'
+  _prepend_srcdir_prefix = | $(SED) 's|^|$(srcdir)/|'
 endif
 
 # In order to be able to consistently filter "."-relative names,
@@ -85,7 +78,7 @@ endif
 _sc_excl = \
   $(or $(exclude_file_name_regexp--$@),^$$)
 VC_LIST_EXCEPT = \
-  $(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \
+  $(VC_LIST) | $(SED) 's|^$(_dot_escaped_srcdir)/||' \
        | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \
          else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \
        | grep -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \
@@ -155,11 +148,12 @@ export LC_ALL = C
 ## Sanity checks.  ##
 ## --------------- ##
 
+ifneq ($(_gl-Makefile),)
 _cfg_mk := $(wildcard $(srcdir)/cfg.mk)
 
 # Collect the names of rules starting with 'sc_'.
-syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' 
\
-                       $(srcdir)/$(ME) $(_cfg_mk)))
+syntax-check-rules := $(sort $(shell $(SED) -n \
+   's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(srcdir)/$(ME) $(_cfg_mk)))
 .PHONY: $(syntax-check-rules)
 
 ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0)
@@ -196,6 +190,7 @@ local-check :=                                              
                \
     $(filter-out $(local-checks-to-skip), $(local-checks-available)))
 
 syntax-check: $(local-check)
+endif
 
 # _sc_search_regexp
 #
@@ -445,10 +440,10 @@ sc_require_config_h:
 # You must include <config.h> before including any other header file.
 # This can possibly be via a package-specific header, if given by cfg.mk.
 sc_require_config_h_first:
-       @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then       \
+       @if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then          \
          fail=0;                                                       \
          for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do             \
-           grep '^# *include\>' $$i | sed 1q                           \
+           grep '^# *include\>' $$i | $(SED) 1q                        \
                | grep -E '^# *include $(config_h_header)' > /dev/null  \
              || { echo $$i; fail=1; };                                 \
          done;                                                         \
@@ -468,8 +463,8 @@ sc_prohibit_HAVE_MBRTOWC:
 # re: a regular expression that matches IFF something provided by $h is used.
 define _sc_header_without_use
   dummy=; : so we do not need a semicolon before each use;             \
-  h_esc=`echo '[<"]'"$$h"'[">]'|sed 's/\./\\\\./g'`;                   \
-  if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then             \
+  h_esc=`echo '[<"]'"$$h"'[">]'|$(SED) 's/\./\\\\./g'`;                        
\
+  if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then                        
\
     files=$$(grep -l '^# *include '"$$h_esc"                           \
             $$($(VC_LIST_EXCEPT) | grep '\.c$$')) &&                   \
     grep -LE "$$re" $$files | grep . &&                                        
\
@@ -591,7 +586,7 @@ sc_prohibit_root_dev_ino_without_use:
 
 sc_prohibit_openat_without_use:
        @h='openat.h' \
-       
re='\<(openat_(permissive|needs_fchdir|(save|restore)_fail)|l?(stat|ch(own|mod))at|(euid)?accessat)\>'
 \
+       
re='\<(openat_(permissive|needs_fchdir|(save|restore)_fail)|l?(stat|ch(own|mod))at|(euid)?accessat|(FCHMOD|FCHOWN|STAT)AT_INLINE)\>'
 \
          $(_sc_header_without_use)
 
 # Prohibit the inclusion of c-ctype.h without an actual use.
@@ -716,7 +711,7 @@ sc_changelog:
 # Ensure that each .c file containing a "main" function also
 # calls set_program_name.
 sc_program_name:
-       @require='set_program_name *\(m?argv\[0\]\);'                   \
+       @require='set_program_name *\(.*\);'                            \
        in_vc_files='\.c$$'                                             \
        containing='\<main *('                                          \
        halt='the above files do not call set_program_name'             \
@@ -789,7 +784,7 @@ sc_useless_cpp_parens:
 # #if HAVE_HEADER_H that you remove, be sure that your project explicitly
 # requires the gnulib module that guarantees the usability of that header.
 gl_assured_headers_ = \
-  cd $(gnulib_dir)/lib && echo *.in.h|sed 's/\.in\.h//g'
+  cd $(gnulib_dir)/lib && echo *.in.h|$(SED) 's/\.in\.h//g'
 
 # Convert the list of names to upper case, and replace each space with "|".
 az_ = abcdefghijklmnopqrstuvwxyz
@@ -840,7 +835,7 @@ define def_sym_regex
              && perl -lne '$(gl_extract_significant_defines_)' $$f;    \
          done;                                                         \
        ) | sort -u                                                     \
-         | sed 's/^/^ *# *(define|undef)  */;s/$$/\\>/'
+         | $(SED) 's/^/^ *# *(define|undef)  */;s/$$/\\>/'
 endef
 
 # Don't define macros that we already get from gnulib header files.
@@ -1054,12 +1049,12 @@ sc_const_long_option:
          $(_sc_search_regexp)
 
 NEWS_hash =                                                            \
-  $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p'             \
+  $$($(SED) -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p'          \
        $(srcdir)/NEWS                                                  \
      | perl -0777 -pe                                                  \
        's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms'       \
      | md5sum -                                                                
\
-     | sed 's/ .*//')
+     | $(SED) 's/ .*//')
 
 # Ensure that we don't accidentally insert an entry into an old NEWS block.
 sc_immutable_NEWS:
@@ -1097,7 +1092,7 @@ sc_makefile_at_at_check:
          && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || :
 
 news-check: NEWS
-       $(AM_V_GEN)if sed -n $(news-check-lines-spec)p $<               \
+       $(AM_V_GEN)if $(SED) -n $(news-check-lines-spec)p $<            \
            | grep -E $(news-check-regexp) >/dev/null; then             \
          :;                                                            \
        else                                                            \
@@ -1146,7 +1141,7 @@ sc_po_check:
            files="$$files $$file";                                     \
          done;                                                         \
          grep -E -l '$(_gl_translatable_string_re)' $$files            \
-           | sed 's|^$(_dot_escaped_srcdir)/||' | sort -u > address@hidden;    
\
+           | $(SED) 's|^$(_dot_escaped_srcdir)/||' | sort -u > address@hidden; 
\
          diff -u -L $(po_file) -L $(po_file) address@hidden address@hidden     
                \
            || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; };   \
          rm -f address@hidden address@hidden;                                  
        \
@@ -1192,7 +1187,7 @@ sc_copyright_check:
        in_vc_files=$(sample-test)                                      \
        halt='out of date copyright in $(sample-test); update it'       \
          $(_sc_search_regexp)
-       @require='Copyright @copyright\{\} .*'$$(date +%Y)' Free'       \
+       @require='Copyright @copyright\{\} .*'$$(date +%Y)              \
        in_vc_files=$(texi)                                             \
        halt='out of date copyright in $(texi); update it'              \
          $(_sc_search_regexp)
@@ -1283,15 +1278,17 @@ vc-diff-check:
 rel-files = $(DIST_ARCHIVES)
 
 gnulib_dir ?= $(srcdir)/gnulib
-gnulib-version = $$(cd $(gnulib_dir) && git describe)
+gnulib-version = $$(cd $(gnulib_dir)                           \
+                    && { git describe || git rev-parse --short=10 HEAD; } )
 bootstrap-tools ?= autoconf,automake,gnulib
 
+gpgv = $$(gpgv2 --version >/dev/null && echo gpgv2 || echo gpgv)
 # If it's not already specified, derive the GPG key ID from
 # the signed tag we've just applied to mark this release.
 gpg_key_ID ?=                                                          \
   $$(cd $(srcdir)                                                      \
      && git cat-file tag v$(VERSION)                                   \
-        | gpgv --status-fd 1 --keyring /dev/null - - 2>/dev/null       \
+        | $(gpgv) --status-fd 1 --keyring /dev/null - - 2>/dev/null    \
         | awk '/^\[GNUPG:\] ERRSIG / {print $$3; exit}')
 
 translation_project_ ?= address@hidden
@@ -1393,8 +1390,8 @@ public-submodule-commit:
                && git --version >/dev/null 2>&1; then                  \
          cd $(srcdir) &&                                               \
          git submodule --quiet foreach                                 \
-             test '"$$(git rev-parse "$$sha1")"'                       \
-             = '"$$(git merge-base origin "$$sha1")"'                  \
+             'test "$$(git rev-parse "$$sha1")"                        \
+                 = "$$(git merge-base origin "$$sha1")"'               \
            || { echo '$(ME): found non-public submodule commit' >&2;   \
                 exit 1; };                                             \
        else                                                            \
@@ -1424,6 +1421,7 @@ alpha beta stable: $(local-check) writable-files 
$(submodule-checks)
        $(AM_V_at)$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
 
 release:
+       $(AM_V_GEN)$(MAKE) _version
        $(AM_V_GEN)$(MAKE) $(release-type)
 
 # Override this in cfg.mk if you follow different procedures.
@@ -1508,7 +1506,7 @@ refresh-gnulib-patches:
          test -n "$$t" && gl=$$t;                                      \
        fi;                                                             \
        for diff in $$(cd $$gl; git ls-files | grep '\.diff$$'); do     \
-         b=$$(printf %s "$$diff"|sed 's/\.diff$$//');                  \
+         b=$$(printf %s "$$diff"|$(SED) 's/\.diff$$//');               \
          VERSION_CONTROL=none                                          \
            patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1;          \
          ( cd $(gnulib_dir) || exit 1;                                 \
@@ -1527,7 +1525,8 @@ refresh-po:
        wget --no-verbose --directory-prefix $(PODIR) --no-directories 
--recursive --level 1 --accept .po --accept .po.1 $(POURL) && \
        echo 'address@hidden' > $(PODIR)/LINGUAS && \
        echo 'address@hidden' >> $(PODIR)/LINGUAS && \
-       ls $(PODIR)/*.po | sed 's/\.po//;s,$(PODIR)/,,' | sort >> 
$(PODIR)/LINGUAS
+       ls $(PODIR)/*.po | $(SED) 's/\.po//;s,$(PODIR)/,,' | \
+         sort >> $(PODIR)/LINGUAS
 
  # Running indent once is not idempotent, but running it twice is.
 INDENT_SOURCES ?= $(C_SOURCES)
@@ -1637,18 +1636,18 @@ _gl_tight_scope: $(bin_PROGRAMS)
               test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`;   \
        ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_functions);  \
          grep -h -A1 '^extern .*[^;]$$' $$src                          \
-           | grep -vE '^(extern |--)' | sed 's/ .*//';                 \
+           | grep -vE '^(extern |--)' | $(SED) 's/ .*//';              \
          perl -lne                                                     \
             '$(_gl_TS_function_match) and print "^$$1\$$"' $$hdr;      \
        ) | sort -u > $$t;                                              \
-       nm -e $(_gl_TS_obj_files) | sed -n 's/.* T //p'|grep -Ev -f $$t \
+       nm -e $(_gl_TS_obj_files)|$(SED) -n 's/.* T //p'|grep -Ev -f $$t \
          && { echo the above functions should have static scope >&2;   \
               exit 1; } || : ;                                         \
        ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars);       \
          perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"'           \
                $$hdr $(_gl_TS_other_headers)                           \
        ) | sort -u > $$t;                                              \
-       nm -e $(_gl_TS_obj_files) | sed -n 's/.* [BCDGRS] //p'          \
+       nm -e $(_gl_TS_obj_files) | $(SED) -n 's/.* [BCDGRS] //p'       \
             | sort -u | grep -Ev -f $$t                                        
\
          && { echo the above variables should have static scope >&2;   \
               exit 1; } || :
diff --git a/po/LINGUAS b/po/LINGUAS
index f91b428..f29ade7 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -12,6 +12,7 @@ it
 ja
 nl
 pl
+pt_BR
 ro
 sr
 uk
diff --git a/po/hr.po.in b/po/pt_BR.po.in
similarity index 59%
copy from po/hr.po.in
copy to po/pt_BR.po.in
index 36fb693..03289da 100644
--- a/po/hr.po.in
+++ b/po/pt_BR.po.in
@@ -1,157 +1,158 @@
-# Translation of libidn to Croatian.
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Brazilian Portuguese translation for libidn.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2014 Simon Josefsson
 # This file is distributed under the same license as the libidn package.
+# Rafael Ferreira <address@hidden>, 2014.
 #
-# Tomislav Krznar <address@hidden>, 2012.
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn 1.25\n"
+"Project-Id-Version: libidn 1.27\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2012-05-23 10:37+0200\n"
-"PO-Revision-Date: 2012-09-27 23:16+0200\n"
-"Last-Translator: Tomislav Krznar <address@hidden>\n"
-"Language-Team: Croatian <address@hidden>\n"
-"Language: hr\n"
+"POT-Creation-Date: 2013-06-05 21:59+0200\n"
+"PO-Revision-Date: 2014-02-04 23:46-0300\n"
+"Last-Translator: Rafael Ferreira <address@hidden>\n"
+"Language-Team: Brazilian Portuguese <address@hidden>\n"
+"Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && 
n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 1.4\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 1.6.3\n"
 
 #: lib/strerror-idna.c:82 lib/strerror-pr29.c:66 lib/strerror-punycode.c:66
 #: lib/strerror-stringprep.c:86 lib/strerror-tld.c:68
 msgid "Success"
-msgstr "Uspjeh"
+msgstr "Sucesso"
 
 #: lib/strerror-idna.c:86 lib/strerror-pr29.c:74
 msgid "String preparation failed"
-msgstr "Priprema niza nije uspjela"
+msgstr "Preparação de string falhou"
 
 #: lib/strerror-idna.c:90
 msgid "Punycode failed"
-msgstr "Punycode nije uspio"
+msgstr "Punycode falhou"
 
 #: lib/strerror-idna.c:94
 msgid "Non-digit/letter/hyphen in input"
-msgstr "Ne-broj/slovo/crtica u ulazu"
+msgstr "Não-dígito/letra/hífen na entrada"
 
 #: lib/strerror-idna.c:98
 msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr "Zabranjeni početni ili završni minus („-”)"
+msgstr "Sinal de menus proibido no início ou ao final (\"-\")"
 
 #: lib/strerror-idna.c:102
 msgid "Output would be too large or too small"
-msgstr "Izlaz bi bio prevelik ili premalen"
+msgstr "Saída seria grande demais ou pequena demais"
 
 #: lib/strerror-idna.c:106
 msgid "Input does not start with ACE prefix (`xn--')"
-msgstr "Ulaz ne počinje s ACE prefiksom („xn--”)"
+msgstr "Entrada não inicia com prefixo ACE (\"xn--\")"
 
 #: lib/strerror-idna.c:110
 msgid "String not idempotent under ToASCII"
-msgstr "Niz nije idempotentan prema ToASCII"
+msgstr "String não idempotente sob ToASCII"
 
 #: lib/strerror-idna.c:114
 msgid "Input already contain ACE prefix (`xn--')"
-msgstr "Ulaz već sadrži ACE prefiks („xn--”)"
+msgstr "Entrada já contém prefixo ACE (\"xn--\")"
 
 #: lib/strerror-idna.c:118 lib/strerror-tld.c:84
 msgid "System iconv failed"
-msgstr "iconv sustava nije uspio"
+msgstr "iconv do sistema falhou"
 
 #: lib/strerror-idna.c:122 lib/strerror-stringprep.c:130 lib/strerror-tld.c:80
 msgid "Cannot allocate memory"
-msgstr "Ne mogu alocirati memoriju"
+msgstr "Não foi possível alocar memória"
 
 #: lib/strerror-idna.c:126
 msgid "System dlopen failed"
-msgstr "dlopen sustava nije uspio"
+msgstr "dlopen de sistema falhou"
 
 #: lib/strerror-idna.c:130 lib/strerror-pr29.c:78 lib/strerror-punycode.c:82
 #: lib/strerror-stringprep.c:134 lib/strerror-tld.c:92
 msgid "Unknown error"
-msgstr "Nepoznata greška"
+msgstr "Erro desconhecido"
 
 #: lib/strerror-pr29.c:70
 msgid "String not idempotent under Unicode NFKC normalization"
-msgstr "Niz nije idempotentan prema Unicode NFKC normalizaciji"
+msgstr "String não idempotente sob normalização Unicode NFKC"
 
 #: lib/strerror-punycode.c:70
 msgid "Invalid input"
-msgstr "Neispravan ulaz"
+msgstr "Entrada inválida"
 
 #: lib/strerror-punycode.c:74 lib/strerror-stringprep.c:110
 msgid "Output would exceed the buffer space provided"
-msgstr "Izlaz bi prekoračio dostupan prostor međuspremnika"
+msgstr "Saída excederia o espaço de buffer fornecido"
 
 #: lib/strerror-punycode.c:78
 msgid "String size limit exceeded"
-msgstr "Prekoračeno ograničenje veličine niza"
+msgstr "Limite do tamanho da string excedido"
 
 #: lib/strerror-stringprep.c:90
 msgid "Forbidden unassigned code points in input"
-msgstr "Zabranjene nedodijeljene kodne točke na ulazu"
+msgstr "Pontos de código não-atribuídos proibidos na entrada"
 
 #: lib/strerror-stringprep.c:94
 msgid "Prohibited code points in input"
-msgstr "Zabranjene kodne točke na ulazu"
+msgstr "Pontos de código proibidos na entrada"
 
 #: lib/strerror-stringprep.c:98
 msgid "Conflicting bidirectional properties in input"
-msgstr "Konfliktna dvosmjerna svojstva u ulazu"
+msgstr "Propriedades bidirecionais conflitando na entrada"
 
 #: lib/strerror-stringprep.c:102
 msgid "Malformed bidirectional string"
-msgstr "Izobličen dvosmjerni niz"
+msgstr "String bidirecional malformada "
 
 #: lib/strerror-stringprep.c:106
 msgid "Prohibited bidirectional code points in input"
-msgstr "Zabranjene dvosmjerne kodne točke na ulazu"
+msgstr "Pontos de código bidirecionais proibidos na entrada"
 
 #: lib/strerror-stringprep.c:114
 msgid "Error in stringprep profile definition"
-msgstr "Greška u stringprep definiciji profila"
+msgstr "Erro ma definição de perfil de stringprep"
 
 #: lib/strerror-stringprep.c:118
 msgid "Flag conflict with profile"
-msgstr "Konflikt zastavice s profilom"
+msgstr "Opção conflita com o perfil"
 
 #: lib/strerror-stringprep.c:122
 msgid "Unknown profile"
-msgstr "Nepoznat profil"
+msgstr "Perfil desconhecido"
 
 #: lib/strerror-stringprep.c:126
 msgid "Unicode normalization failed (internal error)"
-msgstr "Unicode normalizacija nije uspjela (interna greška)"
+msgstr "Normalização de unicode falhou (erro interno)"
 
 #: lib/strerror-tld.c:72
 msgid "Code points prohibited by top-level domain"
-msgstr "Kodne točke zabranjene vršnom domenom"
+msgstr "Pontos de código proibidos pelo domínio de topo"
 
 #: lib/strerror-tld.c:76
 msgid "Missing input"
-msgstr "Nedostaje ulaz"
+msgstr "Entrada faltando"
 
 #: lib/strerror-tld.c:88
 msgid "No top-level domain found in input"
-msgstr "Nije pronađena vršna domena u ulazu"
+msgstr "Nenhum domínio de topo encontrado na entrada"
 
 #: src/idn.c:65
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "Pokušajte „%s --help” za više informacija.\n"
+msgstr "Tente \"%s --help\" para mais informações.\n"
 
 #: src/idn.c:69
 #, c-format
 msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr "Uporaba: %s [OPCIJA]... [NIZOVI]...\n"
+msgstr "Uso: %s [OPÇÃO]... [STRINGS]...\n"
 
 #: src/idn.c:72
 msgid ""
 "Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
 "\n"
 msgstr ""
-"Pretvaranje NIZOVA ili standardnog ulaza u internacionalizirano ime domene 
(IDN).\n"
+"Nome de domínio internacionalizado (IDN) para conversão de STRINGS ou 
entrada padrão.\n"
 "\n"
 
 #: src/idn.c:76
@@ -167,24 +168,26 @@ msgid ""
 "\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
-"Sučelje naredbenog retka za biblioteku internacionaliziranih imena domena.\n"
+"Interface de linha de comando para a biblioteca de nome de domínio\n"
+"internacionalizado.\n"
 "\n"
-"Svi znakovni nizovi bi trebali biti kodirani u skupu znakova određenom\n"
-"vašim lokalom.  Koristite „--debug” kako biste ga otkrili. Možete ga\n"
-"promijeniti postavljanjem varijable okoline CHARSET.\n"
+"Espera-se que todas as strings estejam codificados no conjunto de 
caracteres\n"
+"preferidos usado pelo seu locale. Use \"--debug\" para descobrir qual é 
esse\n"
+"conjunto de caracteres. Você pode sobrescrever o conjunto de caracteres 
usado\n"
+"definindo a variável de ambiente CHARSET.\n"
 "\n"
-"Za obradu niza koji počinje s „-”, npr. „-foo”, koristite „--” 
za\n"
-"označavanje kraja popisa parametara, npr. „idn --quiet -a -- -foo”.\n"
+"Para processar string que inicie com \"-\", por exemplo \"-foo\", use 
\"--\"\n"
+"para sinal no fim de parâmetros, como em \"idn --quiet -a -- -foo\".\n"
 "\n"
-"Obavezni argumenti dugačkih opcija također su obavezni i za kratke 
opcije.\n"
+"Argumentos obrigatórios para opções longas são também são para as 
curtas.\n"
 
 #: src/idn.c:88
 msgid ""
 "  -h, --help               Print help and exit\n"
 "  -V, --version            Print version and exit\n"
 msgstr ""
-"  -h, --help               Ispiši pomoć i izađi\n"
-"  -V, --version            Ispiši inačicu i izađi\n"
+"  -h, --help               Mostra ajuda e sai\n"
+"  -V, --version            Mostra versão e sai\n"
 
 #: src/idn.c:92
 msgid ""
@@ -194,31 +197,31 @@ msgid ""
 "  -a, --idna-to-ascii      Convert to ACE according to IDNA (default mode)\n"
 "  -u, --idna-to-unicode    Convert from ACE according to IDNA\n"
 msgstr ""
-"  -s, --stringprep         Pripremi niz prema nameprep profilu\n"
-"  -d, --punycode-decode    Dekodiraj Punycode\n"
-"  -e, --punycode-encode    Kodiraj Punycode\n"
-"  -a, --idna-to-ascii      Pretvori u ACE u skladu s IDNA (zadani način)\n"
-"  -u, --idna-to-unicode    Pretvori iz ACE u skladu s IDNA\n"
+"  -s, --stringprep         Prepara string de acordo com o perfil nameprep\n"
+"  -d, --punycode-decode    Decodifica Punycode\n"
+"  -e, --punycode-encode    Codifica Punycode\n"
+"  -a, --idna-to-ascii      Converte para ACE de acordo com IDNA (padrão)\n"
+"  -u, --idna-to-unicode    Converte de ACE de acordo com IDNA\n"
 
 #: src/idn.c:99
 msgid ""
 "      --allow-unassigned   Toggle IDNA AllowUnassigned flag (default off)\n"
 "      --usestd3asciirules  Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
 msgstr ""
-"      --allow-unassigned   Promijeni IDNA AllowUnassigned zastavicu (početno 
isključeno)\n"
-"      --usestd3asciirules  Promijeni IDNA UseSTD3ASCIIRules zastavicu 
(početno isključeno)\n"
+"      --allow-unassigned   Ativa opção IDNA AllowUnassigned (padrão é 
off)\n"
+"      --usestd3asciirules  Ativa opção IDNA UseSTD3ASCIIRules (padrão é 
off)\n"
 
 #: src/idn.c:103
 msgid ""
 "      --no-tld             Don't check string for TLD specific rules\n"
 "                             Only for --idna-to-ascii and --idna-to-unicode\n"
 msgstr ""
-"      --no-tld             Ne provjeravaj TLD specifična pravila u nizu\n"
-"                             Samo za --idna-to-ascii i --idna-to-unicode\n"
+"      --no-tld             Não verifica string por regras específicas de 
TLD\n"
+"                             Apenas por --idna-to-ascii e --idna-to-unicode\n"
 
 #: src/idn.c:107
 msgid "  -n, --nfkc               Normalize string according to Unicode v3.2 
NFKC\n"
-msgstr "  -n, --nfkc               Normaliziraj niz u skladu s Unicode v3.2 
NFKC\n"
+msgstr "  -n, --nfkc               Normaliza string de acordo com Unicode v3.2 
NFKC\n"
 
 #: src/idn.c:110
 msgid ""
@@ -227,49 +230,49 @@ msgid ""
 "                             `iSCSI', `Nodeprep', `Resourceprep', \n"
 "                             `trace', `SASLprep'\n"
 msgstr ""
-"  -p, --profile=NIZ        Koristi navedeni stringprep profil\n"
-"                             Ispravni stringprep profili: „Nameprep”,\n"
-"                             „iSCSI”, „Nodeprep”, 
„Resourceprep”,\n"
-"                             „trace”, „SASLprep”\n"
+"  -p, --profile=STRING     Usa o perfil de stringprep especificado\n"
+"                             Perfis stringprep válidos: \"Nameprep\",\n"
+"                             \"iSCSI\", \"Nodeprep\", \"Resourceprep\", \n"
+"                             \"trace\", \"SASLprep\"\n"
 
 #: src/idn.c:116
 msgid ""
 "      --debug              Print debugging information\n"
 "      --quiet              Silent operation\n"
 msgstr ""
-"      --debug              Ispiši informacije za debugiranje\n"
-"      --quiet              Rad bez ispisa\n"
+"      --debug              Mostra informações de depuração\n"
+"      --quiet              Operação silenciosa\n"
 
 #: src/idn.c:172
 #, c-format
 msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "smijete navesti samo jednu od opcija -s, -e, -d, -a, -u ili -n"
+msgstr "apenas um entre -s, -e, -d, -a, -u ou -n pode ser especificado"
 
 #: src/idn.c:182
 #, c-format
 msgid "Charset `%s'.\n"
-msgstr "Skup znakova „%s”.\n"
+msgstr "Codificação de caracteres \"%s\".\n"
 
 #: src/idn.c:187
 #, c-format
 msgid "Type each input string on a line by itself, terminated by a newline 
character.\n"
-msgstr "Unesite svaki ulazni niz u zasebnom retku, završenom znakom novog 
retka.\n"
+msgstr "Digite cada string de entrada em uma linha, terminada por um caractere 
de linha nova.\n"
 
 #: src/idn.c:202
 #, c-format
 msgid "input error"
-msgstr "ulazna greška"
+msgstr "erro na entrada"
 
 #: src/idn.c:212 src/idn.c:274 src/idn.c:357 src/idn.c:434 src/idn.c:515
 #, c-format
 msgid "could not convert from %s to UTF-8"
-msgstr "ne mogu pretvoriti iz %s u UTF-8"
+msgstr "não foi possível converter de %s para UTF-8"
 
 #: src/idn.c:220 src/idn.c:245 src/idn.c:281 src/idn.c:498 src/idn.c:527
 #: src/idn.c:551
 #, c-format
 msgid "could not convert from UTF-8 to UCS-4"
-msgstr "ne mogu pretvoriti iz UTF-8 u UCS-4"
+msgstr "não foi possível converter de UTF-8 para UCS-4"
 
 #: src/idn.c:237
 #, c-format
@@ -279,7 +282,7 @@ msgstr "stringprep_profile: %s"
 #: src/idn.c:260 src/idn.c:302 src/idn.c:345 src/idn.c:503 src/idn.c:564
 #, c-format
 msgid "could not convert from UTF-8 to %s"
-msgstr "ne mogu pretvoriti iz UTF-8 u %s"
+msgstr "não foi possível converter de UTF-8 para %s"
 
 #: src/idn.c:295
 #, c-format
@@ -298,7 +301,7 @@ msgstr "punycode_decode: %s"
 #: src/idn.c:340 src/idn.c:364 src/idn.c:442
 #, c-format
 msgid "could not convert from UCS-4 to UTF-8"
-msgstr "ne mogu pretvoriti iz UCS-4 u UTF-8"
+msgstr "não foi possível converter de UCS-4 para UTF-8"
 
 #: src/idn.c:381
 #, c-format
@@ -313,7 +316,7 @@ msgstr "idna_to_unicode_8z4z (TLD): %s"
 #: src/idn.c:409 src/idn.c:482
 #, c-format
 msgid "tld_check_4z (position %lu): %s"
-msgstr "tld_check_4z (položaj %lu): %s"
+msgstr "tld_check_4z (posição %lu): %s"
 
 #: src/idn.c:412 src/idn.c:488
 #, c-format
@@ -328,4 +331,4 @@ msgstr "idna_to_unicode_8z4z: %s"
 #: src/idn.c:540
 #, c-format
 msgid "could not do NFKC normalization"
-msgstr "ne mogu izvršiti NFKC normalizaciju"
+msgstr "não foi possível fazer normalização NFKC"
diff --git a/src/Makefile.am b/src/Makefile.am
index 5bc8caf..9e07f71 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson
+# Copyright (C) 2002-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/src/idn.c b/src/idn.c
index c5b2b17..13deb9c 100644
--- a/src/idn.c
+++ b/src/idn.c
@@ -1,5 +1,5 @@
 /* idn.c --- Command line interface to libidn.
- * Copyright (C) 2003-2013 Simon Josefsson
+ * Copyright (C) 2003-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -48,7 +48,7 @@
 #include "idn_cmd.h"
 
 #define GREETING \
-  "Copyright 2002-2013 Simon Josefsson.\n"                              \
+  "Copyright 2002-2014 Simon Josefsson.\n"                              \
   "GNU Libidn is free software with ABSOLUTELY NO WARRANTY.  For more\n" \
   "information about these matters, see <http://www.gnu.org/licenses/>.\n"
 
diff --git a/src/idn.ggo b/src/idn.ggo
index 78ed0b3..5f4683f 100644
--- a/src/idn.ggo
+++ b/src/idn.ggo
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2013 Simon Josefsson.
+# Copyright (C) 2003-2014 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/src/idna.el b/src/idna.el
index 8e4d868..5fbbc6a 100644
--- a/src/idna.el
+++ b/src/idna.el
@@ -1,6 +1,6 @@
 ;;; idna.el --- Internationalizing Domain Names in Applications.
 
-;; Copyright (C) 2003-2013 Simon Josefsson
+;; Copyright (C) 2003-2014 Simon Josefsson
 ;; Keywords: idna, idn, domain name, internationalization
 
 ;; This file is part of GNU Libidn.
diff --git a/src/punycode.el b/src/punycode.el
index 14ac0d5..b89ba5e 100644
--- a/src/punycode.el
+++ b/src/punycode.el
@@ -1,6 +1,6 @@
 ;;; punycode.el --- An ASCII compatible Unicode encoding format.
 
-;; Copyright (C) 2003-2013 Simon Josefsson
+;; Copyright (C) 2003-2014 Simon Josefsson
 ;; Keywords: punycode, idna, idn, unicode, encoding
 
 ;; This file is part of GNU Libidn.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 8c93e80..a75c23a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2013 Simon Josefsson
+# Copyright (C) 2002-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/tests/libidn.supp b/tests/libidn.supp
index 44acbb4..439b290 100644
--- a/tests/libidn.supp
+++ b/tests/libidn.supp
@@ -1,5 +1,5 @@
 # libidn.supp -- Valgrind suppression file for Libidn
-# Copyright (C) 2012-2013 Simon Josefsson
+# Copyright (C) 2012-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/tests/tst_idna.c b/tests/tst_idna.c
index 5af1a9a..e2aef35 100644
--- a/tests/tst_idna.c
+++ b/tests/tst_idna.c
@@ -1,5 +1,5 @@
 /* tst_idna.c --- Self tests for idna_to_ascii().
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_idna2.c b/tests/tst_idna2.c
index 39a34dc..bc7736b 100644
--- a/tests/tst_idna2.c
+++ b/tests/tst_idna2.c
@@ -1,5 +1,5 @@
 /* tst_idna2.c --- Self tests for idna_to_ascii_8z().
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_idna3.c b/tests/tst_idna3.c
index 655ae08..f2e112e 100644
--- a/tests/tst_idna3.c
+++ b/tests/tst_idna3.c
@@ -1,5 +1,5 @@
 /* tst_idna3.c --- Self tests for upper-case XN-- regression.
- * Copyright (C) 2011-2013 Simon Josefsson
+ * Copyright (C) 2011-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_idna4.c b/tests/tst_idna4.c
index ee11388..7a71515 100644
--- a/tests/tst_idna4.c
+++ b/tests/tst_idna4.c
@@ -1,5 +1,5 @@
 /* tst_idna4.c --- Self tests for memory leak regression.
- * Copyright (C) 2011-2013 Simon Josefsson
+ * Copyright (C) 2011-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_nfkc.c b/tests/tst_nfkc.c
index 306215b..4c6952a 100644
--- a/tests/tst_nfkc.c
+++ b/tests/tst_nfkc.c
@@ -1,5 +1,5 @@
 /* tst_nfkc.c --- Self tests for stringprep_utf8_nfkc_normalize().
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_pr29.c b/tests/tst_pr29.c
index 096a21e..6ce2d0c 100644
--- a/tests/tst_pr29.c
+++ b/tests/tst_pr29.c
@@ -1,5 +1,5 @@
 /* tst_pr29.c --- Self tests for pr29_*().
- * Copyright (C) 2004-2013 Simon Josefsson
+ * Copyright (C) 2004-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_punycode.c b/tests/tst_punycode.c
index 611781d..e8f305b 100644
--- a/tests/tst_punycode.c
+++ b/tests/tst_punycode.c
@@ -1,5 +1,5 @@
 /* tst_punycode.c --- Self tests for punycode.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_strerror.c b/tests/tst_strerror.c
index 51124e3..18fe056 100644
--- a/tests/tst_strerror.c
+++ b/tests/tst_strerror.c
@@ -1,5 +1,5 @@
 /* tst_strerror.c --- Self tests for *_strerror().
- * Copyright (C) 2004-2013 Simon Josefsson
+ * Copyright (C) 2004-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_stringprep.c b/tests/tst_stringprep.c
index 4f81a21..cf58661 100644
--- a/tests/tst_stringprep.c
+++ b/tests/tst_stringprep.c
@@ -1,5 +1,5 @@
 /* tst_stringprep.c --- Self tests for stringprep().
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_symbols.c b/tests/tst_symbols.c
index faf3e0d..c06fc2a 100644
--- a/tests/tst_symbols.c
+++ b/tests/tst_symbols.c
@@ -1,5 +1,5 @@
 /* tst_symbols.c --- Test if all exported symbols are available.
- * Copyright (C) 2010-2013 Simon Josefsson
+ * Copyright (C) 2010-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_tld.c b/tests/tst_tld.c
index 5490e41..3c408ba 100644
--- a/tests/tst_tld.c
+++ b/tests/tst_tld.c
@@ -1,5 +1,5 @@
 /* tst_tld.c --- Self tests for tld_*().
- * Copyright (C) 2004-2013 Simon Josefsson
+ * Copyright (C) 2004-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_toutf8.c b/tests/tst_toutf8.c
index 6256af7..fdfdedc 100644
--- a/tests/tst_toutf8.c
+++ b/tests/tst_toutf8.c
@@ -1,5 +1,5 @@
 /* tst_toutf8.c --- Self tests for UTF-8 conversion functions.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/utils.c b/tests/utils.c
index 828b023..3a52c43 100644
--- a/tests/utils.c
+++ b/tests/utils.c
@@ -1,5 +1,5 @@
 /* utils.c --- Self test utilities.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/utils.h b/tests/utils.h
index 4a12b8f..6d238e0 100644
--- a/tests/utils.h
+++ b/tests/utils.h
@@ -1,5 +1,5 @@
 /* utils.h --- Prototypes for self test utilities.
- * Copyright (C) 2002-2013 Simon Josefsson
+ * Copyright (C) 2002-2014 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/windows/include/ac-stdint.h b/windows/include/ac-stdint.h
index c0601f9..b6aafd9 100644
--- a/windows/include/ac-stdint.h
+++ b/windows/include/ac-stdint.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
    Written by Adam Strzelecki <address@hidden>
 
    This file is part of GNU Libidn.
diff --git a/windows/include/config.h b/windows/include/config.h
index 80173a0..1a365a7 100644
--- a/windows/include/config.h
+++ b/windows/include/config.h
@@ -1,5 +1,5 @@
 /* config.h --- System definitions for Windows
-   Copyright (C) 2008-2013 Free Software Foundation, Inc.
+   Copyright (C) 2008-2014 Free Software Foundation, Inc.
 
    This file is part of GNU Libidn.
 
diff --git a/windows/include/idn-int.h b/windows/include/idn-int.h
index b5ef9ad..42e299c 100644
--- a/windows/include/idn-int.h
+++ b/windows/include/idn-int.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
    Written by Adam Strzelecki <address@hidden>
 
    This file is part of GNU Libidn.
diff --git a/windows/include/stdbool.h b/windows/include/stdbool.h
index 13dfc52..da00538 100644
--- a/windows/include/stdbool.h
+++ b/windows/include/stdbool.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
    Written by Adam Strzelecki <address@hidden>
 
    This file is part of GNU Libidn.
diff --git a/windows/libidn4win.mk b/windows/libidn4win.mk
index 899952b..aed708e 100644
--- a/windows/libidn4win.mk
+++ b/windows/libidn4win.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2013 Simon Josefsson
+# Copyright (C) 2011-2014 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #


hooks/post-receive
-- 
GNU libidn



reply via email to

[Prev in Thread] Current Thread [Next in Thread]