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-32-18-g5e3cb9c


From: Simon Josefsson
Subject: [SCM] GNU libidn branch, master, updated. libidn-1-32-18-g5e3cb9c
Date: Thu, 14 Jan 2016 13:59:54 +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=5e3cb9c7b5bf0ce665b9d68f5ddf095af5c9ba60

The branch, master has been updated
       via  5e3cb9c7b5bf0ce665b9d68f5ddf095af5c9ba60 (commit)
       via  c563c947a4982a8b073143e02e8cf777f87e38a3 (commit)
       via  c0c4e3fc3a8198389cf2c94f21ef20e5606fffad (commit)
       via  1a8cb3a41334fcc5e74cd4e34f4f1bba733325c0 (commit)
      from  1d2413555dcd1fef26b80445a00a4637965a2df0 (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 5e3cb9c7b5bf0ce665b9d68f5ddf095af5c9ba60
Author: Simon Josefsson <address@hidden>
Date:   Thu Jan 14 14:59:19 2016 +0100

    Really fix bug when reading \00 inputs.

commit c563c947a4982a8b073143e02e8cf777f87e38a3
Author: Simon Josefsson <address@hidden>
Date:   Thu Jan 14 14:44:20 2016 +0100

    Sync with TP.

commit c0c4e3fc3a8198389cf2c94f21ef20e5606fffad
Author: Simon Josefsson <address@hidden>
Date:   Thu Jan 14 14:40:48 2016 +0100

    Bump copyright notices.

commit 1a8cb3a41334fcc5e74cd4e34f4f1bba733325c0
Author: Simon Josefsson <address@hidden>
Date:   Thu Jan 14 14:37:20 2016 +0100

    Update gnulib files.

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

Summary of changes:
 .clcopying                                         |    2 +-
 AUTHORS                                            |    2 +-
 FAQ                                                |    2 +-
 GNUmakefile                                        |    2 +-
 HACKING                                            |    2 +-
 Makefile.am                                        |    2 +-
 README                                             |    2 +-
 THANKS                                             |    2 +-
 TODO                                               |    2 +-
 build-aux/config.rpath                             |    2 +-
 build-aux/csharpcomp.sh.in                         |    2 +-
 build-aux/csharpexec.sh.in                         |    2 +-
 build-aux/gendocs.sh                               |    6 +-
 build-aux/gnupload                                 |    6 +-
 build-aux/pmccabe2html                             |    8 +-
 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                         |    8 +-
 build-aux/useless-if-before-free                   |    8 +-
 build-aux/vc-list-files                            |    6 +-
 cfg.mk                                             |    2 +-
 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                               |    2 +-
 doc/gendocs_template_min                           |    2 +-
 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                                     |    4 +-
 gl/errno.in.h                                      |    2 +-
 gl/error.c                                         |    2 +-
 gl/error.h                                         |    2 +-
 gl/getdelim.c                                      |    2 +-
 gl/getline.c                                       |    2 +-
 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                                      |  145 ++++++-
 gl/m4/00gnulib.m4                                  |    2 +-
 gl/m4/absolute-header.m4                           |    2 +-
 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                                      |    2 +-
 gl/m4/eealloc.m4                                   |    2 +-
 gl/m4/environ.m4                                   |    2 +-
 gl/m4/errno_h.m4                                   |    2 +-
 gl/m4/error.m4                                     |    2 +-
 gl/m4/extensions.m4                                |    2 +-
 gl/m4/extern-inline.m4                             |    2 +-
 gl/m4/fcntl-o.m4                                   |    2 +-
 gl/m4/fcntl_h.m4                                   |    2 +-
 gl/m4/fdopen.m4                                    |    2 +-
 gl/m4/fstat.m4                                     |    2 +-
 gl/m4/getcwd.m4                                    |    2 +-
 gl/m4/getdelim.m4                                  |    2 +-
 gl/m4/getdtablesize.m4                             |    2 +-
 gl/m4/getline.m4                                   |    2 +-
 gl/m4/getopt.m4                                    |    2 +-
 gl/m4/gettimeofday.m4                              |    2 +-
 gl/m4/gnulib-cache.m4                              |    4 +-
 gl/m4/gnulib-common.m4                             |   45 ++-
 gl/m4/gnulib-comp.m4                               |   11 +-
 gl/m4/gnulib-tool.m4                               |    2 +-
 gl/m4/include_next.m4                              |    2 +-
 gl/m4/inttypes-pri.m4                              |    2 +-
 gl/m4/inttypes.m4                                  |    2 +-
 gl/m4/largefile.m4                                 |    2 +-
 gl/m4/longlong.m4                                  |    2 +-
 gl/m4/lstat.m4                                     |    2 +-
 gl/m4/malloc.m4                                    |    2 +-
 gl/m4/malloca.m4                                   |    2 +-
 gl/m4/manywarnings.m4                              |    2 +-
 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/putenv.m4                                    |    2 +-
 gl/m4/realloc.m4                                   |    2 +-
 gl/m4/setenv.m4                                    |    2 +-
 gl/m4/ssize_t.m4                                   |    2 +-
 gl/m4/stat.m4                                      |    2 +-
 gl/m4/stdalign.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/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                                |    2 +-
 gl/m4/sys_types_h.m4                               |    2 +-
 gl/m4/time_h.m4                                    |    2 +-
 gl/m4/unistd_h.m4                                  |    2 +-
 gl/m4/valgrind-tests.m4                            |    2 +-
 gl/m4/version-etc.m4                               |    2 +-
 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/msvc-inval.c                                    |    2 +-
 gl/msvc-inval.h                                    |    2 +-
 gl/msvc-nothrow.c                                  |    2 +-
 gl/msvc-nothrow.h                                  |    2 +-
 gl/progname.c                                      |    2 +-
 gl/progname.h                                      |    2 +-
 gl/realloc.c                                       |    2 +-
 gl/stdarg.in.h                                     |    2 +-
 gl/stddef.in.h                                     |    2 +-
 gl/stdint.in.h                                     |    2 +-
 gl/stdio.in.h                                      |    2 +-
 gl/stdlib.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                                  |    2 +-
 gl/unistd.c                                        |    1 +
 gl/unistd.in.h                                     |    2 +-
 gl/verify.h                                        |    2 +-
 gl/version-etc.c                                   |    4 +-
 gl/version-etc.h                                   |    2 +-
 gltests/Makefile.am                                |    2 +-
 gltests/alloca.in.h                                |    2 +-
 gltests/binary-io.c                                |    1 +
 gltests/binary-io.h                                |    2 +-
 gltests/close.c                                    |    2 +-
 gltests/dosname.h                                  |    2 +-
 gltests/dup2.c                                     |    2 +-
 gltests/fcntl.in.h                                 |    2 +-
 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                            |    2 +-
 gltests/gettimeofday.c                             |    2 +-
 gltests/ignore-value.h                             |    4 +-
 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/open.c                                     |    2 +-
 gltests/pathmax.h                                  |    2 +-
 gltests/putenv.c                                   |    2 +-
 gltests/same-inode.h                               |    2 +-
 gltests/setenv.c                                   |    2 +-
 gltests/signature.h                                |    2 +-
 gltests/stat.c                                     |    2 +-
 gltests/stdalign.in.h                              |   18 +-
 gltests/stdbool.in.h                               |    2 +-
 gltests/symlink.c                                  |    2 +-
 gltests/sys_stat.in.h                              |    2 +-
 gltests/sys_time.in.h                              |    2 +-
 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                              |    2 +-
 gltests/test-fgetc.c                               |    2 +-
 gltests/test-fputc.c                               |    2 +-
 gltests/test-fread.c                               |    2 +-
 gltests/test-fstat.c                               |    2 +-
 gltests/test-fwrite.c                              |    2 +-
 gltests/test-getcwd-lgpl.c                         |    2 +-
 gltests/test-getdelim.c                            |    2 +-
 gltests/test-getdtablesize.c                       |    2 +-
 gltests/test-getline.c                             |    2 +-
 gltests/test-getopt.c                              |    2 +-
 gltests/test-getopt.h                              |    2 +-
 gltests/test-getopt_long.h                         |    2 +-
 gltests/test-gettimeofday.c                        |    2 +-
 gltests/test-ignore-value.c                        |    2 +-
 gltests/test-init.sh                               |    2 +-
 gltests/test-intprops.c                            |  392 +++++++++++------
 gltests/test-inttypes.c                            |    2 +-
 gltests/test-lstat.c                               |    2 +-
 gltests/test-lstat.h                               |    2 +-
 gltests/test-malloca.c                             |    2 +-
 gltests/test-open.c                                |    2 +-
 gltests/test-open.h                                |    2 +-
 gltests/test-pathmax.c                             |    2 +-
 gltests/test-setenv.c                              |    2 +-
 gltests/test-stat.c                                |    2 +-
 gltests/test-stat.h                                |    2 +-
 gltests/test-stdalign.c                            |    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-sys_time.c                            |    2 +-
 gltests/test-sys_types.c                           |    2 +-
 gltests/test-unsetenv.c                            |    2 +-
 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/time.in.h                                  |    2 +-
 gltests/unsetenv.c                                 |    2 +-
 gltests/version-etc-fsf.c                          |    2 +-
 gltests/wchar.in.h                                 |    2 +-
 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                                 |   17 +-
 lib/gl/c-ctype.c                                   |  394 +-----------------
 lib/gl/c-ctype.h                                   |  453 +++++++++++--------
 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                              |    2 +-
 lib/gl/m4/absolute-header.m4                       |    2 +-
 lib/gl/m4/alloca.m4                                |    2 +-
 lib/gl/m4/codeset.m4                               |    3 +-
 lib/gl/m4/ctype.m4                                 |   32 ++
 lib/gl/m4/eealloc.m4                               |    2 +-
 lib/gl/m4/environ.m4                               |    2 +-
 lib/gl/m4/extensions.m4                            |    2 +-
 lib/gl/m4/extern-inline.m4                         |    2 +-
 lib/gl/m4/gnulib-cache.m4                          |    4 +-
 lib/gl/m4/gnulib-common.m4                         |   45 ++-
 lib/gl/m4/gnulib-comp.m4                           |   13 +-
 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                          |    2 +-
 lib/gl/m4/inline.m4                                |    2 +-
 lib/gl/m4/intlmacosx.m4                            |    6 +-
 lib/gl/m4/inttypes-pri.m4                          |    2 +-
 lib/gl/m4/inttypes.m4                              |    2 +-
 lib/gl/m4/langinfo_h.m4                            |    2 +-
 lib/gl/m4/lcmessage.m4                             |    8 +-
 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/stdalign.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                                 |    2 +-
 lib/gl/striconv.c                                  |    2 +-
 lib/gl/striconv.h                                  |    2 +-
 lib/gl/string.in.h                                 |    2 +-
 lib/gl/strverscmp.c                                |    4 +-
 lib/gl/sys_types.in.h                              |    2 +-
 lib/gl/unistr.in.h                                 |    2 +-
 lib/gl/unistr/u8-check.c                           |    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                            |   38 ++-
 lib/gltests/alloca.in.h                            |    2 +-
 lib/gltests/ctype.in.h                             |   57 +++
 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                             |  145 ++++++-
 lib/gltests/inttypes.in.h                          |    2 +-
 lib/gltests/langinfo.in.h                          |    2 +-
 lib/gltests/locale.in.h                            |    2 +-
 lib/gltests/localename.c                           |    6 +-
 lib/gltests/localename.h                           |    2 +-
 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                            |    4 +-
 lib/gltests/signature.h                            |    2 +-
 lib/gltests/stdalign.in.h                          |   18 +-
 lib/gltests/stdlib.in.h                            |    2 +-
 lib/gltests/test-alloca-opt.c                      |    2 +-
 lib/gltests/test-c-ctype.c                         |  354 +++++-----------
 lib/gltests/test-c-strcasecmp.c                    |    2 +-
 lib/gltests/test-c-strncasecmp.c                   |    2 +-
 gltests/test-pathmax.c => lib/gltests/test-ctype.c |   13 +-
 lib/gltests/test-environ.c                         |    2 +-
 lib/gltests/test-iconv.c                           |    2 +-
 lib/gltests/test-init.sh                           |    2 +-
 lib/gltests/test-intprops.c                        |  392 +++++++++++------
 lib/gltests/test-inttypes.c                        |    2 +-
 lib/gltests/test-langinfo.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-stdalign.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.c                               |    1 +
 lib/gltests/unistd.in.h                            |    2 +-
 lib/gltests/unistr/test-u8-check.c                 |    2 +-
 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.h                                         |    2 +-
 lib/libidn.map                                     |    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                        |    2 +-
 maint.mk                                           |   19 +-
 po/da.po.in                                        |    5 +-
 src/Makefile.am                                    |    2 +-
 src/idn.c                                          |    7 +-
 src/idn.ggo                                        |    2 +-
 src/idna.el                                        |    2 +-
 src/punycode.el                                    |    2 +-
 tests/tst_badutf8.c                                |    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/tst_utf8crash.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 +-
 494 files changed, 1884 insertions(+), 1745 deletions(-)
 create mode 100644 lib/gl/m4/ctype.m4
 create mode 100644 lib/gltests/ctype.in.h
 copy gltests/test-pathmax.c => lib/gltests/test-ctype.c (73%)

diff --git a/.clcopying b/.clcopying
index 4abb618..3d4b922 100644
--- a/.clcopying
+++ b/.clcopying
@@ -1,6 +1,6 @@
        -----
 
-       Copyright (C) 2002-2015 Simon Josefsson
+       Copyright (C) 2002-2016 Simon Josefsson
 
        Copying and distribution of this file, with or without
        modification, are permitted provided the copyright notice
diff --git a/AUTHORS b/AUTHORS
index babf801..e3baeb6 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,5 +1,5 @@
 Libidn AUTHORS -- Information about the authors.
-Copyright (C) 2002-2015 Simon Josefsson
+Copyright (C) 2002-2016 Simon Josefsson
 See the end for copying conditions.
 
 Simon Josefsson <address@hidden>
diff --git a/FAQ b/FAQ
index b1be9dc..7a0ed27 100644
--- a/FAQ
+++ b/FAQ
@@ -1,5 +1,5 @@
 Libidn FAQ -- Anticipated Frequently Asked Questions.
-Copyright (C) 2002-2015 Simon Josefsson
+Copyright (C) 2002-2016 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 6617eec..a869da5 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2006-2016 Free Software Foundation, Inc.
 
 # This 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 61e4e56..11d0c09 100644
--- a/HACKING
+++ b/HACKING
@@ -1,5 +1,5 @@
 Libidn HACKING -- Information for contributors.                 -*- outline -*-
-Copyright (C) 2009-2015 Simon Josefsson
+Copyright (C) 2009-2016 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 d046ba5..5d485b0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
 ## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002-2015 Simon Josefsson
+# Copyright (C) 2002-2016 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/README b/README
index 3290847..1c758fa 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 Libidn README -- Important introductory notes.
-Copyright (C) 2002-2015 Simon Josefsson
+Copyright (C) 2002-2016 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 dae37f8..38e85e1 100644
--- a/THANKS
+++ b/THANKS
@@ -1,5 +1,5 @@
 Libidn THANKS -- Acknowledgements.
-Copyright (C) 2002-2015 Simon Josefsson
+Copyright (C) 2002-2016 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 90adc48..8a1206b 100644
--- a/TODO
+++ b/TODO
@@ -1,5 +1,5 @@
 Libidn TODO -- Future directions.
-Copyright (C) 2002-2015 Simon Josefsson
+Copyright (C) 2002-2016 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 a3e25c8..98183ff 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-2015 Free Software Foundation, Inc.
+#   Copyright 1996-2016 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <address@hidden>, 1996
 #
diff --git a/build-aux/csharpcomp.sh.in b/build-aux/csharpcomp.sh.in
index 848fe12..e33ff93 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 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 9cc910f..07b29d2 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 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 c8ca1bb..1d1e1e7 100755
--- a/build-aux/gendocs.sh
+++ b/build-aux/gendocs.sh
@@ -2,9 +2,9 @@
 # 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=2015-05-05.16
+scriptversion=2016-01-01.00
 
-# Copyright 2003-2015 Free Software Foundation, Inc.
+# Copyright 2003-2016 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -54,7 +54,7 @@ unset use_texi2html
 
 version="gendocs.sh $scriptversion
 
-Copyright 2015 Free Software Foundation, Inc.
+Copyright 2016 Free Software Foundation, Inc.
 There is NO warranty.  You may redistribute this software
 under the terms of the GNU General Public License.
 For more information about these matters, see the files named COPYING."
diff --git a/build-aux/gnupload b/build-aux/gnupload
index f87c195..8d0299d 100755
--- a/build-aux/gnupload
+++ b/build-aux/gnupload
@@ -1,9 +1,9 @@
 #!/bin/sh
 # Sign files and upload them.
 
-scriptversion=2013-03-19.17; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -435,6 +435,6 @@ exit 0
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff --git a/build-aux/pmccabe2html b/build-aux/pmccabe2html
index 1898432..ca4d0b1 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -422,9 +422,9 @@ function html_fnc (nfun,
 
             while ((getline codeline < (fname nfun "_fn.txt")) > 0)
             {
-                gsub(/&/, "\&amp;", codeline)  # Must come first.
-                gsub(/</, "\&lt;", codeline)
-                gsub(/>/, "\&gt;", codeline)
+                gsub(/&/, "\\&amp;", codeline) # Must come first.
+                gsub(/</, "\\&lt;", codeline)
+                gsub(/>/, "\\&gt;", codeline)
 
                 print codeline
             }
diff --git a/build-aux/snippet/arg-nonnull.h b/build-aux/snippet/arg-nonnull.h
index 0d55e2b..584649f 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    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 585b38a..813f2e2 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
    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 f507eb7..843db76 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    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 90f4985..2948b47 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
    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 8cc36e2..17ee6b1 100755
--- a/build-aux/update-copyright
+++ b/build-aux/update-copyright
@@ -1,11 +1,11 @@
-eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
+eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" "$@"'
   & eval 'exec perl -wS -0777 -pi "$0" $argv:q'
     if 0;
 # Update an FSF copyright year list to include the current year.
 
-my $VERSION = '2015-01-15.20:53'; # UTC
+my $VERSION = '2016-01-12.23:13'; # UTC
 
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -269,6 +269,6 @@ else
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "my $VERSION = '"
 # time-stamp-format: "%:y-%02m-%02d.%02H:%02M"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "'; # UTC"
 # End:
diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free
index 82a09b3..1899b1f 100755
--- a/build-aux/useless-if-before-free
+++ b/build-aux/useless-if-before-free
@@ -1,16 +1,16 @@
-eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}'
+eval '(exit $?0)' && eval 'exec perl -wST "$0" "$@"'
   & eval 'exec perl -wST "$0" $argv:q'
     if 0;
 # Detect instances of "if (p) free (p);".
 # Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
 
-my $VERSION = '2012-01-06 07:23'; # UTC
+my $VERSION = '2016-01-12 23:13'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
 # do its job.  Otherwise, update this string manually.
 
-# Copyright (C) 2008-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -202,6 +202,6 @@ EOF
 ## eval: (add-hook 'write-file-hooks 'time-stamp)
 ## time-stamp-start: "my $VERSION = '"
 ## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
-## time-stamp-time-zone: "UTC"
+## time-stamp-time-zone: "UTC0"
 ## time-stamp-end: "'; # UTC"
 ## End:
diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files
index 3bf93c3..c5c420a 100755
--- a/build-aux/vc-list-files
+++ b/build-aux/vc-list-files
@@ -2,9 +2,9 @@
 # List version-controlled file names.
 
 # Print a version string.
-scriptversion=2011-05-16.22; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -108,6 +108,6 @@ done
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff --git a/cfg.mk b/cfg.mk
index 3074bcc..6c52bfd 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2015 Simon Josefsson
+# Copyright (C) 2006-2016 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/configure.ac b/configure.ac
index 9d235af..649ddcd 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-2015 Simon Josefsson
+dnl Copyright (C) 2002-2016 Simon Josefsson
 dnl
 dnl This file is part of GNU Libidn.
 dnl
diff --git a/contrib/README b/contrib/README
index 7612f20..4458f60 100644
--- a/contrib/README
+++ b/contrib/README
@@ -1,5 +1,5 @@
 Libidn contrib/README -- Notes for the contrib/ subdirectory.
-Copyright (C) 2003-2015 Simon Josefsson
+Copyright (C) 2003-2016 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 011c485..391c158 100755
--- a/contrib/doxygen/gdoc2doxygen
+++ b/contrib/doxygen/gdoc2doxygen
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# Copyright (C) 2003-2015 Simon Josefsson
+# Copyright (C) 2003-2016 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 35c3ef1..c3fbf5b 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-2015 Simon Josefsson.
+# Copyright (C) 2002-2016 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/contrib/java/README b/contrib/java/README
index 36d1e76..aedc615 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-2015 Simon Josefsson
+Copyright (C) 2003-2016 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 34791b1..fc3a7ae 100644
--- a/csharp/AssemblyInfo.cs
+++ b/csharp/AssemblyInfo.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/IDNA.cs b/csharp/IDNA.cs
index 126c5a6..9adeb85 100644
--- a/csharp/IDNA.cs
+++ b/csharp/IDNA.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/IDNAException.cs b/csharp/IDNAException.cs
index 71c1c1c..9fbc7d3 100644
--- a/csharp/IDNAException.cs
+++ b/csharp/IDNAException.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/Makefile.am b/csharp/Makefile.am
index 5a8f55a..7afdea9 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-2015 Simon Josefsson.
+# Copyright (C) 2005-2016 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/csharp/NFKC.cs b/csharp/NFKC.cs
index dfdaf44..7885e11 100644
--- a/csharp/NFKC.cs
+++ b/csharp/NFKC.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/Punycode.cs b/csharp/Punycode.cs
index 78c16e5..8119d2a 100644
--- a/csharp/Punycode.cs
+++ b/csharp/Punycode.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/PunycodeException.cs b/csharp/PunycodeException.cs
index 97ceb11..537b981 100644
--- a/csharp/PunycodeException.cs
+++ b/csharp/PunycodeException.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/Stringprep.cs b/csharp/Stringprep.cs
index e51f6c0..487d134 100644
--- a/csharp/Stringprep.cs
+++ b/csharp/Stringprep.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/csharp/StringprepException.cs b/csharp/StringprepException.cs
index f2a7ae3..e0430ef 100644
--- a/csharp/StringprepException.cs
+++ b/csharp/StringprepException.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 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 1d8dbdf..dda00f0 100644
--- a/csharp/generate/AssemblyInfo.cs
+++ b/csharp/generate/AssemblyInfo.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 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 4c65720..f9c4a92 100644
--- a/csharp/generate/GenerateNFKC.cs
+++ b/csharp/generate/GenerateNFKC.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 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 0588a91..44fc44f 100644
--- a/csharp/generate/GenerateRFC3454.cs
+++ b/csharp/generate/GenerateRFC3454.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 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 b40f844..8efdb89 100644
--- a/csharp/generate/HashSet.cs
+++ b/csharp/generate/HashSet.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 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 4f23830..eb588f4 100644
--- a/csharp/generate/Program.cs
+++ b/csharp/generate/Program.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 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 7e24d58..7fdfbd6 100644
--- a/csharp/generate/Tokenizer.cs
+++ b/csharp/generate/Tokenizer.cs
@@ -1,5 +1,5 @@
 /// <summary>
-/// Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/// Copyright (C) 2004-2016 Free Software Foundation, Inc.
 ///
 /// Author: Alexander Gnauck AG-Software, mailto:address@hidden
 ///
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 0143e03..f9675ca 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-2015 Simon Josefsson.
+# Copyright (C) 2002-2016 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-2015 Simon Josefsson" \
+       -copyright "2002-2016 Simon Josefsson" \
        -verbatimcopying
 include $(srcdir)/gdoc.mk
diff --git a/doc/cyclo/Makefile.am b/doc/cyclo/Makefile.am
index 0a899d7..afc18f4 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-2015 Simon Josefsson.
+# Copyright (C) 2008-2016 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/doc/gdoc b/doc/gdoc
index afc7229..3cdb853 100755
--- a/doc/gdoc
+++ b/doc/gdoc
@@ -2,7 +2,7 @@ eval '(exit $?0)' && eval 'exec perl -S "$0" ${1+"$@"}'
     & eval 'exec perl -S "$0" $argv:q'
     if 0;
 
-## Copyright (c) 2002-2015 Simon Josefsson
+## Copyright (c) 2002-2016 Simon Josefsson
 ##                    added -texinfo, -listfunc, -pkg-name
 ##                    man page revamp
 ##                    various improvements
diff --git a/doc/gdoc.mk b/doc/gdoc.mk
index bbddbd3..b494009 100644
--- a/doc/gdoc.mk
+++ b/doc/gdoc.mk
@@ -1,5 +1,5 @@
 # -*- makefile -*-
-# Copyright (C) 2002-2015 Simon Josefsson
+# Copyright (C) 2002-2016 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/doc/gendocs_template b/doc/gendocs_template
index d6e89b1..6c3e108 100644
--- a/doc/gendocs_template
+++ b/doc/gendocs_template
@@ -99,7 +99,7 @@ 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; 2015 Free Software Foundation, Inc.</p>
+<p>Copyright &copy; 2016 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
diff --git a/doc/gendocs_template_min b/doc/gendocs_template_min
index fe9c07e..935c135 100644
--- a/doc/gendocs_template_min
+++ b/doc/gendocs_template_min
@@ -80,7 +80,7 @@ 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; 2015 Free Software Foundation, Inc.</p>
+<p>Copyright &copy; 2016 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
diff --git a/doc/java/Makefile.am b/doc/java/Makefile.am
index 6127d16..792dcea 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-2015 Simon Josefsson
+# Copyright (C) 2004-2016 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/doc/libidn.texi b/doc/libidn.texi
index 64772d1..39968a3 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-2015 Simon Josefsson.
+Copyright @copyright{} 2002-2016 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 1889d96..6c9a0c9 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-2015 Simon Josefsson.
+# Copyright (C) 2004-2016 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 16d8b12..8000fbb 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-2015 Simon Josefsson
+Copyright (C) 2004-2016 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 d31b401..24774be 100644
--- a/doc/tld/fr.tld
+++ b/doc/tld/fr.tld
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2015 Simon Josefsson
+# Copyright (C) 2004-2016 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 88b3925..9257ccb 100644
--- a/doc/tld/no.tld
+++ b/doc/tld/no.tld
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2016 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 f329509..0825737 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-2015 Simon Josefsson.
+# Copyright (C) 2002-2016 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/examples/README b/examples/README
index ada8c1c..61aa610 100644
--- a/examples/README
+++ b/examples/README
@@ -1,5 +1,5 @@
 Libidn examples/README -- Information about files in examples/ directory.
-Copyright (C) 2003-2015 Simon Josefsson
+Copyright (C) 2003-2016 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 b63e59c..6e91783 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-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/examples/example2.c b/examples/example2.c
index 2cc07b4..af04d3f 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-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 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 c6a8f6d..fc11c1c 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-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/examples/example4.c b/examples/example4.c
index c782a74..1b319c9 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-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/examples/example5.c b/examples/example5.c
index 79c1d32..df55798 100644
--- a/examples/example5.c
+++ b/examples/example5.c
@@ -1,5 +1,5 @@
 /* example5.c --- Example TLD checking.
- * Copyright (C) 2004-2015 Simon Josefsson
+ * Copyright (C) 2004-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/gl/Makefile.am b/gl/Makefile.am
index 03397b4..f48a936 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 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
@@ -21,7 +21,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override 
--lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc 
--tests-base=gltests --aux-dir=build-aux --with-tests --avoid=fcntl-h-tests 
--avoid=stdlib-tests --avoid=string-tests --avoid=sys_stat-tests 
--avoid=time-tests --avoid=unistd-tests --avoid=update-copyright-tests 
--avoid=wchar-tests --no-conditional-dependencies --libtool --macro-prefix=gl 
--no-vc-files autobuild csharpcomp-script csharpexec-script error fdl-1.3 
gendocs getline getopt-gnu gnupload maintainer-makefile manywarnings 
pmccabe2html progname update-copyright useless-if-before-free valgrind-tests 
vc-list-files version-etc warnings
+# Reproduce by: gnulib-tool --import --local-dir=gl/override --lib=libgnu 
--source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests 
--aux-dir=build-aux --with-tests --avoid=fcntl-h-tests --avoid=stdlib-tests 
--avoid=string-tests --avoid=sys_stat-tests --avoid=time-tests 
--avoid=unistd-tests --avoid=update-copyright-tests --avoid=wchar-tests 
--no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files 
autobuild csharpcomp-script csharpexec-script error fdl-1.3 gendocs getline 
getopt-gnu gnupload maintainer-makefile manywarnings pmccabe2html progname 
update-copyright useless-if-before-free valgrind-tests vc-list-files 
version-etc warnings
 
 AUTOMAKE_OPTIONS = 1.9.6 gnits
 
diff --git a/gl/errno.in.h b/gl/errno.in.h
index affbb97..b8397ee 100644
--- a/gl/errno.in.h
+++ b/gl/errno.in.h
@@ -1,6 +1,6 @@
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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 0ac7695..56ac889 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1990-1998, 2000-2007, 2009-2016 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/gl/error.h b/gl/error.h
index eb4fb70..6a69db0 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-2015 Free Software Foundation,
+   Copyright (C) 1995-1997, 2003, 2006, 2008-2016 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
diff --git a/gl/getdelim.c b/gl/getdelim.c
index 88258e5..e316c91 100644
--- a/gl/getdelim.c
+++ b/gl/getdelim.c
@@ -1,5 +1,5 @@
 /* getdelim.c --- Implementation of replacement getdelim function.
-   Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2015 Free Software
+   Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2016 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
diff --git a/gl/getline.c b/gl/getline.c
index 811c773..dfc679a 100644
--- a/gl/getline.c
+++ b/gl/getline.c
@@ -1,5 +1,5 @@
 /* getline.c --- Implementation of replacement getline function.
-   Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/gl/getopt.c b/gl/getopt.c
index 212cbf7..8ccb901 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-2015 Free Software
+   Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2016 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 9248f76..0f72182 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-2015 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2016 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gl/getopt1.c b/gl/getopt1.c
index 2b1feb6..63db74f 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-2015 Free Software
+   Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2016 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 e893a6e..be4c22e 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-2015 Free Software
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2016 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
 
diff --git a/gl/gettext.h b/gl/gettext.h
index c05cc94..deb9c07 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-2015 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2016 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 f85ccad..e1a6107 100644
--- a/gl/intprops.h
+++ b/gl/intprops.h
@@ -1,6 +1,6 @@
 /* intprops.h -- properties of integer types
 
-   Copyright (C) 2001-2005, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2005, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,8 +22,7 @@
 
 #include <limits.h>
 
-/* Return an integer value, converted to the same type as the integer
-   expression E after integer type promotion.  V is the unconverted value.  */
+/* Return a value with the common real type of E and V and the value of V.  */
 #define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
 
 /* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
@@ -48,12 +47,12 @@
 /* True if the signed integer expression E uses two's complement.  */
 #define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1)
 
-/* True if the arithmetic type T is signed.  */
+/* True if the real type T is signed.  */
 #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
 
-/* Return 1 if the integer expression E, after integer promotion, has
-   a signed type.  */
-#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
+/* Return 1 if the real expression E, after promotion, has a
+   signed or floating type.  */
+#define EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
 
 
 /* Minimum and maximum values for integer types and expressions.  These
@@ -76,11 +75,11 @@
 /* The maximum and minimum values for the type of the expression E,
    after integer promotion.  E should not have side effects.  */
 #define _GL_INT_MINIMUM(e)                                              \
-  (_GL_INT_SIGNED (e)                                                   \
+  (EXPR_SIGNED (e)                                                      \
    ? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e)         \
    : _GL_INT_CONVERT (e, 0))
 #define _GL_INT_MAXIMUM(e)                                              \
-  (_GL_INT_SIGNED (e)                                                   \
+  (EXPR_SIGNED (e)                                                      \
    ? _GL_SIGNED_INT_MAXIMUM (e)                                         \
    : _GL_INT_NEGATE_CONVERT (e, 1))
 #define _GL_SIGNED_INT_MAXIMUM(e)                                       \
@@ -263,22 +262,29 @@
     : (a) % - (b))                                                      \
    == 0)
 
-
-/* Integer overflow checks.
+/* Check for integer overflow, and report low order bits of answer.
 
    The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators
    might not yield numerically correct answers due to arithmetic overflow.
-   They work correctly on all known practical hosts, and do not rely
+   The INT_<op>_WRAPV macros also store the low-order bits of the answer.
+   These macros work correctly on all known practical hosts, and do not rely
    on undefined behavior due to signed arithmetic overflow.
 
-   Example usage:
+   Example usage, assuming A and B are long int:
 
-     long int i = ...;
-     long int j = ...;
-     if (INT_MULTIPLY_OVERFLOW (i, j))
-       printf ("multiply would overflow");
+     if (INT_MULTIPLY_OVERFLOW (a, b))
+       printf ("result would overflow\n");
      else
-       printf ("product is %ld", i * j);
+       printf ("result is %ld (no overflow)\n", a * b);
+
+   Example usage with WRAPV flavor:
+
+     long int result;
+     bool overflow = INT_MULTIPLY_WRAPV (a, b, &result);
+     printf ("result is %ld (%s)\n", result,
+             overflow ? "after overflow" : "no overflow");
+
+   Restrictions on these macros:
 
    These macros do not check for all possible numerical problems or
    undefined or unspecified behavior: they do not check for division
@@ -287,6 +293,9 @@
    These macros may evaluate their arguments zero or multiple times, so the
    arguments should not have side effects.
 
+   The WRAPV macros are not constant expressions.  They support only
+   +, binary -, and *.  The result type must be signed.
+
    These macros are tuned for their last argument being a constant.
 
    Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B,
@@ -317,4 +326,104 @@
                       _GL_INT_MINIMUM (0 * (b) + (a)),          \
                       _GL_INT_MAXIMUM (0 * (b) + (a)))
 
+/* Compute A + B, A - B, A * B, respectively, storing the result into *R.
+   Return 1 if the result overflows.  See above for restrictions.  */
+#define INT_ADD_WRAPV(a, b, r) \
+  _GL_INT_OP_WRAPV (a, b, r, +, __builtin_add_overflow, INT_ADD_OVERFLOW)
+#define INT_SUBTRACT_WRAPV(a, b, r) \
+  _GL_INT_OP_WRAPV (a, b, r, -, __builtin_sub_overflow, INT_SUBTRACT_OVERFLOW)
+#define INT_MULTIPLY_WRAPV(a, b, r) \
+  _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
+
+#ifndef __has_builtin
+# define __has_builtin(x) 0
+#endif
+
+/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390.  See:
+   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+   https://llvm.org/bugs/show_bug.cgi?id=25390
+   For now, assume all versions of GCC-like compilers generate bogus
+   warnings for _Generic.  This matters only for older compilers that
+   lack __builtin_add_overflow.  */
+#if __GNUC__
+# define _GL__GENERIC_BOGUS 1
+#else
+# define _GL__GENERIC_BOGUS 0
+#endif
+
+/* Store A <op> B into *R, where OP specifies the operation.
+   BUILTIN is the builtin operation, and OVERFLOW the overflow predicate.
+   See above for restrictions.  */
+#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
+#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+   (_Generic \
+    (*(r), \
+     signed char: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
+                        signed char, SCHAR_MIN, SCHAR_MAX), \
+     short int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
+                        short int, SHRT_MIN, SHRT_MAX), \
+     int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        int, INT_MIN, INT_MAX), \
+     long int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                        long int, LONG_MIN, LONG_MAX), \
+     long long int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+                        long long int, LLONG_MIN, LLONG_MAX)))
+#else
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+   (sizeof *(r) == sizeof (signed char) \
+    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
+                       signed char, SCHAR_MIN, SCHAR_MAX) \
+    : sizeof *(r) == sizeof (short int) \
+    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
+                       short int, SHRT_MIN, SHRT_MAX) \
+    : sizeof *(r) == sizeof (int) \
+    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                       int, INT_MIN, INT_MAX) \
+    : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
+# ifdef LLONG_MAX
+#  define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+    (sizeof *(r) == sizeof (long int) \
+     ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                        long int, LONG_MIN, LONG_MAX) \
+     : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+                        long long int, LLONG_MIN, LLONG_MAX))
+# else
+#  define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+    _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                     long int, LONG_MIN, LONG_MAX))
+# endif
+#endif
+
+/* Store the low-order bits of A <op> B into *R, where the operation
+   is given by OP.  Use the unsigned type UT for calculation to avoid
+   overflow problems.  *R's type is T, with extremal values TMIN and
+   TMAX.  T must be a signed integer type.  */
+#define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \
+  (sizeof ((a) op (b)) < sizeof (t) \
+   ? _GL_INT_OP_CALC1 ((t) (a), (t) (b), r, op, overflow, ut, t, tmin, tmax) \
+   : _GL_INT_OP_CALC1 (a, b, r, op, overflow, ut, t, tmin, tmax))
+#define _GL_INT_OP_CALC1(a, b, r, op, overflow, ut, t, tmin, tmax) \
+  ((overflow (a, b) \
+    || (EXPR_SIGNED ((a) op (b)) && ((a) op (b)) < (tmin)) \
+    || (tmax) < ((a) op (b))) \
+   ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 1) \
+   : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 0))
+
+/* Return A <op> B, where the operation is given by OP.  Use the
+   unsigned type UT for calculation to avoid overflow problems.
+   Convert the result to type T without overflow by subtracting TMIN
+   from large values before converting, and adding it afterwards.
+   Compilers can optimize all the operations except OP.  */
+#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t, tmin, tmax) \
+  (((ut) (a) op (ut) (b)) <= (tmax) \
+   ? (t) ((ut) (a) op (ut) (b)) \
+   : ((t) (((ut) (a) op (ut) (b)) - (tmin)) + (tmin)))
+
 #endif /* _GL_INTPROPS_H */
diff --git a/gl/m4/00gnulib.m4 b/gl/m4/00gnulib.m4
index c7103ed..bb37e32 100644
--- a/gl/m4/00gnulib.m4
+++ b/gl/m4/00gnulib.m4
@@ -1,5 +1,5 @@
 # 00gnulib.m4 serial 3
-dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2016 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/absolute-header.m4 b/gl/m4/absolute-header.m4
index bc19dfc..7ffc38d 100644
--- a/gl/m4/absolute-header.m4
+++ b/gl/m4/absolute-header.m4
@@ -1,5 +1,5 @@
 # absolute-header.m4 serial 16
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 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/alloca.m4 b/gl/m4/alloca.m4
index 8408bed..2382ff1 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-2015 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2016 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 239809c..66b183b 100644
--- a/gl/m4/autobuild.m4
+++ b/gl/m4/autobuild.m4
@@ -1,5 +1,5 @@
 # autobuild.m4 serial 7
-dnl Copyright (C) 2004, 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006-2016 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 d04aefb..310f076 100644
--- a/gl/m4/close.m4
+++ b/gl/m4/close.m4
@@ -1,5 +1,5 @@
 # close.m4 serial 8
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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 8d90a65..0e5fc8d 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2016 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 5308f9d..a9dbf48 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2005, 2007, 2009-2016 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 50fd281..39aceef 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2005, 2009-2016 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 59028e0..63d6d8e 100644
--- a/gl/m4/dup2.m4
+++ b/gl/m4/dup2.m4
@@ -1,5 +1,5 @@
 #serial 24
-dnl Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005, 2007, 2009-2016 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/eealloc.m4 b/gl/m4/eealloc.m4
index 322bdd5..63d74de 100644
--- a/gl/m4/eealloc.m4
+++ b/gl/m4/eealloc.m4
@@ -1,5 +1,5 @@
 # eealloc.m4 serial 3
-dnl Copyright (C) 2003, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2016 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 4dbf947..9a0ea7e 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2016 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 cfaa687..b111fce 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2016 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 b3bd7f6..f772bcf 100644
--- a/gl/m4/error.m4
+++ b/gl/m4/error.m4
@@ -1,6 +1,6 @@
 #serial 14
 
-# Copyright (C) 1996-1998, 2001-2004, 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2016 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/extensions.m4 b/gl/m4/extensions.m4
index 35bc49c..6d378ec 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2016 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 7280065..fe282a5 100644
--- a/gl/m4/extern-inline.m4
+++ b/gl/m4/extern-inline.m4
@@ -1,6 +1,6 @@
 dnl 'extern inline' a la ISO C99.
 
-dnl Copyright 2012-2015 Free Software Foundation, Inc.
+dnl Copyright 2012-2016 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-o.m4 b/gl/m4/fcntl-o.m4
index 891a62f..24fcf88 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2016 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 b279162..ef0d78d 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2016 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 8c57b99..685a1bb 100644
--- a/gl/m4/fdopen.m4
+++ b/gl/m4/fdopen.m4
@@ -1,5 +1,5 @@
 # fdopen.m4 serial 3
-dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2016 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/fstat.m4 b/gl/m4/fstat.m4
index d6a9288..29f9b81 100644
--- a/gl/m4/fstat.m4
+++ b/gl/m4/fstat.m4
@@ -1,5 +1,5 @@
 # fstat.m4 serial 4
-dnl Copyright (C) 2011-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2016 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 b9fbcec..2b1c416 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003-2007, 2009-2016 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/getdelim.m4 b/gl/m4/getdelim.m4
index af9b1fa..f11195a 100644
--- a/gl/m4/getdelim.m4
+++ b/gl/m4/getdelim.m4
@@ -1,6 +1,6 @@
 # getdelim.m4 serial 10
 
-dnl Copyright (C) 2005-2007, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2016 Free Software Foundation, Inc.
 dnl
 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/getdtablesize.m4 b/gl/m4/getdtablesize.m4
index 25e9968..1bf4db0 100644
--- a/gl/m4/getdtablesize.m4
+++ b/gl/m4/getdtablesize.m4
@@ -1,5 +1,5 @@
 # getdtablesize.m4 serial 6
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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/getline.m4 b/gl/m4/getline.m4
index a35f3a2..443871f 100644
--- a/gl/m4/getline.m4
+++ b/gl/m4/getline.m4
@@ -1,6 +1,6 @@
 # getline.m4 serial 26
 
-dnl Copyright (C) 1998-2003, 2005-2007, 2009-2015 Free Software Foundation,
+dnl Copyright (C) 1998-2003, 2005-2007, 2009-2016 Free Software Foundation,
 dnl Inc.
 dnl
 dnl This file is free software; the Free Software Foundation
diff --git a/gl/m4/getopt.m4 b/gl/m4/getopt.m4
index e76e501..ce6ec67 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2008-2016 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/gettimeofday.m4 b/gl/m4/gettimeofday.m4
index ce246e1..4ae5d63 100644
--- a/gl/m4/gettimeofday.m4
+++ b/gl/m4/gettimeofday.m4
@@ -1,6 +1,6 @@
 # serial 21
 
-# Copyright (C) 2001-2003, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003, 2005, 2007, 2009-2016 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/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4
index 6995fe5..1264330 100644
--- a/gl/m4/gnulib-cache.m4
+++ b/gl/m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 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
@@ -27,7 +27,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu 
--source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests 
--aux-dir=build-aux --with-tests --avoid=fcntl-h-tests --avoid=stdlib-tests 
--avoid=string-tests --avoid=sys_stat-tests --avoid=time-tests 
--avoid=unistd-tests --avoid=update-copyright-tests --avoid=wchar-tests 
--no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files 
autobuild csharpcomp-script csharpexec-script error fdl-1.3 gendocs getline 
getopt-gnu gnupload maintainer-makefile manywarnings pmccabe2html progname 
update-copyright useless-if-before-free valgrind-tests vc-list-files 
version-etc warnings
+#   gnulib-tool --import --local-dir=gl/override --lib=libgnu --source-base=gl 
--m4-base=gl/m4 --doc-base=doc --tests-base=gltests --aux-dir=build-aux 
--with-tests --avoid=fcntl-h-tests --avoid=stdlib-tests --avoid=string-tests 
--avoid=sys_stat-tests --avoid=time-tests --avoid=unistd-tests 
--avoid=update-copyright-tests --avoid=wchar-tests 
--no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files 
autobuild csharpcomp-script csharpexec-script error fdl-1.3 gendocs getline 
getopt-gnu gnupload maintainer-makefile manywarnings pmccabe2html progname 
update-copyright useless-if-before-free valgrind-tests vc-list-files 
version-etc warnings
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([gl/override])
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4
index 40e82f6..f8454c8 100644
--- a/gl/m4/gnulib-common.m4
+++ b/gl/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
 # gnulib-common.m4 serial 36
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 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.
@@ -253,9 +253,10 @@ AC_DEFUN([gl_PROG_AR_RANLIB],
 [
   dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
   dnl as "cc", and GCC as "gcc". They have different object file formats and
-  dnl library formats. In particular, the GNU binutils programs ar, ranlib
+  dnl library formats. In particular, the GNU binutils programs ar and ranlib
   dnl produce libraries that work only with gcc, not with cc.
   AC_REQUIRE([AC_PROG_CC])
+  AC_BEFORE([$0], [AM_PROG_AR])
   AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler],
     [
       AC_EGREP_CPP([Amsterdam],
@@ -267,25 +268,37 @@ Amsterdam
         [gl_cv_c_amsterdam_compiler=yes],
         [gl_cv_c_amsterdam_compiler=no])
     ])
-  if test -z "$AR"; then
-    if test $gl_cv_c_amsterdam_compiler = yes; then
+
+  dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not
+  dnl building with __ACK__.
+  if test $gl_cv_c_amsterdam_compiler = yes; then
+    if test -z "$AR"; then
       AR='cc -c.a'
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='-o'
-      fi
-    else
-      dnl Use the Automake-documented default values for AR and ARFLAGS,
-      dnl but prefer ${host}-ar over ar (useful for cross-compiling).
-      AC_CHECK_TOOL([AR], [ar], [ar])
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='cr'
-      fi
     fi
-  else
     if test -z "$ARFLAGS"; then
-      ARFLAGS='cr'
+      ARFLAGS='-o'
     fi
+  else
+    dnl AM_PROG_AR was added in automake v1.11.2.  AM_PROG_AR does not AC_SUBST
+    dnl ARFLAGS variable (it is filed into Makefile.in directly by automake
+    dnl script on-demand, if not specified by ./configure of course).
+    dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above
+    dnl will be ignored.  Also, pay attention to call AM_PROG_AR in else block
+    dnl because AM_PROG_AR is written so it could re-set AR variable even for
+    dnl __ACK__.  It may seem like its easier to avoid calling the macro here,
+    dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good
+    dnl default value and automake should usually know them).
+    m4_ifdef([AM_PROG_AR], [AM_PROG_AR], [:])
+  fi
+
+  dnl In case the code above has not helped with setting AR/ARFLAGS, use
+  dnl Automake-documented default values for AR and ARFLAGS, but prefer
+  dnl ${host}-ar over ar (useful for cross-compiling).
+  AC_CHECK_TOOL([AR], [ar], [ar])
+  if test -z "$ARFLAGS"; then
+    ARFLAGS='cr'
   fi
+
   AC_SUBST([AR])
   AC_SUBST([ARFLAGS])
   if test -z "$RANLIB"; then
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4
index 66430dd..55635c0 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 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
@@ -37,7 +37,11 @@ AC_DEFUN([gl_EARLY],
   m4_pattern_allow([^gl_ES$])dnl a valid locale name
   m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+
+  # Pre-early section.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_PROG_AR_RANLIB])
+
   # Code from module absolute-header:
   # Code from module alloca-opt:
   # Code from module alloca-opt-tests:
@@ -58,7 +62,6 @@ AC_DEFUN([gl_EARLY],
   # Code from module errno-tests:
   # Code from module error:
   # Code from module extensions:
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   # Code from module extern-inline:
   # Code from module fcntl-h:
   # Code from module fd-hook:
@@ -249,11 +252,11 @@ AC_DEFUN([gl_INIT],
   AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
     [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
   AC_REQUIRE([AC_PROG_SED])
-  gl_MSVC_INVAL
+  AC_REQUIRE([gl_MSVC_INVAL])
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
     AC_LIBOBJ([msvc-inval])
   fi
-  gl_MSVC_NOTHROW
+  AC_REQUIRE([gl_MSVC_NOTHROW])
   if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
     AC_LIBOBJ([msvc-nothrow])
   fi
diff --git a/gl/m4/gnulib-tool.m4 b/gl/m4/gnulib-tool.m4
index fede1fc..0d2ee44 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2016 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 233d254..db0f2c0 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 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-pri.m4 b/gl/m4/inttypes-pri.m4
index 0884e71..ae20183 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2002, 2006, 2008-2016 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 4209ffd..61cdb1a 100644
--- a/gl/m4/inttypes.m4
+++ b/gl/m4/inttypes.m4
@@ -1,5 +1,5 @@
 # inttypes.m4 serial 26
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 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/largefile.m4 b/gl/m4/largefile.m4
index b7a6c48..8bbdfaa 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-2015 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2016 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/longlong.m4 b/gl/m4/longlong.m4
index d57bc70..36d8b12 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 1999-2007, 2009-2016 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 adf752c..e143d5c 100644
--- a/gl/m4/lstat.m4
+++ b/gl/m4/lstat.m4
@@ -1,6 +1,6 @@
 # serial 27
 
-# Copyright (C) 1997-2001, 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2016 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 31368ab..717e8ad 100644
--- a/gl/m4/malloc.m4
+++ b/gl/m4/malloc.m4
@@ -1,5 +1,5 @@
 # malloc.m4 serial 14
-dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2016 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 7248951..b368b20 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-2015 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2016 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 b4e38d9..12d68da 100644
--- a/gl/m4/manywarnings.m4
+++ b/gl/m4/manywarnings.m4
@@ -1,5 +1,5 @@
 # manywarnings.m4 serial 7
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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/mode_t.m4 b/gl/m4/mode_t.m4
index 01badba..0cd40db 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2016 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 9446fa5..f5e4c89 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2016 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 5d72a04..58f5c0b 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2016 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 fc575c1..43b5d05 100644
--- a/gl/m4/multiarch.m4
+++ b/gl/m4/multiarch.m4
@@ -1,5 +1,5 @@
 # multiarch.m4 serial 7
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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 5628318..ecc55c6 100644
--- a/gl/m4/nocrash.m4
+++ b/gl/m4/nocrash.m4
@@ -1,5 +1,5 @@
 # nocrash.m4 serial 4
-dnl Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2016 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 0eb1467..282751b 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2016 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 2accbaa..53d3038 100644
--- a/gl/m4/open.m4
+++ b/gl/m4/open.m4
@@ -1,5 +1,5 @@
 # open.m4 serial 14
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 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 0e3db7a..6f8e59a 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-2015 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2016 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/putenv.m4 b/gl/m4/putenv.m4
index 73a5f46..c3c30d8 100644
--- a/gl/m4/putenv.m4
+++ b/gl/m4/putenv.m4
@@ -1,5 +1,5 @@
 # putenv.m4 serial 20
-dnl Copyright (C) 2002-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2016 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/realloc.m4 b/gl/m4/realloc.m4
index 0e1d338..7b32ddf 100644
--- a/gl/m4/realloc.m4
+++ b/gl/m4/realloc.m4
@@ -1,5 +1,5 @@
 # realloc.m4 serial 13
-dnl Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2016 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 3aa38d8..5d49aba 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2016 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/ssize_t.m4 b/gl/m4/ssize_t.m4
index 25bd451..3e7b9e6 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2016 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 d1b3768..a794975 100644
--- a/gl/m4/stat.m4
+++ b/gl/m4/stat.m4
@@ -1,6 +1,6 @@
 # serial 11
 
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 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/stdalign.m4 b/gl/m4/stdalign.m4
index 033b0d3..49980cd 100644
--- a/gl/m4/stdalign.m4
+++ b/gl/m4/stdalign.m4
@@ -1,6 +1,6 @@
 # Check for stdalign.h that conforms to C11.
 
-dnl Copyright 2011-2015 Free Software Foundation, Inc.
+dnl Copyright 2011-2016 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/stdarg.m4 b/gl/m4/stdarg.m4
index d208eb3..ab3e7f5 100644
--- a/gl/m4/stdarg.m4
+++ b/gl/m4/stdarg.m4
@@ -1,5 +1,5 @@
 # stdarg.m4 serial 6
-dnl Copyright (C) 2006, 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2016 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 7273b82..625520f 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2016 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 2310502..c045c65 100644
--- a/gl/m4/stddef_h.m4
+++ b/gl/m4/stddef_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for <stddef.h>, for platforms that have issues.
 # stddef_h.m4 serial 5
-dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2016 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 4011a49..0f40ce8 100644
--- a/gl/m4/stdint.m4
+++ b/gl/m4/stdint.m4
@@ -1,5 +1,5 @@
 # stdint.m4 serial 43
-dnl Copyright (C) 2001-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2016 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/stdio_h.m4 b/gl/m4/stdio_h.m4
index f60cc21..0e38758 100644
--- a/gl/m4/stdio_h.m4
+++ b/gl/m4/stdio_h.m4
@@ -1,5 +1,5 @@
 # stdio_h.m4 serial 46
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 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 0b4c623..19107c4 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 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 75a17f2..e286594 100644
--- a/gl/m4/strerror.m4
+++ b/gl/m4/strerror.m4
@@ -1,5 +1,5 @@
 # strerror.m4 serial 17
-dnl Copyright (C) 2002, 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2007-2016 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 55d09ef..0c5ec6f 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 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 a59e2f0..d15d915 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2016 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 eaeabe7..ae500c7 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2016 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 6c909e8..3d43b6f 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 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
index 28c8b1a..3061a9c 100644
--- a/gl/m4/sys_time_h.m4
+++ b/gl/m4/sys_time_h.m4
@@ -1,7 +1,7 @@
 # Configure a replacement for <sys/time.h>.
 # serial 8
 
-# Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2016 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/sys_types_h.m4 b/gl/m4/sys_types_h.m4
index 2232aec..b0aabb4 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2016 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 754b469..eb2a631 100644
--- a/gl/m4/time_h.m4
+++ b/gl/m4/time_h.m4
@@ -1,6 +1,6 @@
 # Configure a more-standard replacement for <time.h>.
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2016 Free Software Foundation, Inc.
 
 # serial 9
 
diff --git a/gl/m4/unistd_h.m4 b/gl/m4/unistd_h.m4
index b3c581f..544dadb 100644
--- a/gl/m4/unistd_h.m4
+++ b/gl/m4/unistd_h.m4
@@ -1,5 +1,5 @@
 # unistd_h.m4 serial 68
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 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 7a5de2f..b5f5fe9 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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/version-etc.m4 b/gl/m4/version-etc.m4
index a87ac98..a719182 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 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/warn-on-use.m4 b/gl/m4/warn-on-use.m4
index 1e98dc9..08440ec 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2016 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 5ae01de..924e21d 100644
--- a/gl/m4/warnings.m4
+++ b/gl/m4/warnings.m4
@@ -1,5 +1,5 @@
 # warnings.m4 serial 11
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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 9d1b0f8..b40b732 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 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 dc964e6..2db8c3f 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2016 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 ca3fd44..8ff2a5b 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2016 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/msvc-inval.c b/gl/msvc-inval.c
index a1f1dc0..baaf39e 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 8b07269..027c949 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 90cf801..ba75bbf 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 67b151e..3493b84 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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/progname.c b/gl/progname.c
index fe93bca..debb760 100644
--- a/gl/progname.c
+++ b/gl/progname.c
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2003, 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2016 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 d396475..a3db507 100644
--- a/gl/progname.h
+++ b/gl/progname.h
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2001-2004, 2006, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006, 2009-2016 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/realloc.c b/gl/realloc.c
index 068b081..83cb44e 100644
--- a/gl/realloc.c
+++ b/gl/realloc.c
@@ -1,6 +1,6 @@
 /* realloc() function that is glibc compatible.
 
-   Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2015 Free Software
+   Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2016 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gl/stdarg.in.h b/gl/stdarg.in.h
index 5239f51..63371e2 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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 698307b..c6d2317 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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/stdint.in.h b/gl/stdint.in.h
index 378de2e..d241391 100644
--- a/gl/stdint.in.h
+++ b/gl/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2016 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
diff --git a/gl/stdio.in.h b/gl/stdio.in.h
index ec43874..9b31365 100644
--- a/gl/stdio.in.h
+++ b/gl/stdio.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2016 Free Software Foundation, Inc.
 
    This 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/stdlib.in.h b/gl/stdlib.in.h
index 428a119..70dc88d 100644
--- a/gl/stdlib.in.h
+++ b/gl/stdlib.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2015 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2016 Free Software Foundation, Inc.
 
    This 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 2bb4d74..9bc9b18 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
    This 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 7af36df..5264fd5 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
    This 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 adba738..45c7633 100644
--- a/gl/strerror.c
+++ b/gl/strerror.c
@@ -1,6 +1,6 @@
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 2abd6bc..7fb00c1 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2016 Free Software Foundation, Inc.
 
    This 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 814bc17..8ab0545 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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/unistd.c b/gl/unistd.c
index 6c6a8e2..72bad1c 100644
--- a/gl/unistd.c
+++ b/gl/unistd.c
@@ -1,3 +1,4 @@
 #include <config.h>
 #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
 #include "unistd.h"
+typedef int dummy;
diff --git a/gl/unistd.in.h b/gl/unistd.in.h
index 958fea2..c3af07a 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003-2016 Free Software Foundation, Inc.
 
    This 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/verify.h b/gl/verify.h
index 60eba49..2f43837 100644
--- a/gl/verify.h
+++ b/gl/verify.h
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2016 Free Software Foundation, Inc.
 
    This 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 a93b008..a9a0fdb 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
    This 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 = 2015 };
+enum { COPYRIGHT_YEAR = 2016 };
 
 /* The three functions below display the --version information the
    standard way.
diff --git a/gl/version-etc.h b/gl/version-etc.h
index 408581e..1a5f603 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003, 2005, 2009-2016 Free Software Foundation, Inc.
 
    This 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/Makefile.am b/gltests/Makefile.am
index e254376..0b7a6b3 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 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/gltests/alloca.in.h b/gltests/alloca.in.h
index 906fe92..d457ebb 100644
--- a/gltests/alloca.in.h
+++ b/gltests/alloca.in.h
@@ -1,6 +1,6 @@
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2015 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2016 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/gltests/binary-io.c b/gltests/binary-io.c
index 8bbdb44..d828bcd 100644
--- a/gltests/binary-io.c
+++ b/gltests/binary-io.c
@@ -1,3 +1,4 @@
 #include <config.h>
 #define BINARY_IO_INLINE _GL_EXTERN_INLINE
 #include "binary-io.h"
+typedef int dummy;
diff --git a/gltests/binary-io.h b/gltests/binary-io.h
index f5b66c7..d5c8233 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2005, 2008-2016 Free Software Foundation, Inc.
 
    This 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 54d1f71..46a7aa5 100644
--- a/gltests/close.c
+++ b/gltests/close.c
@@ -1,5 +1,5 @@
 /* close replacement.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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 893baf6..83a953f 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2000-2001, 2004-2006, 2009-2016 Free Software Foundation, Inc.
 
    This 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 0e13214..c913f47 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2004-2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 e288018..b943973 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
    This 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/fd-hook.c b/gltests/fd-hook.c
index b1488c4..8676c6b 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 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 bdb9aef..9568d07 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    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 b72c0e8..61fbfdf 100644
--- a/gltests/fdopen.c
+++ b/gltests/fdopen.c
@@ -1,5 +1,5 @@
 /* Open a stream with a given file descriptor.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 7a0521f..435c429 100644
--- a/gltests/fstat.c
+++ b/gltests/fstat.c
@@ -1,5 +1,5 @@
 /* fstat() replacement.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 1e17e19..c553f7b 100644
--- a/gltests/getcwd-lgpl.c
+++ b/gltests/getcwd-lgpl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2016 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 03eb7ef..d234055 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2008.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/gltests/gettimeofday.c b/gltests/gettimeofday.c
index e0e2e69..224ca6a 100644
--- a/gltests/gettimeofday.c
+++ b/gltests/gettimeofday.c
@@ -1,6 +1,6 @@
 /* Provide gettimeofday for systems that don't have it or for which it's 
broken.
 
-   Copyright (C) 2001-2003, 2005-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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/ignore-value.h b/gltests/ignore-value.h
index 68521ed..6713d96 100644
--- a/gltests/ignore-value.h
+++ b/gltests/ignore-value.h
@@ -1,6 +1,6 @@
-/* ignore a function return without a compiler warning
+/* ignore a function return without a compiler warning.  -*- coding: utf-8 -*-
 
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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/init.sh b/gltests/init.sh
index d366206..ee08022 100644
--- a/gltests/init.sh
+++ b/gltests/init.sh
@@ -1,6 +1,6 @@
 # source this file; set up for tests
 
-# Copyright (C) 2009-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -327,7 +327,7 @@ elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < 
/dev/null`; then
       fi
     }
   fi
-elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
+elif cmp -s /dev/null /dev/null 2>/dev/null; then
   compare_ () { cmp -s "$@"; }
 else
   compare_ () { cmp "$@"; }
diff --git a/gltests/inttypes.in.h b/gltests/inttypes.in.h
index 78846f6..ed09db6 100644
--- a/gltests/inttypes.in.h
+++ b/gltests/inttypes.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 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 31dee13..03b0634 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1997-2006, 2008-2016 Free Software Foundation, Inc.
 
    This 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 b6fdd1c..578bfe7 100644
--- a/gltests/macros.h
+++ b/gltests/macros.h
@@ -1,5 +1,5 @@
 /* Common macros used by gnulib tests.
-   Copyright (C) 2006-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
    This 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 00800a2..e9b01d2 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 198a96c..a613277 100644
--- a/gltests/malloca.c
+++ b/gltests/malloca.c
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2016 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 7a4190c..fa27a9e 100644
--- a/gltests/malloca.h
+++ b/gltests/malloca.h
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2016 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/open.c b/gltests/open.c
index 95c7811..e9c3120 100644
--- a/gltests/open.c
+++ b/gltests/open.c
@@ -1,5 +1,5 @@
 /* Open a descriptor to a file.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 2f3b64f..aee22f8 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-2015 Free Software
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2016 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 925bb2f..e67712d 100644
--- a/gltests/putenv.c
+++ b/gltests/putenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2015 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2016 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C
diff --git a/gltests/same-inode.h b/gltests/same-inode.h
index ecc3049..bf45635 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2016 Free Software Foundation, Inc.
 
    This 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 6b16fd5..85c32cb 100644
--- a/gltests/setenv.c
+++ b/gltests/setenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2016 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 0a6cf91..2df8067 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 2209826..62e9e0b 100644
--- a/gltests/stat.c
+++ b/gltests/stat.c
@@ -1,5 +1,5 @@
 /* Work around platform bugs in stat.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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/stdalign.in.h b/gltests/stdalign.in.h
index a990050..9abb9aa 100644
--- a/gltests/stdalign.in.h
+++ b/gltests/stdalign.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C11 <stdalign.h>.
 
-   Copyright 2011-2015 Free Software Foundation, Inc.
+   Copyright 2011-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -52,7 +52,10 @@
 #undef _Alignas
 #undef _Alignof
 
-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+/* GCC releases before GCC 4.9 had a bug in _Alignof.  See GCC bug 52023
+   <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.  */
+#if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
+     || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9)))
 # ifdef __cplusplus
 #  if 201103 <= __cplusplus
 #   define _Alignof(type) alignof (type)
@@ -64,7 +67,9 @@
 #  define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
 # endif
 #endif
-#define alignof _Alignof
+#if ! (defined __cplusplus && 201103 <= __cplusplus)
+# define alignof _Alignof
+#endif
 #define __alignof_is_defined 1
 
 /* alignas (A), also known as _Alignas (A), aligns a variable or type
@@ -99,14 +104,17 @@
          ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__)                 \
          : __GNUC__)                                            \
         || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__        \
-        || __ICC || 0x5110 <= __SUNPRO_C)
+        || __ICC || 0x590 <= __SUNPRO_C)
 #  define _Alignas(a) __attribute__ ((__aligned__ (a)))
 # elif 1300 <= _MSC_VER
 #  define _Alignas(a) __declspec (align (a))
 # endif
 #endif
-#if defined _Alignas || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__)
+#if ((defined _Alignas && ! (defined __cplusplus && 201103 <= __cplusplus)) \
+     || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__))
 # define alignas _Alignas
+#endif
+#if defined alignas || (defined __cplusplus && 201103 <= __cplusplus)
 # define __alignas_is_defined 1
 #endif
 
diff --git a/gltests/stdbool.in.h b/gltests/stdbool.in.h
index 64a1761..7ecf203 100644
--- a/gltests/stdbool.in.h
+++ b/gltests/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2016 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/gltests/symlink.c b/gltests/symlink.c
index 14356c3..d8684b6 100644
--- a/gltests/symlink.c
+++ b/gltests/symlink.c
@@ -1,5 +1,5 @@
 /* Stub for symlink().
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 9f5e853..72d9537 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
    This 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
index c556c5d..1623a1d 100644
--- a/gltests/sys_time.in.h
+++ b/gltests/sys_time.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/time.h.
 
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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-alloca-opt.c b/gltests/test-alloca-opt.c
index c189cc6..b9aaa4a 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 9c3f8f2..6801e96 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007-2016 Free Software Foundation, Inc.
 
    This 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 457a7bc..a0428e0 100644
--- a/gltests/test-close.c
+++ b/gltests/test-close.c
@@ -1,5 +1,5 @@
 /* Test closing a file or socket.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 be475ea..5da6812 100644
--- a/gltests/test-dup2.c
+++ b/gltests/test-dup2.c
@@ -1,5 +1,5 @@
 /* Test duplicating file descriptors.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 e4616da..0047246 100644
--- a/gltests/test-environ.c
+++ b/gltests/test-environ.c
@@ -1,5 +1,5 @@
 /* Test of environ variable.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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 fab35d0..1e0bb6d 100644
--- a/gltests/test-errno.c
+++ b/gltests/test-errno.c
@@ -1,5 +1,5 @@
 /* Test of <errno.h> substitute.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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 c4e0355..55b49a6 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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-fgetc.c b/gltests/test-fgetc.c
index 63e1e4a..c62e70c 100644
--- a/gltests/test-fgetc.c
+++ b/gltests/test-fgetc.c
@@ -1,5 +1,5 @@
 /* Test of fgetc() function.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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-fputc.c b/gltests/test-fputc.c
index 41ae096..95a1cb6 100644
--- a/gltests/test-fputc.c
+++ b/gltests/test-fputc.c
@@ -1,5 +1,5 @@
 /* Test of fputc() function.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 41cea56..b9fc72a 100644
--- a/gltests/test-fread.c
+++ b/gltests/test-fread.c
@@ -1,5 +1,5 @@
 /* Test of fread() function.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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-fstat.c b/gltests/test-fstat.c
index 7f39363..c9ac749 100644
--- a/gltests/test-fstat.c
+++ b/gltests/test-fstat.c
@@ -1,5 +1,5 @@
 /* Tests of fstat() function.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 df4114c..bc285f3 100644
--- a/gltests/test-fwrite.c
+++ b/gltests/test-fwrite.c
@@ -1,5 +1,5 @@
 /* Test of fwrite() function.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 de1728b..6bea7b7 100644
--- a/gltests/test-getcwd-lgpl.c
+++ b/gltests/test-getcwd-lgpl.c
@@ -1,5 +1,5 @@
 /* Test of getcwd() function.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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-getdelim.c b/gltests/test-getdelim.c
index bbcc3cd..0770d5b 100644
--- a/gltests/test-getdelim.c
+++ b/gltests/test-getdelim.c
@@ -1,5 +1,5 @@
 /* Test of getdelim() function.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 a0325af..54efa04 100644
--- a/gltests/test-getdtablesize.c
+++ b/gltests/test-getdtablesize.c
@@ -1,5 +1,5 @@
 /* Test of getdtablesize() function.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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-getline.c b/gltests/test-getline.c
index 238742c..adf2cc4 100644
--- a/gltests/test-getline.c
+++ b/gltests/test-getline.c
@@ -1,5 +1,5 @@
 /* Test of getline() function.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 a0ae340..505cb2a 100644
--- a/gltests/test-getopt.c
+++ b/gltests/test-getopt.c
@@ -1,5 +1,5 @@
 /* Test of command line argument processing.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 caaaa31..8e61eb2 100644
--- a/gltests/test-getopt.h
+++ b/gltests/test-getopt.h
@@ -1,5 +1,5 @@
 /* Test of command line argument processing.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 1094f3c..0f83f47 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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
index 3b15f12..7a44d71 100644
--- a/gltests/test-gettimeofday.c
+++ b/gltests/test-gettimeofday.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005, 2007, 2009-2015 Free Software Foundation, Inc.
+ * Copyright (C) 2005, 2007, 2009-2016 Free Software Foundation, Inc.
  * Written by Jim Meyering.
  *
  * This program is free software: you can redistribute it and/or modify
diff --git a/gltests/test-ignore-value.c b/gltests/test-ignore-value.c
index fc98860..7c4b2de 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 0875a75..1dd05f4 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 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 06df5a7..174ddec 100644
--- a/gltests/test-intprops.c
+++ b/gltests/test-intprops.c
@@ -1,5 +1,5 @@
 /* Test intprops.h.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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,10 +16,19 @@
 
 /* Written by Paul Eggert.  */
 
-/* Tell gcc not to warn about the many (X < 0) expressions that
-   the overflow macros expand to.  */
-#if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
+/* Tell gcc not to warn about the long expressions that the overflow
+   macros expand to, or about the (X < 0) expressions.  */
+#if 4 < __GNUC__ + (3 <= __GNUC_MINOR__)
+# pragma GCC diagnostic ignored "-Woverlength-strings"
 # pragma GCC diagnostic ignored "-Wtype-limits"
+
+/* Work around a bug in GCC 5.3.1 and earlier; see:
+   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68971
+   Hope it will be fixed by the time GCC 6 comes out.  */
+# if __GNUC__ < 6
+#  pragma GCC diagnostic ignored "-Woverflow"
+# endif
+
 #endif
 
 #include <config.h>
@@ -29,6 +38,7 @@
 
 #include <stdbool.h>
 #include <inttypes.h>
+#include <limits.h>
 
 #include "macros.h"
 
@@ -43,6 +53,8 @@
 # define VERIFY(x) ASSERT (x)
 #endif
 
+#define DONTCARE __LINE__
+
 int
 main (void)
 {
@@ -128,148 +140,244 @@ main (void)
   #endif
 
   /* All the INT_<op>_RANGE_OVERFLOW tests are equally valid as
-     INT_<op>_OVERFLOW tests, so define a single macro to do both.  */
-  #define CHECK_BINOP(op, a, b, min, max, overflow)                      \
-    (INT_##op##_RANGE_OVERFLOW (a, b, min, max) == (overflow)            \
-     && INT_##op##_OVERFLOW (a, b) == (overflow))
-  #define CHECK_UNOP(op, a, min, max, overflow)                          \
-    (INT_##op##_RANGE_OVERFLOW (a, min, max) == (overflow)               \
-     && INT_##op##_OVERFLOW (a) == (overflow))
+     INT_<op>_OVERFLOW tests, so define macros to do both.  OP is the
+     operation, OPNAME its symbolic name, A and B its operands, T the
+     result type, V the overflow flag, and VRES the result if V and if
+     two's complement.  CHECK_BINOP is for most binary operatinos,
+     CHECK_SBINOP for binary +, -, * when the result type is signed,
+     and CHECK_UNOP for unary operations.  */
+  #define CHECK_BINOP(op, opname, a, b, t, v, vres)                       \
+    VERIFY (INT_##opname##_RANGE_OVERFLOW (a, b, TYPE_MINIMUM (t),        \
+                                           TYPE_MAXIMUM (t))              \
+            == (v));                                                      \
+    VERIFY (INT_##opname##_OVERFLOW (a, b) == (v))
+  #define CHECK_SBINOP(op, opname, a, b, t, v, vres)                      \
+    CHECK_BINOP(op, opname, a, b, t, v, vres);                            \
+    {                                                                     \
+      t result;                                                           \
+      ASSERT (INT_##opname##_WRAPV (a, b, &result) == (v));               \
+      ASSERT (result == ((v) ? (vres) : ((a) op (b)))                     \
+              || ((v) && !TYPE_TWOS_COMPLEMENT (t)));                     \
+    }
+  #define CHECK_UNOP(op, opname, a, t, v)                                 \
+    VERIFY (INT_##opname##_RANGE_OVERFLOW (a, TYPE_MINIMUM (t),           \
+                                           TYPE_MAXIMUM (t))              \
+            == (v));                                                      \
+    VERIFY (INT_##opname##_OVERFLOW (a) == (v))
 
   /* INT_<op>_RANGE_OVERFLOW, INT_<op>_OVERFLOW.  */
   VERIFY (INT_ADD_RANGE_OVERFLOW (INT_MAX, 1, INT_MIN, INT_MAX));
   VERIFY (INT_ADD_OVERFLOW (INT_MAX, 1));
-  VERIFY (CHECK_BINOP (ADD, INT_MAX, 1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, INT_MAX, -1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (ADD, INT_MIN, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (ADD, INT_MIN, -1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, UINT_MAX, 1u, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, 0u, 1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, -1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, 1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, -1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, UINT_MAX, 1u, 0u, UINT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, 0u, 1u, 0u, UINT_MAX, true));
-
-  VERIFY (CHECK_UNOP (NEGATE, INT_MIN, INT_MIN, INT_MAX,
-                      TYPE_TWOS_COMPLEMENT (int)));
-  VERIFY (CHECK_UNOP (NEGATE, 0, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, INT_MAX, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, 0u, 0u, UINT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, 1u, 0u, UINT_MAX, true));
-  VERIFY (CHECK_UNOP (NEGATE, UINT_MAX, 0u, UINT_MAX, true));
-
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MAX, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MIN, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MAX, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MIN, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, -1, INT_MIN, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
-                       LONG_MIN, LONG_MIN, false));
-
-  VERIFY (CHECK_BINOP (DIVIDE, INT_MIN, -1, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (DIVIDE, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (DIVIDE, (unsigned int) INT_MIN,
-                       -1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (REMAINDER, INT_MIN, -1, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (REMAINDER, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (REMAINDER, (unsigned int) INT_MIN,
-                       -1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX, 1, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2 + 1, 1, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2, 1, 0u, UINT_MAX, false));
-
-  /* INT_<op>_OVERFLOW with mixed types.  */
-  #define CHECK_SUM(a, b, overflow)                       \
-    VERIFY (INT_ADD_OVERFLOW (a, b) == (overflow));       \
-    VERIFY (INT_ADD_OVERFLOW (b, a) == (overflow))
-  CHECK_SUM (-1, LONG_MIN, true);
-  CHECK_SUM (-1, UINT_MAX, false);
-  CHECK_SUM (-1L, INT_MIN, INT_MIN == LONG_MIN);
-  CHECK_SUM (0u, -1, true);
-  CHECK_SUM (0u, 0, false);
-  CHECK_SUM (0u, 1, false);
-  CHECK_SUM (1, LONG_MAX, true);
-  CHECK_SUM (1, UINT_MAX, true);
-  CHECK_SUM (1L, INT_MAX, INT_MAX == LONG_MAX);
-  CHECK_SUM (1u, INT_MAX, INT_MAX == UINT_MAX);
-  CHECK_SUM (1u, INT_MIN, true);
-
-  VERIFY (! INT_SUBTRACT_OVERFLOW (INT_MAX, 1u));
-  VERIFY (! INT_SUBTRACT_OVERFLOW (UINT_MAX, 1));
-  VERIFY (! INT_SUBTRACT_OVERFLOW (0u, -1));
-  VERIFY (INT_SUBTRACT_OVERFLOW (UINT_MAX, -1));
-  VERIFY (INT_SUBTRACT_OVERFLOW (INT_MIN, 1u));
-  VERIFY (INT_SUBTRACT_OVERFLOW (-1, 0u));
-
-  #define CHECK_PRODUCT(a, b, overflow)                   \
-    VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (overflow));   \
-    VERIFY (INT_MULTIPLY_OVERFLOW (b, a) == (overflow))
-
-  CHECK_PRODUCT (-1, 1u, true);
-  CHECK_PRODUCT (-1, INT_MIN, INT_NEGATE_OVERFLOW (INT_MIN));
-  CHECK_PRODUCT (-1, UINT_MAX, true);
-  CHECK_PRODUCT (-12345, LONG_MAX / -12345 - 1, true);
-  CHECK_PRODUCT (-12345, LONG_MAX / -12345, false);
-  CHECK_PRODUCT (0, -1, false);
-  CHECK_PRODUCT (0, 0, false);
-  CHECK_PRODUCT (0, 0u, false);
-  CHECK_PRODUCT (0, 1, false);
-  CHECK_PRODUCT (0, INT_MAX, false);
-  CHECK_PRODUCT (0, INT_MIN, false);
-  CHECK_PRODUCT (0, UINT_MAX, false);
-  CHECK_PRODUCT (0u, -1, false);
-  CHECK_PRODUCT (0u, 0, false);
-  CHECK_PRODUCT (0u, 0u, false);
-  CHECK_PRODUCT (0u, 1, false);
-  CHECK_PRODUCT (0u, INT_MAX, false);
-  CHECK_PRODUCT (0u, INT_MIN, false);
-  CHECK_PRODUCT (0u, UINT_MAX, false);
-  CHECK_PRODUCT (1, INT_MAX, false);
-  CHECK_PRODUCT (1, INT_MIN, false);
-  CHECK_PRODUCT (1, UINT_MAX, false);
-  CHECK_PRODUCT (1u, INT_MIN, true);
-  CHECK_PRODUCT (1u, INT_MAX, UINT_MAX < INT_MAX);
-  CHECK_PRODUCT (INT_MAX, UINT_MAX, true);
-  CHECK_PRODUCT (INT_MAX, ULONG_MAX, true);
-  CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, true);
-  CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN, false);
-  CHECK_PRODUCT (INT_MIN, UINT_MAX, true);
-  CHECK_PRODUCT (INT_MIN, ULONG_MAX, true);
-
-  VERIFY (INT_DIVIDE_OVERFLOW (INT_MIN, -1L)
-          == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INT_MIN, UINT_MAX));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINTMAX_MAX));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINT_MAX));
-  VERIFY (INT_DIVIDE_OVERFLOW (-11, 10u));
-  VERIFY (INT_DIVIDE_OVERFLOW (-10, 10u));
-  VERIFY (! INT_DIVIDE_OVERFLOW (-9, 10u));
-  VERIFY (INT_DIVIDE_OVERFLOW (11u, -10));
-  VERIFY (INT_DIVIDE_OVERFLOW (10u, -10));
-  VERIFY (! INT_DIVIDE_OVERFLOW (9u, -10));
-
-  VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, -1L)
-          == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
-  VERIFY (INT_REMAINDER_OVERFLOW (-1, UINT_MAX));
-  VERIFY (INT_REMAINDER_OVERFLOW ((intmax_t) -1, UINTMAX_MAX));
-  VERIFY (INT_REMAINDER_OVERFLOW (INTMAX_MIN, UINT_MAX)
-          == (INTMAX_MAX < UINT_MAX
-              && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
-  VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, ULONG_MAX)
-          == (INT_MIN % ULONG_MAX != 1));
-  VERIFY (! INT_REMAINDER_OVERFLOW (1u, -1));
-  VERIFY (! INT_REMAINDER_OVERFLOW (37*39u, -39));
-  VERIFY (INT_REMAINDER_OVERFLOW (37*39u + 1, -39));
-  VERIFY (INT_REMAINDER_OVERFLOW (37*39u - 1, -39));
-  VERIFY (! INT_REMAINDER_OVERFLOW (LONG_MAX, -INT_MAX));
+
+  CHECK_SBINOP (+, ADD, INT_MAX, 1, int, true, INT_MIN);
+  CHECK_SBINOP (+, ADD, INT_MAX, -1, int, false, INT_MAX - 1);
+  CHECK_SBINOP (+, ADD, INT_MIN, 1, int, false, INT_MIN + 1);
+  CHECK_SBINOP (+, ADD, INT_MIN, -1, int, true, INT_MAX);
+  CHECK_BINOP (+, ADD, UINT_MAX, 1u, unsigned int, true, 0u);
+  CHECK_BINOP (+, ADD, 0u, 1u, unsigned int, false, 1u);
+
+  CHECK_SBINOP (-, SUBTRACT, INT_MAX, 1, int, false, INT_MAX - 1);
+  CHECK_SBINOP (-, SUBTRACT, INT_MAX, -1, int, true, INT_MIN);
+  CHECK_SBINOP (-, SUBTRACT, INT_MIN, 1, int, true, INT_MAX);
+  CHECK_SBINOP (-, SUBTRACT, INT_MIN, -1, int, false, INT_MIN - -1);
+  CHECK_BINOP (-, SUBTRACT, UINT_MAX, 1u, unsigned int, false, UINT_MAX - 1u);
+  CHECK_BINOP (-, SUBTRACT, 0u, 1u, unsigned int, true, 0u - 1u);
+
+  CHECK_UNOP (-, NEGATE, INT_MIN, int, TYPE_TWOS_COMPLEMENT (int));
+  CHECK_UNOP (-, NEGATE, 0, int, false);
+  CHECK_UNOP (-, NEGATE, INT_MAX, int, false);
+  CHECK_UNOP (-, NEGATE, 0u, unsigned int, false);
+  CHECK_UNOP (-, NEGATE, 1u, unsigned int, true);
+  CHECK_UNOP (-, NEGATE, UINT_MAX, unsigned int, true);
+
+  CHECK_SBINOP (*, MULTIPLY, INT_MAX, INT_MAX, int, true, 1);
+  CHECK_SBINOP (*, MULTIPLY, INT_MAX, INT_MIN, int, true, INT_MIN);
+  CHECK_SBINOP (*, MULTIPLY, INT_MIN, INT_MAX, int, true, INT_MIN);
+  CHECK_SBINOP (*, MULTIPLY, INT_MIN, INT_MIN, int, true, 0);
+  CHECK_SBINOP (*, MULTIPLY, -1, INT_MIN, int,
+                INT_NEGATE_OVERFLOW (INT_MIN), INT_MIN);
+  CHECK_SBINOP (*, MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
+                long int, false, LONG_MIN - LONG_MIN % INT_MAX);
+
+  CHECK_BINOP (/, DIVIDE, INT_MIN, -1, int,
+               INT_NEGATE_OVERFLOW (INT_MIN), INT_MIN);
+  CHECK_BINOP (/, DIVIDE, INT_MAX, 1, int, false, INT_MAX);
+  CHECK_BINOP (/, DIVIDE, (unsigned int) INT_MIN, -1u, unsigned int,
+               false, INT_MIN / -1u);
+
+  CHECK_BINOP (%, REMAINDER, INT_MIN, -1, int, INT_NEGATE_OVERFLOW (INT_MIN), 
0);
+  CHECK_BINOP (%, REMAINDER, INT_MAX, 1, int, false, 0);
+  CHECK_BINOP (%, REMAINDER, (unsigned int) INT_MIN, -1u, unsigned int,
+               false, INT_MIN % -1u);
+
+  CHECK_BINOP (<<, LEFT_SHIFT, UINT_MAX, 1, unsigned int, true, UINT_MAX << 1);
+  CHECK_BINOP (<<, LEFT_SHIFT, UINT_MAX / 2 + 1, 1, unsigned int, true,
+               (UINT_MAX / 2 + 1) << 1);
+  CHECK_BINOP (<<, LEFT_SHIFT, UINT_MAX / 2, 1, unsigned int, false,
+               (UINT_MAX / 2) << 1);
+
+  /* INT_<op>_OVERFLOW and INT_<op>_WRAPV with mixed types.  */
+  #define CHECK_SUM(a, b, t, v, vres)                                     \
+    CHECK_SUM1(a, b, t, v, vres);                                         \
+    CHECK_SUM1(b, a, t, v, vres)
+  #define CHECK_SSUM(a, b, t, v, vres)                                    \
+    CHECK_SSUM1(a, b, t, v, vres);                                        \
+    CHECK_SSUM1(b, a, t, v, vres)
+  #define CHECK_SUM1(a, b, t, v, vres)                                    \
+    VERIFY (INT_ADD_OVERFLOW (a, b) == (v))
+  #define CHECK_SSUM1(a, b, t, v, vres)                                   \
+    CHECK_SUM1(a, b, t, v, vres);                                         \
+    {                                                                     \
+      t result;                                                           \
+      ASSERT (INT_ADD_WRAPV (a, b, &result) == (v));                      \
+      ASSERT (result == ((v) ? (vres) : ((a) + (b)))                      \
+              || ((v) && !TYPE_TWOS_COMPLEMENT (t)));                     \
+    }
+  CHECK_SSUM (-1, LONG_MIN, long int, true, LONG_MAX);
+  CHECK_SUM (-1, UINT_MAX, unsigned int, false, DONTCARE);
+  CHECK_SSUM (-1L, INT_MIN, long int, INT_MIN == LONG_MIN,
+              INT_MIN == LONG_MIN ? INT_MAX : DONTCARE);
+  CHECK_SUM (0u, -1, unsigned int, true, 0u + -1);
+  CHECK_SUM (0u, 0, unsigned int, false, DONTCARE);
+  CHECK_SUM (0u, 1, unsigned int, false, DONTCARE);
+  CHECK_SSUM (1, LONG_MAX, long int, true, LONG_MIN);
+  CHECK_SUM (1, UINT_MAX, unsigned int, true, 0u);
+  CHECK_SSUM (1L, INT_MAX, long int, INT_MAX == LONG_MAX,
+              INT_MAX == LONG_MAX ? INT_MIN : DONTCARE);
+  CHECK_SUM (1u, INT_MAX, unsigned int, INT_MAX == UINT_MAX, 1u + INT_MAX);
+  CHECK_SUM (1u, INT_MIN, unsigned int, true, 1u + INT_MIN);
+  {
+    long int result;
+    ASSERT (INT_ADD_WRAPV (1, INT_MAX, &result) == (INT_MAX == LONG_MAX));
+    ASSERT (INT_ADD_WRAPV (-1, INT_MIN, &result) == (INT_MIN == LONG_MIN));
+  }
+
+  #define CHECK_DIFFERENCE(a, b, t, v, vres)                              \
+    VERIFY (INT_SUBTRACT_OVERFLOW (a, b) == (v))
+  #define CHECK_SDIFFERENCE(a, b, t, v, vres)                             \
+    CHECK_DIFFERENCE(a, b, t, v, vres);                                   \
+    {                                                                     \
+      t result;                                                           \
+      ASSERT (INT_SUBTRACT_WRAPV (a, b, &result) == (v));                 \
+      ASSERT (result == ((v) ? (vres) : ((a) - (b)))                      \
+              || ((v) && !TYPE_TWOS_COMPLEMENT (t)));                     \
+    }
+  CHECK_DIFFERENCE (INT_MAX, 1u, unsigned int, UINT_MAX < INT_MAX - 1,
+                    INT_MAX - 1u);
+  CHECK_DIFFERENCE (UINT_MAX, 1, unsigned int, false, UINT_MAX - 1);
+  CHECK_DIFFERENCE (0u, -1, unsigned int, false, 0u - -1);
+  CHECK_DIFFERENCE (UINT_MAX, -1, unsigned int, true, UINT_MAX - -1);
+  CHECK_DIFFERENCE (INT_MIN, 1u, unsigned int, true, INT_MIN - 1u);
+  CHECK_DIFFERENCE (-1, 0u, unsigned int, true, -1 - 0u);
+  CHECK_SDIFFERENCE (-1, INT_MIN, int, false, -1 - INT_MIN);
+  CHECK_SDIFFERENCE (-1, INT_MAX, int, false, -1 - INT_MAX);
+  CHECK_SDIFFERENCE (0, INT_MIN, int, INT_MIN < -INT_MAX, INT_MIN);
+  CHECK_SDIFFERENCE (0, INT_MAX, int, false, 0 - INT_MAX);
+  {
+    long int result;
+    ASSERT (INT_SUBTRACT_WRAPV (INT_MAX, -1, &result) == (INT_MAX == 
LONG_MAX));
+    ASSERT (INT_SUBTRACT_WRAPV (INT_MIN, 1, &result) == (INT_MAX == LONG_MAX));
+  }
+
+  #define CHECK_PRODUCT(a, b, t, v, vres)                                 \
+    CHECK_PRODUCT1(a, b, t, v, vres);                                     \
+    CHECK_PRODUCT1(b, a, t, v, vres)
+  #define CHECK_SPRODUCT(a, b, t, v, vres)                                \
+    CHECK_SPRODUCT1(a, b, t, v, vres);                                    \
+    CHECK_SPRODUCT1(b, a, t, v, vres)
+  #define CHECK_PRODUCT1(a, b, t, v, vres)                                \
+    VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (v))
+  #define CHECK_SPRODUCT1(a, b, t, v, vres)                               \
+    CHECK_PRODUCT1(a, b, t, v, vres);                                     \
+    {                                                                     \
+      t result;                                                           \
+      ASSERT (INT_MULTIPLY_WRAPV (a, b, &result) == (v));                 \
+      ASSERT (result == ((v) ? (vres) : ((a) * (b)))                      \
+              || ((v) && !TYPE_TWOS_COMPLEMENT (t)));                     \
+    }
+  CHECK_PRODUCT (-1, 1u, unsigned int, true, -1 * 1u);
+  CHECK_SPRODUCT (-1, INT_MIN, int, INT_NEGATE_OVERFLOW (INT_MIN), INT_MIN);
+  CHECK_PRODUCT (-1, UINT_MAX, unsigned int, true, -1 * UINT_MAX);
+  CHECK_SPRODUCT (-32768, LONG_MAX / -32768 - 1, long int, true, LONG_MIN);
+  CHECK_SPRODUCT (-12345, LONG_MAX / -12345, long int, false, DONTCARE);
+  CHECK_SPRODUCT (0, -1, int, false, DONTCARE);
+  CHECK_SPRODUCT (0, 0, int, false, DONTCARE);
+  CHECK_PRODUCT (0, 0u, unsigned int, false, DONTCARE);
+  CHECK_SPRODUCT (0, 1, int, false, DONTCARE);
+  CHECK_SPRODUCT (0, INT_MAX, int, false, DONTCARE);
+  CHECK_SPRODUCT (0, INT_MIN, int, false, DONTCARE);
+  CHECK_PRODUCT (0, UINT_MAX, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, -1, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, 0, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, 0u, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, 1, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, INT_MAX, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, INT_MIN, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, UINT_MAX, unsigned int, false, DONTCARE);
+  CHECK_SPRODUCT (1, INT_MAX, int, false, DONTCARE);
+  CHECK_SPRODUCT (1, INT_MIN, int, false, DONTCARE);
+  CHECK_PRODUCT (1, UINT_MAX, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (1u, INT_MIN, unsigned int, true, 1u * INT_MIN);
+  CHECK_PRODUCT (1u, INT_MAX, unsigned int, UINT_MAX < INT_MAX, 1u * INT_MAX);
+  CHECK_PRODUCT (INT_MAX, UINT_MAX, unsigned int, true, INT_MAX * UINT_MAX);
+  CHECK_PRODUCT (INT_MAX, ULONG_MAX, unsigned long int, true,
+                 INT_MAX * ULONG_MAX);
+  CHECK_SPRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, long int, true, LONG_MIN);
+  CHECK_SPRODUCT (INT_MIN, LONG_MAX / INT_MIN, long int, false, DONTCARE);
+  CHECK_PRODUCT (INT_MIN, UINT_MAX, unsigned int, true, INT_MIN * UINT_MAX);
+  CHECK_PRODUCT (INT_MIN, ULONG_MAX, unsigned long int, true,
+                 INT_MIN * ULONG_MAX);
+  {
+    long int result;
+    ASSERT (INT_MULTIPLY_WRAPV (INT_MAX, INT_MAX, &result)
+            == (LONG_MAX / INT_MAX < INT_MAX));
+    ASSERT (INT_MULTIPLY_WRAPV (INT_MAX, INT_MAX, &result)
+            || result == INT_MAX * (long int) INT_MAX);
+    ASSERT (INT_MULTIPLY_WRAPV (INT_MIN, INT_MIN, &result)
+            || result == INT_MIN * (long int) INT_MIN);
+  }
+
+# ifdef LLONG_MAX
+  {
+    long long int result;
+    ASSERT (INT_MULTIPLY_WRAPV (LONG_MAX, LONG_MAX, &result)
+            == (LLONG_MAX / LONG_MAX < LONG_MAX));
+    ASSERT (INT_MULTIPLY_WRAPV (LONG_MAX, LONG_MAX, &result)
+            || result == LONG_MAX * (long long int) LONG_MAX);
+    ASSERT (INT_MULTIPLY_WRAPV (LONG_MIN, LONG_MIN, &result)
+            || result == LONG_MIN * (long long int) LONG_MIN);
+  }
+# endif
+
+  #define CHECK_QUOTIENT(a, b, v) VERIFY (INT_DIVIDE_OVERFLOW (a, b) == (v))
+
+  CHECK_QUOTIENT (INT_MIN, -1L,
+                  TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN);
+  CHECK_QUOTIENT (INT_MIN, UINT_MAX, false);
+  CHECK_QUOTIENT (INTMAX_MIN, UINTMAX_MAX, false);
+  CHECK_QUOTIENT (INTMAX_MIN, UINT_MAX, false);
+  CHECK_QUOTIENT (-11, 10u, true);
+  CHECK_QUOTIENT (-10, 10u, true);
+  CHECK_QUOTIENT (-9, 10u, false);
+  CHECK_QUOTIENT (11u, -10, true);
+  CHECK_QUOTIENT (10u, -10, true);
+  CHECK_QUOTIENT (9u, -10, false);
+
+  #define CHECK_REMAINDER(a, b, v) VERIFY (INT_REMAINDER_OVERFLOW (a, b) == 
(v))
+
+  CHECK_REMAINDER (INT_MIN, -1L,
+                   TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN);
+  CHECK_REMAINDER (-1, UINT_MAX, true);
+  CHECK_REMAINDER ((intmax_t) -1, UINTMAX_MAX, true);
+  CHECK_REMAINDER (INTMAX_MIN, UINT_MAX,
+                   (INTMAX_MAX < UINT_MAX
+                    && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
+  CHECK_REMAINDER (INT_MIN, ULONG_MAX, INT_MIN % ULONG_MAX != 1);
+  CHECK_REMAINDER (1u, -1, false);
+  CHECK_REMAINDER (37*39u, -39, false);
+  CHECK_REMAINDER (37*39u + 1, -39, true);
+  CHECK_REMAINDER (37*39u - 1, -39, true);
+  CHECK_REMAINDER (LONG_MAX, -INT_MAX, false);
 
   return 0;
 }
diff --git a/gltests/test-inttypes.c b/gltests/test-inttypes.c
index 7fa18b2..9a3193c 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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.c b/gltests/test-lstat.c
index 0e7597e..86ff465 100644
--- a/gltests/test-lstat.c
+++ b/gltests/test-lstat.c
@@ -1,5 +1,5 @@
 /* Test of lstat() function.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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 d5ba7a8..4eb9036 100644
--- a/gltests/test-lstat.h
+++ b/gltests/test-lstat.h
@@ -1,5 +1,5 @@
 /* Test of lstat() function.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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 717ede0..e9ab83d 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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.c b/gltests/test-open.c
index d169e22..d9e2e27 100644
--- a/gltests/test-open.c
+++ b/gltests/test-open.c
@@ -1,5 +1,5 @@
 /* Test of opening a file descriptor.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 2fbcd17..faaff0f 100644
--- a/gltests/test-open.h
+++ b/gltests/test-open.h
@@ -1,5 +1,5 @@
 /* Test of opening a file descriptor.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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-pathmax.c b/gltests/test-pathmax.c
index 14eb1ee..ac4a393 100644
--- a/gltests/test-pathmax.c
+++ b/gltests/test-pathmax.c
@@ -1,5 +1,5 @@
 /* Test of "pathmax.h".
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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-setenv.c b/gltests/test-setenv.c
index a7ef488..519dc27 100644
--- a/gltests/test-setenv.c
+++ b/gltests/test-setenv.c
@@ -1,5 +1,5 @@
 /* Tests of setenv.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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.c b/gltests/test-stat.c
index c6af376..b1f2d12 100644
--- a/gltests/test-stat.c
+++ b/gltests/test-stat.c
@@ -1,5 +1,5 @@
 /* Tests of stat.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 c37fe6d..28e1e24 100644
--- a/gltests/test-stat.h
+++ b/gltests/test-stat.h
@@ -1,5 +1,5 @@
 /* Tests of stat.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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-stdalign.c b/gltests/test-stdalign.c
index 68b9ef1..0f240c5 100644
--- a/gltests/test-stdalign.c
+++ b/gltests/test-stdalign.c
@@ -1,5 +1,5 @@
 /* Test of <stdalign.h>.
-   Copyright 2009-2015 Free Software Foundation, Inc.
+   Copyright 2009-2016 Free Software Foundation, Inc.
 
    This 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 1da25d0..45dc837 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2002-2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 aa6ae54..bfb72a0 100644
--- a/gltests/test-stddef.c
+++ b/gltests/test-stddef.c
@@ -1,5 +1,5 @@
 /* Test of <stddef.h> substitute.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 8d54db2..7705fc7 100644
--- a/gltests/test-stdint.c
+++ b/gltests/test-stdint.c
@@ -1,5 +1,5 @@
 /* Test of <stdint.h> substitute.
-   Copyright (C) 2006-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
    This 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 cbec2a6..6cde888 100644
--- a/gltests/test-stdio.c
+++ b/gltests/test-stdio.c
@@ -1,5 +1,5 @@
 /* Test of <stdio.h> substitute.
-   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 755ffba..80ffe1c 100644
--- a/gltests/test-strerror.c
+++ b/gltests/test-strerror.c
@@ -1,5 +1,5 @@
 /* Test of strerror() function.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 7a63391..ad13b93 100644
--- a/gltests/test-symlink.c
+++ b/gltests/test-symlink.c
@@ -1,5 +1,5 @@
 /* Tests of symlink.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 4dc741a..fc064e8 100644
--- a/gltests/test-symlink.h
+++ b/gltests/test-symlink.h
@@ -1,5 +1,5 @@
 /* Tests of symlink.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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-sys_time.c b/gltests/test-sys_time.c
index 653ff46..44535b9 100644
--- a/gltests/test-sys_time.c
+++ b/gltests/test-sys_time.c
@@ -1,5 +1,5 @@
 /* Test of <sys/time.h> substitute.
-   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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-sys_types.c b/gltests/test-sys_types.c
index 1ef3b90..7f8fb6d 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 235e185..fe4548d 100644
--- a/gltests/test-unsetenv.c
+++ b/gltests/test-unsetenv.c
@@ -1,5 +1,5 @@
 /* Tests of unsetenv.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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-vc-list-files-cvs.sh 
b/gltests/test-vc-list-files-cvs.sh
index a2a237f..6262944 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 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 2882d32..4358115 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2008-2016 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 640dc42..d7ca053 100644
--- a/gltests/test-verify.c
+++ b/gltests/test-verify.c
@@ -1,6 +1,6 @@
 /* Test the "verify" module.
 
-   Copyright (C) 2005, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2016 Free Software Foundation, Inc.
 
    This 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 1f202e8..4382c76 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 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 0ad212b..1706aef 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 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/time.in.h b/gltests/time.in.h
index a90552c..865c114 100644
--- a/gltests/time.in.h
+++ b/gltests/time.in.h
@@ -1,6 +1,6 @@
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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/unsetenv.c b/gltests/unsetenv.c
index 87f41d5..8368744 100644
--- a/gltests/unsetenv.c
+++ b/gltests/unsetenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2016 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 ad78d0d..baaebb6 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1999-2006, 2009-2016 Free Software Foundation, Inc.
 
    This 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/wchar.in.h b/gltests/wchar.in.h
index 684299f..e98ab61 100644
--- a/gltests/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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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/java/Makefile.am b/java/Makefile.am
index b0fd6de..28e21cc 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-2015 Simon Josefsson
+# Copyright (C) 2004-2016 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/Makefile.am b/java/src/Makefile.am
index 8739d4f..b858212 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-2015 Simon Josefsson
+# Copyright (C) 2004-2016 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/java/src/main/Makefile.am b/java/src/main/Makefile.am
index a651494..046000f 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-2015 Simon Josefsson
+# Copyright (C) 2004-2016 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 cf2eb64..455ea9d 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-2015 Simon Josefsson
+# Copyright (C) 2004-2016 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 8500102..75146b5 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-2015 Simon Josefsson
+# Copyright (C) 2004-2016 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 d372f7c..231d15c 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-2015 Simon Josefsson
+# Copyright (C) 2004-2016 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 650f4e3..c95ee8f 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 1488be1..81e8d0f 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 bc9de46..1b7c889 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-2015 Simon Josefsson
+# Copyright (C) 2004-2016 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 a2cb78b..1155f5d 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 32aa48a..f9aa527 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 b4d1717..f5a3a1c 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 432ee8b..97fbf2f 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 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 6a7c091..664b6ea 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 b753d2a..d43b413 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 a651494..046000f 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-2015 Simon Josefsson
+# Copyright (C) 2004-2016 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 10f86dc..06973e8 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 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 547b3bd..8eaf0fd 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 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 0f4eb28..d86c8e8 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 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 18a0e3b..28b8c74 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-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2016 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 a651494..046000f 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-2015 Simon Josefsson
+# Copyright (C) 2004-2016 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 9fc3568..8507ef8 100644
--- a/java/src/util/java/GenerateNFKC.java
+++ b/java/src/util/java/GenerateNFKC.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 90e577c..4870080 100644
--- a/java/src/util/java/GenerateRFC3454.java
+++ b/java/src/util/java/GenerateRFC3454.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 6b7d0b3..f543202 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 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 59b1652..f0838f7 100644
--- a/java/src/util/java/TestIDNA.java
+++ b/java/src/util/java/TestIDNA.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 b9ed604..f06d6d8 100644
--- a/java/src/util/java/TestNFKC.java
+++ b/java/src/util/java/TestNFKC.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2016 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 b42d0b3..ebcebbe 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-2015 Simon Josefsson.
-# Copyright (C) 2004, 2010-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 Simon Josefsson.
+# Copyright (C) 2004, 2010-2014, 2016 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 47403aa..c253d0f 100755
--- a/lib/gen-stringprep-tables.pl
+++ b/lib/gen-stringprep-tables.pl
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
-# Copyright (C) 2002-2015 Simon Josefsson
+# Copyright (C) 2002-2016 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 bbeea0a..c14f4bc 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-2015 Simon Josefsson.
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2016 Simon Josefsson.
+# Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc.
 #
 # This 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 fe94b2c..21a0e24 100755
--- a/lib/gen-unicode-tables.pl
+++ b/lib/gen-unicode-tables.pl
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
-#    Copyright (C) 2004-2015 Simon Josefsson
+#    Copyright (C) 2004-2016 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 3902005..3692196 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 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
@@ -21,7 +21,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=lib/gl/override 
--lib=libgnu --source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc 
--tests-base=lib/gltests --aux-dir=build-aux --with-tests --avoid=iconv-h-tests 
--avoid=string-tests --avoid=wchar-tests --lgpl=2 --no-conditional-dependencies 
--libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat 
lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp 
unistr/u8-check
+# Reproduce by: gnulib-tool --import --local-dir=lib/gl/override --lib=libgnu 
--source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc 
--tests-base=lib/gltests --aux-dir=build-aux --with-tests --avoid=iconv-h-tests 
--avoid=string-tests --avoid=wchar-tests --lgpl=2 --no-conditional-dependencies 
--libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat 
lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp 
unistr/u8-check
 
 AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects
 
@@ -83,6 +83,9 @@ libgnu_la_SOURCES += gettext.h
 ## begin gnulib module gperf
 
 GPERF = gperf
+V_GPERF = $(address@hidden@)
+V_GPERF_ = $(address@hidden@)
+V_GPERF_0 = @echo "  GPERF   " $@;
 
 ## end   gnulib module gperf
 
@@ -132,19 +135,19 @@ EXTRA_DIST += iconv.in.h
 ## begin gnulib module iconv_open
 
 iconv_open-aix.h: iconv_open-aix.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > 
$(srcdir)/iconv_open-aix.h-t
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > 
$(srcdir)/iconv_open-aix.h-t && \
        mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
 iconv_open-hpux.h: iconv_open-hpux.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > 
$(srcdir)/iconv_open-hpux.h-t
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > 
$(srcdir)/iconv_open-hpux.h-t && \
        mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h
 iconv_open-irix.h: iconv_open-irix.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > 
$(srcdir)/iconv_open-irix.h-t
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > 
$(srcdir)/iconv_open-irix.h-t && \
        mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h
 iconv_open-osf.h: iconv_open-osf.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > 
$(srcdir)/iconv_open-osf.h-t
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > 
$(srcdir)/iconv_open-osf.h-t && \
        mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
 iconv_open-solaris.h: iconv_open-solaris.gperf
-       $(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > 
$(srcdir)/iconv_open-solaris.h-t
+       $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > 
$(srcdir)/iconv_open-solaris.h-t && \
        mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
 BUILT_SOURCES        += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h 
iconv_open-osf.h iconv_open-solaris.h
 MOSTLYCLEANFILES     += iconv_open-aix.h-t iconv_open-hpux.h-t 
iconv_open-irix.h-t iconv_open-osf.h-t iconv_open-solaris.h-t
diff --git a/lib/gl/c-ctype.c b/lib/gl/c-ctype.c
index 932d676..5d9d4d8 100644
--- a/lib/gl/c-ctype.c
+++ b/lib/gl/c-ctype.c
@@ -1,395 +1,3 @@
-/* Character handling in C locale.
-
-   Copyright 2000-2003, 2006, 2009-2015 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
-the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
-
-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/>.  */
-
 #include <config.h>
-
-/* Specification.  */
-#define NO_C_CTYPE_MACROS
+#define C_CTYPE_INLINE _GL_EXTERN_INLINE
 #include "c-ctype.h"
-
-/* The function isascii is not locale dependent. Its use in EBCDIC is
-   questionable. */
-bool
-c_isascii (int c)
-{
-  return (c >= 0x00 && c <= 0x7f);
-}
-
-bool
-c_isalnum (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-  return ((c >= '0' && c <= '9')
-          || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'));
-#else
-  return ((c >= '0' && c <= '9')
-          || (c >= 'A' && c <= 'Z')
-          || (c >= 'a' && c <= 'z'));
-#endif
-#else
-  switch (c)
-    {
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isalpha (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-  return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z');
-#else
-  return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
-#endif
-#else
-  switch (c)
-    {
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isblank (int c)
-{
-  return (c == ' ' || c == '\t');
-}
-
-bool
-c_iscntrl (int c)
-{
-#if C_CTYPE_ASCII
-  return ((c & ~0x1f) == 0 || c == 0x7f);
-#else
-  switch (c)
-    {
-    case ' ': case '!': case '"': case '#': case '$': case '%':
-    case '&': case '\'': case '(': case ')': case '*': case '+':
-    case ',': case '-': case '.': case '/':
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-    case '{': case '|': case '}': case '~':
-      return 0;
-    default:
-      return 1;
-    }
-#endif
-}
-
-bool
-c_isdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS
-  return (c >= '0' && c <= '9');
-#else
-  switch (c)
-    {
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_islower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
-  return (c >= 'a' && c <= 'z');
-#else
-  switch (c)
-    {
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isgraph (int c)
-{
-#if C_CTYPE_ASCII
-  return (c >= '!' && c <= '~');
-#else
-  switch (c)
-    {
-    case '!': case '"': case '#': case '$': case '%': case '&':
-    case '\'': case '(': case ')': case '*': case '+': case ',':
-    case '-': case '.': case '/':
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-    case '{': case '|': case '}': case '~':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isprint (int c)
-{
-#if C_CTYPE_ASCII
-  return (c >= ' ' && c <= '~');
-#else
-  switch (c)
-    {
-    case ' ': case '!': case '"': case '#': case '$': case '%':
-    case '&': case '\'': case '(': case ')': case '*': case '+':
-    case ',': case '-': case '.': case '/':
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-    case 'y': case 'z':
-    case '{': case '|': case '}': case '~':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_ispunct (int c)
-{
-#if C_CTYPE_ASCII
-  return ((c >= '!' && c <= '~')
-          && !((c >= '0' && c <= '9')
-               || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')));
-#else
-  switch (c)
-    {
-    case '!': case '"': case '#': case '$': case '%': case '&':
-    case '\'': case '(': case ')': case '*': case '+': case ',':
-    case '-': case '.': case '/':
-    case ':': case ';': case '<': case '=': case '>': case '?':
-    case '@':
-    case '[': case '\\': case ']': case '^': case '_': case '`':
-    case '{': case '|': case '}': case '~':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isspace (int c)
-{
-  return (c == ' ' || c == '\t'
-          || c == '\n' || c == '\v' || c == '\f' || c == '\r');
-}
-
-bool
-c_isupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
-  return (c >= 'A' && c <= 'Z');
-#else
-  switch (c)
-    {
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-    case 'Y': case 'Z':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-bool
-c_isxdigit (int c)
-{
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-  return ((c >= '0' && c <= '9')
-          || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F'));
-#else
-  return ((c >= '0' && c <= '9')
-          || (c >= 'A' && c <= 'F')
-          || (c >= 'a' && c <= 'f'));
-#endif
-#else
-  switch (c)
-    {
-    case '0': case '1': case '2': case '3': case '4': case '5':
-    case '6': case '7': case '8': case '9':
-    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-      return 1;
-    default:
-      return 0;
-    }
-#endif
-}
-
-int
-c_tolower (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-  return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c);
-#else
-  switch (c)
-    {
-    case 'A': return 'a';
-    case 'B': return 'b';
-    case 'C': return 'c';
-    case 'D': return 'd';
-    case 'E': return 'e';
-    case 'F': return 'f';
-    case 'G': return 'g';
-    case 'H': return 'h';
-    case 'I': return 'i';
-    case 'J': return 'j';
-    case 'K': return 'k';
-    case 'L': return 'l';
-    case 'M': return 'm';
-    case 'N': return 'n';
-    case 'O': return 'o';
-    case 'P': return 'p';
-    case 'Q': return 'q';
-    case 'R': return 'r';
-    case 'S': return 's';
-    case 'T': return 't';
-    case 'U': return 'u';
-    case 'V': return 'v';
-    case 'W': return 'w';
-    case 'X': return 'x';
-    case 'Y': return 'y';
-    case 'Z': return 'z';
-    default: return c;
-    }
-#endif
-}
-
-int
-c_toupper (int c)
-{
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-  return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c);
-#else
-  switch (c)
-    {
-    case 'a': return 'A';
-    case 'b': return 'B';
-    case 'c': return 'C';
-    case 'd': return 'D';
-    case 'e': return 'E';
-    case 'f': return 'F';
-    case 'g': return 'G';
-    case 'h': return 'H';
-    case 'i': return 'I';
-    case 'j': return 'J';
-    case 'k': return 'K';
-    case 'l': return 'L';
-    case 'm': return 'M';
-    case 'n': return 'N';
-    case 'o': return 'O';
-    case 'p': return 'P';
-    case 'q': return 'Q';
-    case 'r': return 'R';
-    case 's': return 'S';
-    case 't': return 'T';
-    case 'u': return 'U';
-    case 'v': return 'V';
-    case 'w': return 'W';
-    case 'x': return 'X';
-    case 'y': return 'Y';
-    case 'z': return 'Z';
-    default: return c;
-    }
-#endif
-}
diff --git a/lib/gl/c-ctype.h b/lib/gl/c-ctype.h
index d57cf43..80d7041 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2006, 2008-2016 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
@@ -25,6 +25,13 @@ along with this program; if not, see 
<http://www.gnu.org/licenses/>.  */
 
 #include <stdbool.h>
 
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef C_CTYPE_INLINE
+# define C_CTYPE_INLINE _GL_INLINE
+#endif
 
 #ifdef __cplusplus
 extern "C" {
@@ -39,38 +46,6 @@ extern "C" {
    characters.  */
 
 
-/* Check whether the ASCII optimizations apply. */
-
-/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that
-   '0', '1', ..., '9' have consecutive integer values.  */
-#define C_CTYPE_CONSECUTIVE_DIGITS 1
-
-#if ('A' <= 'Z') \
-    && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \
-    && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \
-    && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \
-    && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \
-    && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \
-    && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \
-    && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \
-    && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \
-    && ('Y' + 1 == 'Z')
-#define C_CTYPE_CONSECUTIVE_UPPERCASE 1
-#endif
-
-#if ('a' <= 'z') \
-    && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \
-    && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \
-    && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \
-    && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \
-    && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \
-    && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \
-    && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \
-    && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \
-    && ('y' + 1 == 'z')
-#define C_CTYPE_CONSECUTIVE_LOWERCASE 1
-#endif
-
 #if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
     && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
     && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
@@ -96,11 +71,84 @@ extern "C" {
     && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
 /* The character set is ASCII or one of its variants or extensions, not EBCDIC.
    Testing the value of '\n' and '\r' is not relevant.  */
-#define C_CTYPE_ASCII 1
+# define C_CTYPE_ASCII 1
+#elif ! (' ' == '\x40' && '0' == '\xf0'                     \
+         && 'A' == '\xc1' && 'J' == '\xd1' && 'S' == '\xe2' \
+         && 'a' == '\x81' && 'j' == '\x91' && 's' == '\xa2')
+# error "Only ASCII and EBCDIC are supported"
 #endif
 
+#if 'A' < 0
+# error "EBCDIC and char is signed -- not supported"
+#endif
+
+/* Cases for control characters.  */
+
+#define _C_CTYPE_CNTRL \
+   case '\a': case '\b': case '\f': case '\n': \
+   case '\r': case '\t': case '\v': \
+   _C_CTYPE_OTHER_CNTRL
+
+/* ASCII control characters other than those with \-letter escapes.  */
+
+#if C_CTYPE_ASCII
+# define _C_CTYPE_OTHER_CNTRL \
+    case '\x00': case '\x01': case '\x02': case '\x03': \
+    case '\x04': case '\x05': case '\x06': case '\x0e': \
+    case '\x0f': case '\x10': case '\x11': case '\x12': \
+    case '\x13': case '\x14': case '\x15': case '\x16': \
+    case '\x17': case '\x18': case '\x19': case '\x1a': \
+    case '\x1b': case '\x1c': case '\x1d': case '\x1e': \
+    case '\x1f': case '\x7f'
+#else
+   /* Use EBCDIC code page 1047's assignments for ASCII control chars;
+      assume all EBCDIC code pages agree about these assignments.  */
+# define _C_CTYPE_OTHER_CNTRL \
+    case '\x00': case '\x01': case '\x02': case '\x03': \
+    case '\x07': case '\x0e': case '\x0f': case '\x10': \
+    case '\x11': case '\x12': case '\x13': case '\x18': \
+    case '\x19': case '\x1c': case '\x1d': case '\x1e': \
+    case '\x1f': case '\x26': case '\x27': case '\x2d': \
+    case '\x2e': case '\x32': case '\x37': case '\x3c': \
+    case '\x3d': case '\x3f'
+#endif
 
-/* Function declarations. */
+/* Cases for lowercase hex letters, and lowercase letters, all offset by N.  */
+
+#define _C_CTYPE_LOWER_A_THRU_F_N(n) \
+   case 'a' + (n): case 'b' + (n): case 'c' + (n): case 'd' + (n): \
+   case 'e' + (n): case 'f' + (n)
+#define _C_CTYPE_LOWER_N(n) \
+   _C_CTYPE_LOWER_A_THRU_F_N(n): \
+   case 'g' + (n): case 'h' + (n): case 'i' + (n): case 'j' + (n): \
+   case 'k' + (n): case 'l' + (n): case 'm' + (n): case 'n' + (n): \
+   case 'o' + (n): case 'p' + (n): case 'q' + (n): case 'r' + (n): \
+   case 's' + (n): case 't' + (n): case 'u' + (n): case 'v' + (n): \
+   case 'w' + (n): case 'x' + (n): case 'y' + (n): case 'z' + (n)
+
+/* Cases for hex letters, digits, lower, punct, and upper.  */
+
+#define _C_CTYPE_A_THRU_F \
+   _C_CTYPE_LOWER_A_THRU_F_N (0): \
+   _C_CTYPE_LOWER_A_THRU_F_N ('A' - 'a')
+#define _C_CTYPE_DIGIT                     \
+   case '0': case '1': case '2': case '3': \
+   case '4': case '5': case '6': case '7': \
+   case '8': case '9'
+#define _C_CTYPE_LOWER _C_CTYPE_LOWER_N (0)
+#define _C_CTYPE_PUNCT \
+   case '!': case '"': case '#': case '$':  \
+   case '%': case '&': case '\'': case '(': \
+   case ')': case '*': case '+': case ',':  \
+   case '-': case '.': case '/': case ':':  \
+   case ';': case '<': case '=': case '>':  \
+   case '?': case '@': case '[': case '\\': \
+   case ']': case '^': case '_': case '`':  \
+   case '{': case '|': case '}': case '~'
+#define _C_CTYPE_UPPER _C_CTYPE_LOWER_N ('A' - 'a')
+
+
+/* Function definitions.  */
 
 /* Unlike the functions in <ctype.h>, which require an argument in the range
    of the 'unsigned char' type, the functions here operate on values that are
@@ -117,179 +165,202 @@ extern "C" {
          if (c_isalpha (*s)) ...
  */
 
-extern bool c_isascii (int c) _GL_ATTRIBUTE_CONST; /* not locale dependent */
-
-extern bool c_isalnum (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isalpha (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isblank (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_iscntrl (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isdigit (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_islower (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isgraph (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isprint (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_ispunct (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isspace (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isupper (int c) _GL_ATTRIBUTE_CONST;
-extern bool c_isxdigit (int c) _GL_ATTRIBUTE_CONST;
-
-extern int c_tolower (int c) _GL_ATTRIBUTE_CONST;
-extern int c_toupper (int c) _GL_ATTRIBUTE_CONST;
-
-
-#if (defined __GNUC__ && !defined __STRICT_ANSI__ && defined __OPTIMIZE__ \
-     && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS)
-
-/* ASCII optimizations. */
-
-#undef c_isascii
-#define c_isascii(c) \
-  ({ int __c = (c); \
-     (__c >= 0x00 && __c <= 0x7f); \
-   })
+C_CTYPE_INLINE bool
+c_isalnum (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalnum
-#define c_isalnum(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \
-   })
-#else
-#undef c_isalnum
-#define c_isalnum(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || (__c >= 'A' && __c <= 'Z') \
-      || (__c >= 'a' && __c <= 'z')); \
-   })
-#endif
-#endif
+C_CTYPE_INLINE bool
+c_isalpha (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_LOWER:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isalpha
-#define c_isalpha(c) \
-  ({ int __c = (c); \
-     ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \
-   })
-#else
-#undef c_isalpha
-#define c_isalpha(c) \
-  ({ int __c = (c); \
-     ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \
-   })
-#endif
-#endif
+/* The function isascii is not locale dependent.
+   Its use in EBCDIC is questionable. */
+C_CTYPE_INLINE bool
+c_isascii (int c)
+{
+  switch (c)
+    {
+    case ' ':
+    _C_CTYPE_CNTRL:
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_PUNCT:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#undef c_isblank
-#define c_isblank(c) \
-  ({ int __c = (c); \
-     (__c == ' ' || __c == '\t'); \
-   })
+C_CTYPE_INLINE bool
+c_isblank (int c)
+{
+  return c == ' ' || c == '\t';
+}
 
-#if C_CTYPE_ASCII
-#undef c_iscntrl
-#define c_iscntrl(c) \
-  ({ int __c = (c); \
-     ((__c & ~0x1f) == 0 || __c == 0x7f); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_iscntrl (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_CNTRL:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_DIGITS
-#undef c_isdigit
-#define c_isdigit(c) \
-  ({ int __c = (c); \
-     (__c >= '0' && __c <= '9'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isdigit (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_islower
-#define c_islower(c) \
-  ({ int __c = (c); \
-     (__c >= 'a' && __c <= 'z'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isgraph (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_PUNCT:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_ASCII
-#undef c_isgraph
-#define c_isgraph(c) \
-  ({ int __c = (c); \
-     (__c >= '!' && __c <= '~'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_islower (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_LOWER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_ASCII
-#undef c_isprint
-#define c_isprint(c) \
-  ({ int __c = (c); \
-     (__c >= ' ' && __c <= '~'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isprint (int c)
+{
+  switch (c)
+    {
+    case ' ':
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_LOWER:
+    _C_CTYPE_PUNCT:
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_ASCII
-#undef c_ispunct
-#define c_ispunct(c) \
-  ({ int _c = (c); \
-     (c_isgraph (_c) && ! c_isalnum (_c)); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_ispunct (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_PUNCT:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#undef c_isspace
-#define c_isspace(c) \
-  ({ int __c = (c); \
-     (__c == ' ' || __c == '\t' \
-      || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \
-   })
-
-#if C_CTYPE_CONSECUTIVE_UPPERCASE
-#undef c_isupper
-#define c_isupper(c) \
-  ({ int __c = (c); \
-     (__c >= 'A' && __c <= 'Z'); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isspace (int c)
+{
+  switch (c)
+    {
+    case ' ': case '\t': case '\n': case '\v': case '\f': case '\r':
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_DIGITS \
-    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#if C_CTYPE_ASCII
-#undef c_isxdigit
-#define c_isxdigit(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \
-   })
-#else
-#undef c_isxdigit
-#define c_isxdigit(c) \
-  ({ int __c = (c); \
-     ((__c >= '0' && __c <= '9') \
-      || (__c >= 'A' && __c <= 'F') \
-      || (__c >= 'a' && __c <= 'f')); \
-   })
-#endif
-#endif
+C_CTYPE_INLINE bool
+c_isupper (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_UPPER:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
-#undef c_tolower
-#define c_tolower(c) \
-  ({ int __c = (c); \
-     (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \
-   })
-#undef c_toupper
-#define c_toupper(c) \
-  ({ int __c = (c); \
-     (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \
-   })
-#endif
+C_CTYPE_INLINE bool
+c_isxdigit (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_DIGIT:
+    _C_CTYPE_A_THRU_F:
+      return true;
+    default:
+      return false;
+    }
+}
 
-#endif /* optimizing for speed */
+C_CTYPE_INLINE int
+c_tolower (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_UPPER:
+      return c - 'A' + 'a';
+    default:
+      return c;
+    }
+}
 
+C_CTYPE_INLINE int
+c_toupper (int c)
+{
+  switch (c)
+    {
+    _C_CTYPE_LOWER:
+      return c - 'a' + 'A';
+    default:
+      return c;
+    }
+}
 
 #ifdef __cplusplus
 }
 #endif
 
+_GL_INLINE_HEADER_END
+
 #endif /* C_CTYPE_H */
diff --git a/lib/gl/c-strcase.h b/lib/gl/c-strcase.h
index 5292a0a..b8ad80f 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-2015 Free Software
+   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2016 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 afff3e5..b7abb8b 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2016 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 9bd6689..bdb9fe5 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2016 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 39f90d4..a5da1ee 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-2015 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2016 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 00c01fb..f7ed72d 100644
--- a/lib/gl/iconv.c
+++ b/lib/gl/iconv.c
@@ -1,5 +1,5 @@
 /* Character set conversion.
-   Copyright (C) 1999-2001, 2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 1999-2001, 2007, 2009-2016 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 564f591..2763bca 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 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 4e377fd..f86d495 100644
--- a/lib/gl/iconv_close.c
+++ b/lib/gl/iconv_close.c
@@ -1,5 +1,5 @@
 /* Character set conversion.
-   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 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 a7cf799..d6bec00 100644
--- a/lib/gl/iconv_open.c
+++ b/lib/gl/iconv_open.c
@@ -1,5 +1,5 @@
 /* Character set conversion.
-   Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 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 c7103ed..bb37e32 100644
--- a/lib/gl/m4/00gnulib.m4
+++ b/lib/gl/m4/00gnulib.m4
@@ -1,5 +1,5 @@
 # 00gnulib.m4 serial 3
-dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2016 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/absolute-header.m4 b/lib/gl/m4/absolute-header.m4
index bc19dfc..7ffc38d 100644
--- a/lib/gl/m4/absolute-header.m4
+++ b/lib/gl/m4/absolute-header.m4
@@ -1,5 +1,5 @@
 # absolute-header.m4 serial 16
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 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/alloca.m4 b/lib/gl/m4/alloca.m4
index 8408bed..2382ff1 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-2015 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2016 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 d7de8d6..bc98201 100644
--- a/lib/gl/m4/codeset.m4
+++ b/lib/gl/m4/codeset.m4
@@ -1,5 +1,6 @@
 # codeset.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016 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/lib/gl/m4/ctype.m4 b/lib/gl/m4/ctype.m4
new file mode 100644
index 0000000..a2165aa
--- /dev/null
+++ b/lib/gl/m4/ctype.m4
@@ -0,0 +1,32 @@
+# ctype_h.m4 serial 6
+dnl Copyright (C) 2009-2016 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_CTYPE_H],
+[
+  AC_REQUIRE([gl_CTYPE_H_DEFAULTS])
+
+  dnl <ctype.h> is always overridden, because of GNULIB_POSIXCHECK.
+  gl_NEXT_HEADERS([ctype.h])
+
+  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 <ctype.h>
+    ]], [isblank])
+])
+
+AC_DEFUN([gl_CTYPE_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_CTYPE_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+])
+
+AC_DEFUN([gl_CTYPE_H_DEFAULTS],
+[
+  GNULIB_ISBLANK=0; AC_SUBST([GNULIB_ISBLANK])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_ISBLANK=1;   AC_SUBST([HAVE_ISBLANK])
+])
diff --git a/lib/gl/m4/eealloc.m4 b/lib/gl/m4/eealloc.m4
index 322bdd5..63d74de 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2016 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 4dbf947..9a0ea7e 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2016 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 35bc49c..6d378ec 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2016 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 7280065..fe282a5 100644
--- a/lib/gl/m4/extern-inline.m4
+++ b/lib/gl/m4/extern-inline.m4
@@ -1,6 +1,6 @@
 dnl 'extern inline' a la ISO C99.
 
-dnl Copyright 2012-2015 Free Software Foundation, Inc.
+dnl Copyright 2012-2016 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/gnulib-cache.m4 b/lib/gl/m4/gnulib-cache.m4
index 1c59f8f..d85df7c 100644
--- a/lib/gl/m4/gnulib-cache.m4
+++ b/lib/gl/m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 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
@@ -27,7 +27,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --local-dir=lib/gl/override --lib=libgnu 
--source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc 
--tests-base=lib/gltests --aux-dir=build-aux --with-tests --avoid=iconv-h-tests 
--avoid=string-tests --avoid=wchar-tests --lgpl=2 --no-conditional-dependencies 
--libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat 
lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp 
unistr/u8-check
+#   gnulib-tool --import --local-dir=lib/gl/override --lib=libgnu 
--source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc 
--tests-base=lib/gltests --aux-dir=build-aux --with-tests --avoid=iconv-h-tests 
--avoid=string-tests --avoid=wchar-tests --lgpl=2 --no-conditional-dependencies 
--libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat 
lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp 
unistr/u8-check
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([lib/gl/override])
diff --git a/lib/gl/m4/gnulib-common.m4 b/lib/gl/m4/gnulib-common.m4
index 40e82f6..f8454c8 100644
--- a/lib/gl/m4/gnulib-common.m4
+++ b/lib/gl/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
 # gnulib-common.m4 serial 36
-dnl Copyright (C) 2007-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 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.
@@ -253,9 +253,10 @@ AC_DEFUN([gl_PROG_AR_RANLIB],
 [
   dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
   dnl as "cc", and GCC as "gcc". They have different object file formats and
-  dnl library formats. In particular, the GNU binutils programs ar, ranlib
+  dnl library formats. In particular, the GNU binutils programs ar and ranlib
   dnl produce libraries that work only with gcc, not with cc.
   AC_REQUIRE([AC_PROG_CC])
+  AC_BEFORE([$0], [AM_PROG_AR])
   AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler],
     [
       AC_EGREP_CPP([Amsterdam],
@@ -267,25 +268,37 @@ Amsterdam
         [gl_cv_c_amsterdam_compiler=yes],
         [gl_cv_c_amsterdam_compiler=no])
     ])
-  if test -z "$AR"; then
-    if test $gl_cv_c_amsterdam_compiler = yes; then
+
+  dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not
+  dnl building with __ACK__.
+  if test $gl_cv_c_amsterdam_compiler = yes; then
+    if test -z "$AR"; then
       AR='cc -c.a'
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='-o'
-      fi
-    else
-      dnl Use the Automake-documented default values for AR and ARFLAGS,
-      dnl but prefer ${host}-ar over ar (useful for cross-compiling).
-      AC_CHECK_TOOL([AR], [ar], [ar])
-      if test -z "$ARFLAGS"; then
-        ARFLAGS='cr'
-      fi
     fi
-  else
     if test -z "$ARFLAGS"; then
-      ARFLAGS='cr'
+      ARFLAGS='-o'
     fi
+  else
+    dnl AM_PROG_AR was added in automake v1.11.2.  AM_PROG_AR does not AC_SUBST
+    dnl ARFLAGS variable (it is filed into Makefile.in directly by automake
+    dnl script on-demand, if not specified by ./configure of course).
+    dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above
+    dnl will be ignored.  Also, pay attention to call AM_PROG_AR in else block
+    dnl because AM_PROG_AR is written so it could re-set AR variable even for
+    dnl __ACK__.  It may seem like its easier to avoid calling the macro here,
+    dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good
+    dnl default value and automake should usually know them).
+    m4_ifdef([AM_PROG_AR], [AM_PROG_AR], [:])
+  fi
+
+  dnl In case the code above has not helped with setting AR/ARFLAGS, use
+  dnl Automake-documented default values for AR and ARFLAGS, but prefer
+  dnl ${host}-ar over ar (useful for cross-compiling).
+  AC_CHECK_TOOL([AR], [ar], [ar])
+  if test -z "$ARFLAGS"; then
+    ARFLAGS='cr'
   fi
+
   AC_SUBST([AR])
   AC_SUBST([ARFLAGS])
   if test -z "$RANLIB"; then
diff --git a/lib/gl/m4/gnulib-comp.m4 b/lib/gl/m4/gnulib-comp.m4
index 715104c..2b9d3b5 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 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
@@ -37,7 +37,11 @@ AC_DEFUN([lgl_EARLY],
   m4_pattern_allow([^gl_ES$])dnl a valid locale name
   m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
   m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
+
+  # Pre-early section.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_PROG_AR_RANLIB])
+
   AC_REQUIRE([AM_PROG_CC_C_O])
   # Code from module absolute-header:
   # Code from module alloca-opt:
@@ -46,10 +50,11 @@ AC_DEFUN([lgl_EARLY],
   # Code from module c-ctype-tests:
   # Code from module c-strcase:
   # Code from module c-strcase-tests:
+  # Code from module ctype:
+  # Code from module ctype-tests:
   # Code from module environ:
   # Code from module environ-tests:
   # Code from module extensions:
-  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   # Code from module extern-inline:
   # Code from module gettext-h:
   # Code from module gperf:
@@ -239,6 +244,7 @@ changequote([, ])dnl
   gl_FUNC_ALLOCA
   gt_LOCALE_FR
   gt_LOCALE_TR_UTF8
+  gl_CTYPE_H
   gl_ENVIRON
   gl_UNISTD_MODULE_INDICATOR([environ])
   gl_INTTYPES_H
@@ -423,6 +429,7 @@ AC_DEFUN([lgl_FILE_LIST], [
   m4/absolute-header.m4
   m4/alloca.m4
   m4/codeset.m4
+  m4/ctype.m4
   m4/eealloc.m4
   m4/environ.m4
   m4/extensions.m4
@@ -485,6 +492,7 @@ AC_DEFUN([lgl_FILE_LIST], [
   tests/test-c-strcase.sh
   tests/test-c-strcasecmp.c
   tests/test-c-strncasecmp.c
+  tests/test-ctype.c
   tests/test-environ.c
   tests/test-iconv.c
   tests/test-init.sh
@@ -519,6 +527,7 @@ AC_DEFUN([lgl_FILE_LIST], [
   tests/unistr/test-u8-mbtoucr.c
   tests/unistr/test-u8-uctomb.c
   tests=lib/alloca.in.h
+  tests=lib/ctype.in.h
   tests=lib/glthread/lock.c
   tests=lib/glthread/lock.h
   tests=lib/glthread/thread.c
diff --git a/lib/gl/m4/gnulib-tool.m4 b/lib/gl/m4/gnulib-tool.m4
index fede1fc..0d2ee44 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2016 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 4e37363..aa159c5 100644
--- a/lib/gl/m4/iconv.m4
+++ b/lib/gl/m4/iconv.m4
@@ -1,5 +1,5 @@
 # iconv.m4 serial 19 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2007-2014, 2016 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 c6878fa..c95ecc2 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 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 177fccb..54e1dc8 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 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 233d254..db0f2c0 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 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/inline.m4 b/lib/gl/m4/inline.m4
index dc7063e..28fd2d0 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2016 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 8a045f6..aca924c 100644
--- a/lib/gl/m4/intlmacosx.m4
+++ b/lib/gl/m4/intlmacosx.m4
@@ -1,16 +1,16 @@
 # intlmacosx.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2004-2014 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2014, 2016 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
-dnl This file can can be used in projects which are not available under
+dnl This file can be used in projects which are not available under
 dnl the GNU General Public License or the GNU Library General Public
 dnl License but which still want to provide support for the GNU gettext
 dnl functionality.
 dnl Please note that the actual code of the GNU gettext library is covered
 dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
+dnl gettext package is covered by the GNU General Public License.
 dnl They are *not* in the public domain.
 
 dnl Checks for special options needed on Mac OS X.
diff --git a/lib/gl/m4/inttypes-pri.m4 b/lib/gl/m4/inttypes-pri.m4
index 0884e71..ae20183 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2002, 2006, 2008-2016 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 4209ffd..61cdb1a 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 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/langinfo_h.m4 b/lib/gl/m4/langinfo_h.m4
index c3ecba6..edbbe76 100644
--- a/lib/gl/m4/langinfo_h.m4
+++ b/lib/gl/m4/langinfo_h.m4
@@ -1,5 +1,5 @@
 # langinfo_h.m4 serial 7
-dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2016 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 7470ec5..1c24d6d 100644
--- a/lib/gl/m4/lcmessage.m4
+++ b/lib/gl/m4/lcmessage.m4
@@ -1,17 +1,17 @@
 # lcmessage.m4 serial 7 (gettext-0.18.2)
-dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014 Free Software Foundation,
-dnl Inc.
+dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014, 2016 Free Software
+dnl 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
-dnl This file can can be used in projects which are not available under
+dnl This file can be used in projects which are not available under
 dnl the GNU General Public License or the GNU Library General Public
 dnl License but which still want to provide support for the GNU gettext
 dnl functionality.
 dnl Please note that the actual code of the GNU gettext library is covered
 dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
+dnl gettext package is covered by the GNU General Public License.
 dnl They are *not* in the public domain.
 
 dnl Authors:
diff --git a/lib/gl/m4/ld-output-def.m4 b/lib/gl/m4/ld-output-def.m4
index c505ab2..040a04f 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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 211d67b..330c2cc 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 4
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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 91ca911..6209de6 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2003, 2009-2016 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 d8d5d1f..2f51855 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2016 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 0465f47..6851031 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2005, 2008-2016 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 cb8ae8a..f911216 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2016 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 92ff552..92896a0 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2016 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 a3abef8..f222a08 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2016 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 655c1ec..75aa295 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2016 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 c5c4ef6..2271f77 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2016 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 0d7bb34..563f8f8 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2016 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 2bdf31e..fc1d3ea 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2016 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 9fd4aa7..1e83e23 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2016 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 d57bc70..36d8b12 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 1999-2007, 2009-2016 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 31368ab..717e8ad 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2016 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 7248951..b368b20 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-2015 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2016 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 fc575c1..43b5d05 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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 0eb1467..282751b 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2016 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 73a5f46..c3c30d8 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2016 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 3aa38d8..5d49aba 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2016 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 6d153f9..a359069 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2016 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 25bd451..3e7b9e6 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2016 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/stdalign.m4 b/lib/gl/m4/stdalign.m4
index 033b0d3..49980cd 100644
--- a/lib/gl/m4/stdalign.m4
+++ b/lib/gl/m4/stdalign.m4
@@ -1,6 +1,6 @@
 # Check for stdalign.h that conforms to C11.
 
-dnl Copyright 2011-2015 Free Software Foundation, Inc.
+dnl Copyright 2011-2016 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 7273b82..625520f 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2016 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 2310502..c045c65 100644
--- a/lib/gl/m4/stddef_h.m4
+++ b/lib/gl/m4/stddef_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for <stddef.h>, for platforms that have issues.
 # stddef_h.m4 serial 5
-dnl Copyright (C) 2009-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2016 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 4011a49..0f40ce8 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2016 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 0b4c623..19107c4 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 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 55d09ef..0c5ec6f 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2016 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 c6c17d1..5524294 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2016 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 2232aec..b0aabb4 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2016 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 5945126..7a9d776 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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 8615ac9..b43534e 100644
--- a/lib/gl/m4/threadlib.m4
+++ b/lib/gl/m4/threadlib.m4
@@ -1,5 +1,5 @@
 # threadlib.m4 serial 11 (gettext-0.18.2)
-dnl Copyright (C) 2005-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2016 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 b3c581f..544dadb 100644
--- a/lib/gl/m4/unistd_h.m4
+++ b/lib/gl/m4/unistd_h.m4
@@ -1,5 +1,5 @@
 # unistd_h.m4 serial 68
-dnl Copyright (C) 2006-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2016 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 6fff745..e99e3fb 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2008, 2010-2016 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 1e98dc9..08440ec 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2016 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 9d1b0f8..b40b732 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2016 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 dc964e6..2db8c3f 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2016 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 ca3fd44..8ff2a5b 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2016 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 4f24582..07f5f11 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-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2016 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 2bd9ec0..25a76d3 100644
--- a/lib/gl/stdbool.in.h
+++ b/lib/gl/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2016 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 5398faf..edbf852 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 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 a422819..deb5591 100644
--- a/lib/gl/stdint.in.h
+++ b/lib/gl/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2016 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
diff --git a/lib/gl/striconv.c b/lib/gl/striconv.c
index 8e7aabb..e63ee6d 100644
--- a/lib/gl/striconv.c
+++ b/lib/gl/striconv.c
@@ -1,5 +1,5 @@
 /* Charset conversion.
-   Copyright (C) 2001-2007, 2010-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2007, 2010-2016 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 2ea220f..da4faf7 100644
--- a/lib/gl/striconv.h
+++ b/lib/gl/striconv.h
@@ -1,5 +1,5 @@
 /* Charset conversion.
-   Copyright (C) 2001-2004, 2006-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2004, 2006-2007, 2009-2016 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 47e1188..c6f610d 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2016 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 9e4f00d..f1e3594 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-2015 Free Software
+/* Compare strings while treating digits numerically.  -*- coding: utf-8 -*-
+   Copyright (C) 1997, 2000, 2002, 2004, 2006, 2009-2016 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/gl/sys_types.in.h b/lib/gl/sys_types.in.h
index 188b1d3..8a795e5 100644
--- a/lib/gl/sys_types.in.h
+++ b/lib/gl/sys_types.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 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/unistr.in.h b/lib/gl/unistr.in.h
index 89e9a56..8a0be4c 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2005-2016 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-check.c b/lib/gl/unistr/u8-check.c
index 0e87f11..abd749c 100644
--- a/lib/gl/unistr/u8-check.c
+++ b/lib/gl/unistr/u8-check.c
@@ -1,5 +1,5 @@
 /* Check UTF-8 string.
-   Copyright (C) 2002, 2006-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006-2007, 2009-2016 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-mbtoucr.c b/lib/gl/unistr/u8-mbtoucr.c
index b815927..46fa0c4 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2006-2007, 2009-2016 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 c9a32a6..8b47f98 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006-2007, 2009-2016 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 62c7189..9ea4aa8 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2016 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 21c0c3e..b44afbf 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2016 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 d6de4bc..6a04b70 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2002-2016 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
@@ -94,7 +94,6 @@ EXTRA_DIST += test-alloca-opt.c
 
 TESTS += test-c-ctype
 check_PROGRAMS += test-c-ctype
-
 EXTRA_DIST += test-c-ctype.c macros.h
 
 ## end   gnulib module c-ctype-tests
@@ -108,6 +107,41 @@ EXTRA_DIST += test-c-strcase.sh test-c-strcasecmp.c 
test-c-strncasecmp.c macros.
 
 ## end   gnulib module c-strcase-tests
 
+## begin gnulib module ctype
+
+BUILT_SOURCES += ctype.h
+
+# We need the following in order to create <ctype.h> when the system
+# doesn't have one that works with the given compiler.
+ctype.h: ctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H)
+       $(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_CTYPE_H''@|$(NEXT_CTYPE_H)|g' \
+             -e 's/@''GNULIB_ISBLANK''@/$(GNULIB_ISBLANK)/g' \
+             -e 's/@''HAVE_ISBLANK''@/$(HAVE_ISBLANK)/g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $(srcdir)/ctype.in.h; \
+       } > address@hidden && \
+       mv address@hidden $@
+MOSTLYCLEANFILES += ctype.h ctype.h-t
+
+EXTRA_DIST += ctype.in.h
+
+## end   gnulib module ctype
+
+## begin gnulib module ctype-tests
+
+TESTS += test-ctype
+check_PROGRAMS += test-ctype
+EXTRA_DIST += test-ctype.c
+
+## end   gnulib module ctype-tests
+
 ## begin gnulib module environ-tests
 
 TESTS += test-environ
diff --git a/lib/gltests/alloca.in.h b/lib/gltests/alloca.in.h
index 906fe92..d457ebb 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-2015 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2016 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/lib/gltests/ctype.in.h b/lib/gltests/ctype.in.h
new file mode 100644
index 0000000..217812d
--- /dev/null
+++ b/lib/gltests/ctype.in.h
@@ -0,0 +1,57 @@
+/* A substitute for ISO C99 <ctype.h>, for platforms on which it is incomplete.
+
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
+
+   This 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 Bruno Haible.  */
+
+/*
+ * ISO C 99 <ctype.h> for platforms on which it is incomplete.
+ * <http://www.opengroup.org/onlinepubs/9699919799/basedefs/ctype.h.html>
+ */
+
+#ifndef address@hidden@_CTYPE_H
+
+#if __GNUC__ >= 3
address@hidden@
+#endif
address@hidden@
+
+/* Include the original <ctype.h>.  */
+/* The include_next requires a split double-inclusion guard.  */
address@hidden@ @NEXT_CTYPE_H@
+
+#ifndef address@hidden@_CTYPE_H
+#define address@hidden@_CTYPE_H
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
+
+/* Return non-zero if c is a blank, i.e. a space or tab character.  */
+#if @GNULIB_ISBLANK@
+# if address@hidden@
+_GL_EXTERN_C int isblank (int c);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef isblank
+# if HAVE_RAW_DECL_ISBLANK
+_GL_WARN_ON_USE (isblank, "isblank is unportable - "
+                 "use gnulib module isblank for portability");
+# endif
+#endif
+
+#endif /* address@hidden@_CTYPE_H */
+#endif /* address@hidden@_CTYPE_H */
diff --git a/lib/gltests/glthread/lock.c b/lib/gltests/glthread/lock.c
index b64132a..935043b 100644
--- a/lib/gltests/glthread/lock.c
+++ b/lib/gltests/glthread/lock.c
@@ -1,5 +1,5 @@
 /* Locking in multithreaded situations.
-   Copyright (C) 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
    This 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 cf3d0d9..e64506b 100644
--- a/lib/gltests/glthread/lock.h
+++ b/lib/gltests/glthread/lock.h
@@ -1,5 +1,5 @@
 /* Locking in multithreaded situations.
-   Copyright (C) 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
    This 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 d3829ce..cbfcc91 100644
--- a/lib/gltests/glthread/thread.c
+++ b/lib/gltests/glthread/thread.c
@@ -1,5 +1,5 @@
 /* Creating and controlling threads.
-   Copyright (C) 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
    This 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 2817437..aa0b1ae 100644
--- a/lib/gltests/glthread/thread.h
+++ b/lib/gltests/glthread/thread.h
@@ -1,5 +1,5 @@
 /* Creating and controlling threads.
-   Copyright (C) 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
    This 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 f01d351..be63713 100644
--- a/lib/gltests/glthread/threadlib.c
+++ b/lib/gltests/glthread/threadlib.c
@@ -1,5 +1,5 @@
 /* Multithreading primitives.
-   Copyright (C) 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
    This 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 b18db5b..19224c6 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
    This 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 d366206..ee08022 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -327,7 +327,7 @@ elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < 
/dev/null`; then
       fi
     }
   fi
-elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
+elif cmp -s /dev/null /dev/null 2>/dev/null; then
   compare_ () { cmp -s "$@"; }
 else
   compare_ () { cmp "$@"; }
diff --git a/lib/gltests/intprops.h b/lib/gltests/intprops.h
index f85ccad..e1a6107 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2005, 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -22,8 +22,7 @@
 
 #include <limits.h>
 
-/* Return an integer value, converted to the same type as the integer
-   expression E after integer type promotion.  V is the unconverted value.  */
+/* Return a value with the common real type of E and V and the value of V.  */
 #define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
 
 /* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
@@ -48,12 +47,12 @@
 /* True if the signed integer expression E uses two's complement.  */
 #define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1)
 
-/* True if the arithmetic type T is signed.  */
+/* True if the real type T is signed.  */
 #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
 
-/* Return 1 if the integer expression E, after integer promotion, has
-   a signed type.  */
-#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
+/* Return 1 if the real expression E, after promotion, has a
+   signed or floating type.  */
+#define EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
 
 
 /* Minimum and maximum values for integer types and expressions.  These
@@ -76,11 +75,11 @@
 /* The maximum and minimum values for the type of the expression E,
    after integer promotion.  E should not have side effects.  */
 #define _GL_INT_MINIMUM(e)                                              \
-  (_GL_INT_SIGNED (e)                                                   \
+  (EXPR_SIGNED (e)                                                      \
    ? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e)         \
    : _GL_INT_CONVERT (e, 0))
 #define _GL_INT_MAXIMUM(e)                                              \
-  (_GL_INT_SIGNED (e)                                                   \
+  (EXPR_SIGNED (e)                                                      \
    ? _GL_SIGNED_INT_MAXIMUM (e)                                         \
    : _GL_INT_NEGATE_CONVERT (e, 1))
 #define _GL_SIGNED_INT_MAXIMUM(e)                                       \
@@ -263,22 +262,29 @@
     : (a) % - (b))                                                      \
    == 0)
 
-
-/* Integer overflow checks.
+/* Check for integer overflow, and report low order bits of answer.
 
    The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators
    might not yield numerically correct answers due to arithmetic overflow.
-   They work correctly on all known practical hosts, and do not rely
+   The INT_<op>_WRAPV macros also store the low-order bits of the answer.
+   These macros work correctly on all known practical hosts, and do not rely
    on undefined behavior due to signed arithmetic overflow.
 
-   Example usage:
+   Example usage, assuming A and B are long int:
 
-     long int i = ...;
-     long int j = ...;
-     if (INT_MULTIPLY_OVERFLOW (i, j))
-       printf ("multiply would overflow");
+     if (INT_MULTIPLY_OVERFLOW (a, b))
+       printf ("result would overflow\n");
      else
-       printf ("product is %ld", i * j);
+       printf ("result is %ld (no overflow)\n", a * b);
+
+   Example usage with WRAPV flavor:
+
+     long int result;
+     bool overflow = INT_MULTIPLY_WRAPV (a, b, &result);
+     printf ("result is %ld (%s)\n", result,
+             overflow ? "after overflow" : "no overflow");
+
+   Restrictions on these macros:
 
    These macros do not check for all possible numerical problems or
    undefined or unspecified behavior: they do not check for division
@@ -287,6 +293,9 @@
    These macros may evaluate their arguments zero or multiple times, so the
    arguments should not have side effects.
 
+   The WRAPV macros are not constant expressions.  They support only
+   +, binary -, and *.  The result type must be signed.
+
    These macros are tuned for their last argument being a constant.
 
    Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B,
@@ -317,4 +326,104 @@
                       _GL_INT_MINIMUM (0 * (b) + (a)),          \
                       _GL_INT_MAXIMUM (0 * (b) + (a)))
 
+/* Compute A + B, A - B, A * B, respectively, storing the result into *R.
+   Return 1 if the result overflows.  See above for restrictions.  */
+#define INT_ADD_WRAPV(a, b, r) \
+  _GL_INT_OP_WRAPV (a, b, r, +, __builtin_add_overflow, INT_ADD_OVERFLOW)
+#define INT_SUBTRACT_WRAPV(a, b, r) \
+  _GL_INT_OP_WRAPV (a, b, r, -, __builtin_sub_overflow, INT_SUBTRACT_OVERFLOW)
+#define INT_MULTIPLY_WRAPV(a, b, r) \
+  _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
+
+#ifndef __has_builtin
+# define __has_builtin(x) 0
+#endif
+
+/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390.  See:
+   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+   https://llvm.org/bugs/show_bug.cgi?id=25390
+   For now, assume all versions of GCC-like compilers generate bogus
+   warnings for _Generic.  This matters only for older compilers that
+   lack __builtin_add_overflow.  */
+#if __GNUC__
+# define _GL__GENERIC_BOGUS 1
+#else
+# define _GL__GENERIC_BOGUS 0
+#endif
+
+/* Store A <op> B into *R, where OP specifies the operation.
+   BUILTIN is the builtin operation, and OVERFLOW the overflow predicate.
+   See above for restrictions.  */
+#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
+#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+   (_Generic \
+    (*(r), \
+     signed char: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
+                        signed char, SCHAR_MIN, SCHAR_MAX), \
+     short int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
+                        short int, SHRT_MIN, SHRT_MAX), \
+     int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                        int, INT_MIN, INT_MAX), \
+     long int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                        long int, LONG_MIN, LONG_MAX), \
+     long long int: \
+       _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+                        long long int, LLONG_MIN, LLONG_MAX)))
+#else
+# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+   (sizeof *(r) == sizeof (signed char) \
+    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned char, \
+                       signed char, SCHAR_MIN, SCHAR_MAX) \
+    : sizeof *(r) == sizeof (short int) \
+    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned short int, \
+                       short int, SHRT_MIN, SHRT_MAX) \
+    : sizeof *(r) == sizeof (int) \
+    ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \
+                       int, INT_MIN, INT_MAX) \
+    : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
+# ifdef LLONG_MAX
+#  define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+    (sizeof *(r) == sizeof (long int) \
+     ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                        long int, LONG_MIN, LONG_MAX) \
+     : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
+                        long long int, LLONG_MIN, LLONG_MAX))
+# else
+#  define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+    _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+                     long int, LONG_MIN, LONG_MAX))
+# endif
+#endif
+
+/* Store the low-order bits of A <op> B into *R, where the operation
+   is given by OP.  Use the unsigned type UT for calculation to avoid
+   overflow problems.  *R's type is T, with extremal values TMIN and
+   TMAX.  T must be a signed integer type.  */
+#define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \
+  (sizeof ((a) op (b)) < sizeof (t) \
+   ? _GL_INT_OP_CALC1 ((t) (a), (t) (b), r, op, overflow, ut, t, tmin, tmax) \
+   : _GL_INT_OP_CALC1 (a, b, r, op, overflow, ut, t, tmin, tmax))
+#define _GL_INT_OP_CALC1(a, b, r, op, overflow, ut, t, tmin, tmax) \
+  ((overflow (a, b) \
+    || (EXPR_SIGNED ((a) op (b)) && ((a) op (b)) < (tmin)) \
+    || (tmax) < ((a) op (b))) \
+   ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 1) \
+   : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t, tmin, tmax), 0))
+
+/* Return A <op> B, where the operation is given by OP.  Use the
+   unsigned type UT for calculation to avoid overflow problems.
+   Convert the result to type T without overflow by subtracting TMIN
+   from large values before converting, and adding it afterwards.
+   Compilers can optimize all the operations except OP.  */
+#define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t, tmin, tmax) \
+  (((ut) (a) op (ut) (b)) <= (tmax) \
+   ? (t) ((ut) (a) op (ut) (b)) \
+   : ((t) (((ut) (a) op (ut) (b)) - (tmin)) + (tmin)))
+
 #endif /* _GL_INTPROPS_H */
diff --git a/lib/gltests/inttypes.in.h b/lib/gltests/inttypes.in.h
index 78846f6..ed09db6 100644
--- a/lib/gltests/inttypes.in.h
+++ b/lib/gltests/inttypes.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2016 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
diff --git a/lib/gltests/langinfo.in.h b/lib/gltests/langinfo.in.h
index 04fd535..e11617c 100644
--- a/lib/gltests/langinfo.in.h
+++ b/lib/gltests/langinfo.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <langinfo.h>.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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/locale.in.h b/lib/gltests/locale.in.h
index 05e974d..4083507 100644
--- a/lib/gltests/locale.in.h
+++ b/lib/gltests/locale.in.h
@@ -1,5 +1,5 @@
 /* A POSIX <locale.h>.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 3932e4a..e67bd01 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1995-2016 Free Software Foundation, Inc.
 
    This 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,9 @@
 # if defined __APPLE__ && defined __MACH__
 #  include <xlocale.h>
 # endif
-# include <langinfo.h>
+# if __GLIBC__ >= 2 && !defined __UCLIBC__
+#  include <langinfo.h>
+# endif
 # if !defined IN_LIBINTL
 #  include "glthread/lock.h"
 # endif
diff --git a/lib/gltests/localename.h b/lib/gltests/localename.h
index 13c126d..17f0d85 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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/macros.h b/lib/gltests/macros.h
index b6fdd1c..578bfe7 100644
--- a/lib/gltests/macros.h
+++ b/lib/gltests/macros.h
@@ -1,5 +1,5 @@
 /* Common macros used by gnulib tests.
-   Copyright (C) 2006-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
    This 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 00800a2..e9b01d2 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 198a96c..a613277 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2016 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 7a4190c..fa27a9e 100644
--- a/lib/gltests/malloca.h
+++ b/lib/gltests/malloca.h
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2016 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 925bb2f..e67712d 100644
--- a/lib/gltests/putenv.c
+++ b/lib/gltests/putenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2015 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2016 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 6b16fd5..85c32cb 100644
--- a/lib/gltests/setenv.c
+++ b/lib/gltests/setenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2003, 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2003, 2005-2016 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 a7a1233..8b3ebb3 100644
--- a/lib/gltests/setlocale.c
+++ b/lib/gltests/setlocale.c
@@ -1,5 +1,5 @@
-/* Set the current locale.
-   Copyright (C) 2009, 2011-2015 Free Software Foundation, Inc.
+/* Set the current locale.  -*- coding: utf-8 -*-
+   Copyright (C) 2009, 2011-2016 Free Software Foundation, Inc.
 
    This 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 0a6cf91..2df8067 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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/stdalign.in.h b/lib/gltests/stdalign.in.h
index a990050..9abb9aa 100644
--- a/lib/gltests/stdalign.in.h
+++ b/lib/gltests/stdalign.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C11 <stdalign.h>.
 
-   Copyright 2011-2015 Free Software Foundation, Inc.
+   Copyright 2011-2016 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -52,7 +52,10 @@
 #undef _Alignas
 #undef _Alignof
 
-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+/* GCC releases before GCC 4.9 had a bug in _Alignof.  See GCC bug 52023
+   <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.  */
+#if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
+     || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9)))
 # ifdef __cplusplus
 #  if 201103 <= __cplusplus
 #   define _Alignof(type) alignof (type)
@@ -64,7 +67,9 @@
 #  define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
 # endif
 #endif
-#define alignof _Alignof
+#if ! (defined __cplusplus && 201103 <= __cplusplus)
+# define alignof _Alignof
+#endif
 #define __alignof_is_defined 1
 
 /* alignas (A), also known as _Alignas (A), aligns a variable or type
@@ -99,14 +104,17 @@
          ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__)                 \
          : __GNUC__)                                            \
         || __HP_cc || __HP_aCC || __IBMC__ || __IBMCPP__        \
-        || __ICC || 0x5110 <= __SUNPRO_C)
+        || __ICC || 0x590 <= __SUNPRO_C)
 #  define _Alignas(a) __attribute__ ((__aligned__ (a)))
 # elif 1300 <= _MSC_VER
 #  define _Alignas(a) __declspec (align (a))
 # endif
 #endif
-#if defined _Alignas || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__)
+#if ((defined _Alignas && ! (defined __cplusplus && 201103 <= __cplusplus)) \
+     || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__))
 # define alignas _Alignas
+#endif
+#if defined alignas || (defined __cplusplus && 201103 <= __cplusplus)
 # define __alignas_is_defined 1
 #endif
 
diff --git a/lib/gltests/stdlib.in.h b/lib/gltests/stdlib.in.h
index 428a119..70dc88d 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2016 Free Software Foundation, Inc.
 
    This 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 c189cc6..b9aaa4a 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 81fe936..184cdec 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -20,59 +20,79 @@
 
 #include "c-ctype.h"
 
+#include <ctype.h>
+#include <limits.h>
 #include <locale.h>
 
 #include "macros.h"
 
 static void
-test_all (void)
+test_agree_with_C_locale (void)
 {
   int c;
 
-  for (c = -0x80; c < 0x100; c++)
+  for (c = 0; c <= UCHAR_MAX; c++)
     {
-      ASSERT (c_isascii (c) == (c >= 0 && c < 0x80));
-
-      switch (c)
+      ASSERT (c_isascii (c) == (isascii (c) != 0));
+      if (c_isascii (c))
         {
-        case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-        case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-        case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-        case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-        case 'Y': case 'Z':
-        case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-        case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-        case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-        case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-        case 'y': case 'z':
-        case '0': case '1': case '2': case '3': case '4': case '5':
-        case '6': case '7': case '8': case '9':
-          ASSERT (c_isalnum (c) == 1);
-          break;
-        default:
-          ASSERT (c_isalnum (c) == 0);
-          break;
+          ASSERT (c_isalnum (c) == (isalnum (c) != 0));
+          ASSERT (c_isalpha (c) == (isalpha (c) != 0));
+          ASSERT (c_isblank (c) == (isblank (c) != 0));
+          ASSERT (c_iscntrl (c) == (iscntrl (c) != 0));
+          ASSERT (c_isdigit (c) == (isdigit (c) != 0));
+          ASSERT (c_islower (c) == (islower (c) != 0));
+          ASSERT (c_isgraph (c) == (isgraph (c) != 0));
+          ASSERT (c_isprint (c) == (isprint (c) != 0));
+          ASSERT (c_ispunct (c) == (ispunct (c) != 0));
+          ASSERT (c_isspace (c) == (isspace (c) != 0));
+          ASSERT (c_isupper (c) == (isupper (c) != 0));
+          ASSERT (c_isxdigit (c) == (isxdigit (c) != 0));
+          ASSERT (c_tolower (c) == tolower (c));
+          ASSERT (c_toupper (c) == toupper (c));
         }
+    }
+}
 
-      switch (c)
+static void
+test_all (void)
+{
+  int c;
+  int n_isascii = 0;
+
+  for (c = CHAR_MIN; c <= UCHAR_MAX; c++)
+    {
+      if (! (0 <= c && c <= CHAR_MAX))
         {
-        case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-        case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
-        case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
-        case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
-        case 'Y': case 'Z':
-        case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-        case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
-        case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
-        case 's': case 't': case 'u': case 'v': case 'w': case 'x':
-        case 'y': case 'z':
-          ASSERT (c_isalpha (c) == 1);
-          break;
-        default:
-          ASSERT (c_isalpha (c) == 0);
-          break;
+          ASSERT (! c_isascii (c));
+          ASSERT (! c_isalnum (c));
+          ASSERT (! c_isalpha (c));
+          ASSERT (! c_isblank (c));
+          ASSERT (! c_iscntrl (c));
+          ASSERT (! c_isdigit (c));
+          ASSERT (! c_islower (c));
+          ASSERT (! c_isgraph (c));
+          ASSERT (! c_isprint (c));
+          ASSERT (! c_ispunct (c));
+          ASSERT (! c_isspace (c));
+          ASSERT (! c_isupper (c));
+          ASSERT (! c_isxdigit (c));
+          ASSERT (c_tolower (c) == c);
+          ASSERT (c_toupper (c) == c);
         }
 
+      n_isascii += c_isascii (c);
+
+#ifdef C_CTYPE_ASCII
+      ASSERT (c_isascii (c) == (0 <= c && c <= 0x7f));
+#endif
+
+      ASSERT (c_isascii (c) == (c_isprint (c) || c_iscntrl (c)));
+
+      ASSERT (c_isalnum (c) == (c_isalpha (c) || c_isdigit (c)));
+
+      ASSERT (c_isalpha (c) == (c_islower (c) || c_isupper (c)));
+
       switch (c)
         {
         case '\t': case ' ':
@@ -83,7 +103,19 @@ test_all (void)
           break;
         }
 
+#ifdef C_CTYPE_ASCII
       ASSERT (c_iscntrl (c) == ((c >= 0 && c < 0x20) || c == 0x7f));
+#endif
+
+      switch (c)
+        {
+        case '\a': case '\b': case '\f': case '\n':
+        case '\r': case '\t': case '\v':
+          ASSERT (c_iscntrl (c));
+          break;
+        }
+
+      ASSERT (! (c_iscntrl (c) && c_isprint (c)));
 
       switch (c)
         {
@@ -104,17 +136,37 @@ test_all (void)
         case 's': case 't': case 'u': case 'v': case 'w': case 'x':
         case 'y': case 'z':
           ASSERT (c_islower (c) == 1);
+          ASSERT (c_toupper (c) == c - 'a' + 'A');
           break;
         default:
           ASSERT (c_islower (c) == 0);
+          ASSERT (c_toupper (c) == c);
           break;
         }
 
+#ifdef C_CTYPE_ASCII
       ASSERT (c_isgraph (c) == ((c >= 0x20 && c < 0x7f) && c != ' '));
 
       ASSERT (c_isprint (c) == (c >= 0x20 && c < 0x7f));
+#endif
+
+      ASSERT (c_isgraph (c) == (c_isalnum (c) || c_ispunct (c)));
+
+      ASSERT (c_isprint (c) == (c_isgraph (c) || c == ' '));
 
-      ASSERT (c_ispunct (c) == (c_isgraph (c) && !c_isalnum (c)));
+      switch (c)
+        {
+        case '!': case '"': case '#': case '$': case '%': case '&': case '\'':
+        case '(': case ')': case '*': case '+': case ',': case '-': case '.':
+        case '/': case ':': case ';': case '<': case '=': case '>': case '?':
+        case '@': case '[': case'\\': case ']': case '^': case '_': case '`':
+        case '{': case '|': case '}': case '~':
+          ASSERT (c_ispunct (c) == 1);
+          break;
+        default:
+          ASSERT (c_ispunct (c) == 0);
+          break;
+        }
 
       switch (c)
         {
@@ -134,9 +186,11 @@ test_all (void)
         case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
         case 'Y': case 'Z':
           ASSERT (c_isupper (c) == 1);
+          ASSERT (c_tolower (c) == c - 'A' + 'a');
           break;
         default:
           ASSERT (c_isupper (c) == 0);
+          ASSERT (c_tolower (c) == c);
           break;
         }
 
@@ -152,228 +206,16 @@ test_all (void)
           ASSERT (c_isxdigit (c) == 0);
           break;
         }
-
-      switch (c)
-        {
-        case 'A':
-          ASSERT (c_tolower (c) == 'a');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'B':
-          ASSERT (c_tolower (c) == 'b');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'C':
-          ASSERT (c_tolower (c) == 'c');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'D':
-          ASSERT (c_tolower (c) == 'd');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'E':
-          ASSERT (c_tolower (c) == 'e');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'F':
-          ASSERT (c_tolower (c) == 'f');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'G':
-          ASSERT (c_tolower (c) == 'g');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'H':
-          ASSERT (c_tolower (c) == 'h');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'I':
-          ASSERT (c_tolower (c) == 'i');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'J':
-          ASSERT (c_tolower (c) == 'j');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'K':
-          ASSERT (c_tolower (c) == 'k');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'L':
-          ASSERT (c_tolower (c) == 'l');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'M':
-          ASSERT (c_tolower (c) == 'm');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'N':
-          ASSERT (c_tolower (c) == 'n');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'O':
-          ASSERT (c_tolower (c) == 'o');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'P':
-          ASSERT (c_tolower (c) == 'p');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'Q':
-          ASSERT (c_tolower (c) == 'q');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'R':
-          ASSERT (c_tolower (c) == 'r');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'S':
-          ASSERT (c_tolower (c) == 's');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'T':
-          ASSERT (c_tolower (c) == 't');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'U':
-          ASSERT (c_tolower (c) == 'u');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'V':
-          ASSERT (c_tolower (c) == 'v');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'W':
-          ASSERT (c_tolower (c) == 'w');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'X':
-          ASSERT (c_tolower (c) == 'x');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'Y':
-          ASSERT (c_tolower (c) == 'y');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'Z':
-          ASSERT (c_tolower (c) == 'z');
-          ASSERT (c_toupper (c) == c);
-          break;
-        case 'a':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'A');
-          break;
-        case 'b':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'B');
-          break;
-        case 'c':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'C');
-          break;
-        case 'd':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'D');
-          break;
-        case 'e':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'E');
-          break;
-        case 'f':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'F');
-          break;
-        case 'g':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'G');
-          break;
-        case 'h':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'H');
-          break;
-        case 'i':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'I');
-          break;
-        case 'j':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'J');
-          break;
-        case 'k':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'K');
-          break;
-        case 'l':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'L');
-          break;
-        case 'm':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'M');
-          break;
-        case 'n':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'N');
-          break;
-        case 'o':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'O');
-          break;
-        case 'p':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'P');
-          break;
-        case 'q':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'Q');
-          break;
-        case 'r':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'R');
-          break;
-        case 's':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'S');
-          break;
-        case 't':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'T');
-          break;
-        case 'u':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'U');
-          break;
-        case 'v':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'V');
-          break;
-        case 'w':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'W');
-          break;
-        case 'x':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'X');
-          break;
-        case 'y':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'Y');
-          break;
-        case 'z':
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == 'Z');
-          break;
-        default:
-          ASSERT (c_tolower (c) == c);
-          ASSERT (c_toupper (c) == c);
-          break;
-        }
     }
+
+  ASSERT (n_isascii == 128);
 }
 
 int
 main ()
 {
+  test_agree_with_C_locale ();
+
   test_all ();
 
   setlocale (LC_ALL, "de_DE");
diff --git a/lib/gltests/test-c-strcasecmp.c b/lib/gltests/test-c-strcasecmp.c
index f7f6b43..37f9431 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 4027b5b..1ca42d8 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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-pathmax.c b/lib/gltests/test-ctype.c
similarity index 73%
copy from gltests/test-pathmax.c
copy to lib/gltests/test-ctype.c
index 14eb1ee..570fbdb 100644
--- a/gltests/test-pathmax.c
+++ b/lib/gltests/test-ctype.c
@@ -1,5 +1,5 @@
-/* Test of "pathmax.h".
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+/* Test of <ctype.h> substitute.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -14,16 +14,11 @@
    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.  */
+/* Written by Eric Blake <address@hidden>, 2009.  */
 
 #include <config.h>
 
-#include "pathmax.h"
-
-/* Check that PATH_MAX is a constant if it is defined.  */
-#ifdef PATH_MAX
-int a = PATH_MAX;
-#endif
+#include <ctype.h>
 
 int
 main (void)
diff --git a/lib/gltests/test-environ.c b/lib/gltests/test-environ.c
index e4616da..0047246 100644
--- a/lib/gltests/test-environ.c
+++ b/lib/gltests/test-environ.c
@@ -1,5 +1,5 @@
 /* Test of environ variable.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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 ed715bd..3e4c4ff 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 0875a75..1dd05f4 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-2015 Free Software Foundation, Inc.
+# Copyright (C) 2011-2016 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 06df5a7..174ddec 100644
--- a/lib/gltests/test-intprops.c
+++ b/lib/gltests/test-intprops.c
@@ -1,5 +1,5 @@
 /* Test intprops.h.
-   Copyright (C) 2011-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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,10 +16,19 @@
 
 /* Written by Paul Eggert.  */
 
-/* Tell gcc not to warn about the many (X < 0) expressions that
-   the overflow macros expand to.  */
-#if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
+/* Tell gcc not to warn about the long expressions that the overflow
+   macros expand to, or about the (X < 0) expressions.  */
+#if 4 < __GNUC__ + (3 <= __GNUC_MINOR__)
+# pragma GCC diagnostic ignored "-Woverlength-strings"
 # pragma GCC diagnostic ignored "-Wtype-limits"
+
+/* Work around a bug in GCC 5.3.1 and earlier; see:
+   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68971
+   Hope it will be fixed by the time GCC 6 comes out.  */
+# if __GNUC__ < 6
+#  pragma GCC diagnostic ignored "-Woverflow"
+# endif
+
 #endif
 
 #include <config.h>
@@ -29,6 +38,7 @@
 
 #include <stdbool.h>
 #include <inttypes.h>
+#include <limits.h>
 
 #include "macros.h"
 
@@ -43,6 +53,8 @@
 # define VERIFY(x) ASSERT (x)
 #endif
 
+#define DONTCARE __LINE__
+
 int
 main (void)
 {
@@ -128,148 +140,244 @@ main (void)
   #endif
 
   /* All the INT_<op>_RANGE_OVERFLOW tests are equally valid as
-     INT_<op>_OVERFLOW tests, so define a single macro to do both.  */
-  #define CHECK_BINOP(op, a, b, min, max, overflow)                      \
-    (INT_##op##_RANGE_OVERFLOW (a, b, min, max) == (overflow)            \
-     && INT_##op##_OVERFLOW (a, b) == (overflow))
-  #define CHECK_UNOP(op, a, min, max, overflow)                          \
-    (INT_##op##_RANGE_OVERFLOW (a, min, max) == (overflow)               \
-     && INT_##op##_OVERFLOW (a) == (overflow))
+     INT_<op>_OVERFLOW tests, so define macros to do both.  OP is the
+     operation, OPNAME its symbolic name, A and B its operands, T the
+     result type, V the overflow flag, and VRES the result if V and if
+     two's complement.  CHECK_BINOP is for most binary operatinos,
+     CHECK_SBINOP for binary +, -, * when the result type is signed,
+     and CHECK_UNOP for unary operations.  */
+  #define CHECK_BINOP(op, opname, a, b, t, v, vres)                       \
+    VERIFY (INT_##opname##_RANGE_OVERFLOW (a, b, TYPE_MINIMUM (t),        \
+                                           TYPE_MAXIMUM (t))              \
+            == (v));                                                      \
+    VERIFY (INT_##opname##_OVERFLOW (a, b) == (v))
+  #define CHECK_SBINOP(op, opname, a, b, t, v, vres)                      \
+    CHECK_BINOP(op, opname, a, b, t, v, vres);                            \
+    {                                                                     \
+      t result;                                                           \
+      ASSERT (INT_##opname##_WRAPV (a, b, &result) == (v));               \
+      ASSERT (result == ((v) ? (vres) : ((a) op (b)))                     \
+              || ((v) && !TYPE_TWOS_COMPLEMENT (t)));                     \
+    }
+  #define CHECK_UNOP(op, opname, a, t, v)                                 \
+    VERIFY (INT_##opname##_RANGE_OVERFLOW (a, TYPE_MINIMUM (t),           \
+                                           TYPE_MAXIMUM (t))              \
+            == (v));                                                      \
+    VERIFY (INT_##opname##_OVERFLOW (a) == (v))
 
   /* INT_<op>_RANGE_OVERFLOW, INT_<op>_OVERFLOW.  */
   VERIFY (INT_ADD_RANGE_OVERFLOW (INT_MAX, 1, INT_MIN, INT_MAX));
   VERIFY (INT_ADD_OVERFLOW (INT_MAX, 1));
-  VERIFY (CHECK_BINOP (ADD, INT_MAX, 1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, INT_MAX, -1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (ADD, INT_MIN, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (ADD, INT_MIN, -1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, UINT_MAX, 1u, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (ADD, 0u, 1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, -1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, 1, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, -1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, UINT_MAX, 1u, 0u, UINT_MAX, false));
-  VERIFY (CHECK_BINOP (SUBTRACT, 0u, 1u, 0u, UINT_MAX, true));
-
-  VERIFY (CHECK_UNOP (NEGATE, INT_MIN, INT_MIN, INT_MAX,
-                      TYPE_TWOS_COMPLEMENT (int)));
-  VERIFY (CHECK_UNOP (NEGATE, 0, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, INT_MAX, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, 0u, 0u, UINT_MAX, false));
-  VERIFY (CHECK_UNOP (NEGATE, 1u, 0u, UINT_MAX, true));
-  VERIFY (CHECK_UNOP (NEGATE, UINT_MAX, 0u, UINT_MAX, true));
-
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MAX, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MIN, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MAX, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MIN, INT_MIN, INT_MAX, true));
-  VERIFY (CHECK_BINOP (MULTIPLY, -1, INT_MIN, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
-                       LONG_MIN, LONG_MIN, false));
-
-  VERIFY (CHECK_BINOP (DIVIDE, INT_MIN, -1, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (DIVIDE, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (DIVIDE, (unsigned int) INT_MIN,
-                       -1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (REMAINDER, INT_MIN, -1, INT_MIN, INT_MAX,
-                       INT_NEGATE_OVERFLOW (INT_MIN)));
-  VERIFY (CHECK_BINOP (REMAINDER, INT_MAX, 1, INT_MIN, INT_MAX, false));
-  VERIFY (CHECK_BINOP (REMAINDER, (unsigned int) INT_MIN,
-                       -1u, 0u, UINT_MAX, false));
-
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX, 1, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2 + 1, 1, 0u, UINT_MAX, true));
-  VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2, 1, 0u, UINT_MAX, false));
-
-  /* INT_<op>_OVERFLOW with mixed types.  */
-  #define CHECK_SUM(a, b, overflow)                       \
-    VERIFY (INT_ADD_OVERFLOW (a, b) == (overflow));       \
-    VERIFY (INT_ADD_OVERFLOW (b, a) == (overflow))
-  CHECK_SUM (-1, LONG_MIN, true);
-  CHECK_SUM (-1, UINT_MAX, false);
-  CHECK_SUM (-1L, INT_MIN, INT_MIN == LONG_MIN);
-  CHECK_SUM (0u, -1, true);
-  CHECK_SUM (0u, 0, false);
-  CHECK_SUM (0u, 1, false);
-  CHECK_SUM (1, LONG_MAX, true);
-  CHECK_SUM (1, UINT_MAX, true);
-  CHECK_SUM (1L, INT_MAX, INT_MAX == LONG_MAX);
-  CHECK_SUM (1u, INT_MAX, INT_MAX == UINT_MAX);
-  CHECK_SUM (1u, INT_MIN, true);
-
-  VERIFY (! INT_SUBTRACT_OVERFLOW (INT_MAX, 1u));
-  VERIFY (! INT_SUBTRACT_OVERFLOW (UINT_MAX, 1));
-  VERIFY (! INT_SUBTRACT_OVERFLOW (0u, -1));
-  VERIFY (INT_SUBTRACT_OVERFLOW (UINT_MAX, -1));
-  VERIFY (INT_SUBTRACT_OVERFLOW (INT_MIN, 1u));
-  VERIFY (INT_SUBTRACT_OVERFLOW (-1, 0u));
-
-  #define CHECK_PRODUCT(a, b, overflow)                   \
-    VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (overflow));   \
-    VERIFY (INT_MULTIPLY_OVERFLOW (b, a) == (overflow))
-
-  CHECK_PRODUCT (-1, 1u, true);
-  CHECK_PRODUCT (-1, INT_MIN, INT_NEGATE_OVERFLOW (INT_MIN));
-  CHECK_PRODUCT (-1, UINT_MAX, true);
-  CHECK_PRODUCT (-12345, LONG_MAX / -12345 - 1, true);
-  CHECK_PRODUCT (-12345, LONG_MAX / -12345, false);
-  CHECK_PRODUCT (0, -1, false);
-  CHECK_PRODUCT (0, 0, false);
-  CHECK_PRODUCT (0, 0u, false);
-  CHECK_PRODUCT (0, 1, false);
-  CHECK_PRODUCT (0, INT_MAX, false);
-  CHECK_PRODUCT (0, INT_MIN, false);
-  CHECK_PRODUCT (0, UINT_MAX, false);
-  CHECK_PRODUCT (0u, -1, false);
-  CHECK_PRODUCT (0u, 0, false);
-  CHECK_PRODUCT (0u, 0u, false);
-  CHECK_PRODUCT (0u, 1, false);
-  CHECK_PRODUCT (0u, INT_MAX, false);
-  CHECK_PRODUCT (0u, INT_MIN, false);
-  CHECK_PRODUCT (0u, UINT_MAX, false);
-  CHECK_PRODUCT (1, INT_MAX, false);
-  CHECK_PRODUCT (1, INT_MIN, false);
-  CHECK_PRODUCT (1, UINT_MAX, false);
-  CHECK_PRODUCT (1u, INT_MIN, true);
-  CHECK_PRODUCT (1u, INT_MAX, UINT_MAX < INT_MAX);
-  CHECK_PRODUCT (INT_MAX, UINT_MAX, true);
-  CHECK_PRODUCT (INT_MAX, ULONG_MAX, true);
-  CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, true);
-  CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN, false);
-  CHECK_PRODUCT (INT_MIN, UINT_MAX, true);
-  CHECK_PRODUCT (INT_MIN, ULONG_MAX, true);
-
-  VERIFY (INT_DIVIDE_OVERFLOW (INT_MIN, -1L)
-          == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INT_MIN, UINT_MAX));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINTMAX_MAX));
-  VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINT_MAX));
-  VERIFY (INT_DIVIDE_OVERFLOW (-11, 10u));
-  VERIFY (INT_DIVIDE_OVERFLOW (-10, 10u));
-  VERIFY (! INT_DIVIDE_OVERFLOW (-9, 10u));
-  VERIFY (INT_DIVIDE_OVERFLOW (11u, -10));
-  VERIFY (INT_DIVIDE_OVERFLOW (10u, -10));
-  VERIFY (! INT_DIVIDE_OVERFLOW (9u, -10));
-
-  VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, -1L)
-          == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
-  VERIFY (INT_REMAINDER_OVERFLOW (-1, UINT_MAX));
-  VERIFY (INT_REMAINDER_OVERFLOW ((intmax_t) -1, UINTMAX_MAX));
-  VERIFY (INT_REMAINDER_OVERFLOW (INTMAX_MIN, UINT_MAX)
-          == (INTMAX_MAX < UINT_MAX
-              && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
-  VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, ULONG_MAX)
-          == (INT_MIN % ULONG_MAX != 1));
-  VERIFY (! INT_REMAINDER_OVERFLOW (1u, -1));
-  VERIFY (! INT_REMAINDER_OVERFLOW (37*39u, -39));
-  VERIFY (INT_REMAINDER_OVERFLOW (37*39u + 1, -39));
-  VERIFY (INT_REMAINDER_OVERFLOW (37*39u - 1, -39));
-  VERIFY (! INT_REMAINDER_OVERFLOW (LONG_MAX, -INT_MAX));
+
+  CHECK_SBINOP (+, ADD, INT_MAX, 1, int, true, INT_MIN);
+  CHECK_SBINOP (+, ADD, INT_MAX, -1, int, false, INT_MAX - 1);
+  CHECK_SBINOP (+, ADD, INT_MIN, 1, int, false, INT_MIN + 1);
+  CHECK_SBINOP (+, ADD, INT_MIN, -1, int, true, INT_MAX);
+  CHECK_BINOP (+, ADD, UINT_MAX, 1u, unsigned int, true, 0u);
+  CHECK_BINOP (+, ADD, 0u, 1u, unsigned int, false, 1u);
+
+  CHECK_SBINOP (-, SUBTRACT, INT_MAX, 1, int, false, INT_MAX - 1);
+  CHECK_SBINOP (-, SUBTRACT, INT_MAX, -1, int, true, INT_MIN);
+  CHECK_SBINOP (-, SUBTRACT, INT_MIN, 1, int, true, INT_MAX);
+  CHECK_SBINOP (-, SUBTRACT, INT_MIN, -1, int, false, INT_MIN - -1);
+  CHECK_BINOP (-, SUBTRACT, UINT_MAX, 1u, unsigned int, false, UINT_MAX - 1u);
+  CHECK_BINOP (-, SUBTRACT, 0u, 1u, unsigned int, true, 0u - 1u);
+
+  CHECK_UNOP (-, NEGATE, INT_MIN, int, TYPE_TWOS_COMPLEMENT (int));
+  CHECK_UNOP (-, NEGATE, 0, int, false);
+  CHECK_UNOP (-, NEGATE, INT_MAX, int, false);
+  CHECK_UNOP (-, NEGATE, 0u, unsigned int, false);
+  CHECK_UNOP (-, NEGATE, 1u, unsigned int, true);
+  CHECK_UNOP (-, NEGATE, UINT_MAX, unsigned int, true);
+
+  CHECK_SBINOP (*, MULTIPLY, INT_MAX, INT_MAX, int, true, 1);
+  CHECK_SBINOP (*, MULTIPLY, INT_MAX, INT_MIN, int, true, INT_MIN);
+  CHECK_SBINOP (*, MULTIPLY, INT_MIN, INT_MAX, int, true, INT_MIN);
+  CHECK_SBINOP (*, MULTIPLY, INT_MIN, INT_MIN, int, true, 0);
+  CHECK_SBINOP (*, MULTIPLY, -1, INT_MIN, int,
+                INT_NEGATE_OVERFLOW (INT_MIN), INT_MIN);
+  CHECK_SBINOP (*, MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
+                long int, false, LONG_MIN - LONG_MIN % INT_MAX);
+
+  CHECK_BINOP (/, DIVIDE, INT_MIN, -1, int,
+               INT_NEGATE_OVERFLOW (INT_MIN), INT_MIN);
+  CHECK_BINOP (/, DIVIDE, INT_MAX, 1, int, false, INT_MAX);
+  CHECK_BINOP (/, DIVIDE, (unsigned int) INT_MIN, -1u, unsigned int,
+               false, INT_MIN / -1u);
+
+  CHECK_BINOP (%, REMAINDER, INT_MIN, -1, int, INT_NEGATE_OVERFLOW (INT_MIN), 
0);
+  CHECK_BINOP (%, REMAINDER, INT_MAX, 1, int, false, 0);
+  CHECK_BINOP (%, REMAINDER, (unsigned int) INT_MIN, -1u, unsigned int,
+               false, INT_MIN % -1u);
+
+  CHECK_BINOP (<<, LEFT_SHIFT, UINT_MAX, 1, unsigned int, true, UINT_MAX << 1);
+  CHECK_BINOP (<<, LEFT_SHIFT, UINT_MAX / 2 + 1, 1, unsigned int, true,
+               (UINT_MAX / 2 + 1) << 1);
+  CHECK_BINOP (<<, LEFT_SHIFT, UINT_MAX / 2, 1, unsigned int, false,
+               (UINT_MAX / 2) << 1);
+
+  /* INT_<op>_OVERFLOW and INT_<op>_WRAPV with mixed types.  */
+  #define CHECK_SUM(a, b, t, v, vres)                                     \
+    CHECK_SUM1(a, b, t, v, vres);                                         \
+    CHECK_SUM1(b, a, t, v, vres)
+  #define CHECK_SSUM(a, b, t, v, vres)                                    \
+    CHECK_SSUM1(a, b, t, v, vres);                                        \
+    CHECK_SSUM1(b, a, t, v, vres)
+  #define CHECK_SUM1(a, b, t, v, vres)                                    \
+    VERIFY (INT_ADD_OVERFLOW (a, b) == (v))
+  #define CHECK_SSUM1(a, b, t, v, vres)                                   \
+    CHECK_SUM1(a, b, t, v, vres);                                         \
+    {                                                                     \
+      t result;                                                           \
+      ASSERT (INT_ADD_WRAPV (a, b, &result) == (v));                      \
+      ASSERT (result == ((v) ? (vres) : ((a) + (b)))                      \
+              || ((v) && !TYPE_TWOS_COMPLEMENT (t)));                     \
+    }
+  CHECK_SSUM (-1, LONG_MIN, long int, true, LONG_MAX);
+  CHECK_SUM (-1, UINT_MAX, unsigned int, false, DONTCARE);
+  CHECK_SSUM (-1L, INT_MIN, long int, INT_MIN == LONG_MIN,
+              INT_MIN == LONG_MIN ? INT_MAX : DONTCARE);
+  CHECK_SUM (0u, -1, unsigned int, true, 0u + -1);
+  CHECK_SUM (0u, 0, unsigned int, false, DONTCARE);
+  CHECK_SUM (0u, 1, unsigned int, false, DONTCARE);
+  CHECK_SSUM (1, LONG_MAX, long int, true, LONG_MIN);
+  CHECK_SUM (1, UINT_MAX, unsigned int, true, 0u);
+  CHECK_SSUM (1L, INT_MAX, long int, INT_MAX == LONG_MAX,
+              INT_MAX == LONG_MAX ? INT_MIN : DONTCARE);
+  CHECK_SUM (1u, INT_MAX, unsigned int, INT_MAX == UINT_MAX, 1u + INT_MAX);
+  CHECK_SUM (1u, INT_MIN, unsigned int, true, 1u + INT_MIN);
+  {
+    long int result;
+    ASSERT (INT_ADD_WRAPV (1, INT_MAX, &result) == (INT_MAX == LONG_MAX));
+    ASSERT (INT_ADD_WRAPV (-1, INT_MIN, &result) == (INT_MIN == LONG_MIN));
+  }
+
+  #define CHECK_DIFFERENCE(a, b, t, v, vres)                              \
+    VERIFY (INT_SUBTRACT_OVERFLOW (a, b) == (v))
+  #define CHECK_SDIFFERENCE(a, b, t, v, vres)                             \
+    CHECK_DIFFERENCE(a, b, t, v, vres);                                   \
+    {                                                                     \
+      t result;                                                           \
+      ASSERT (INT_SUBTRACT_WRAPV (a, b, &result) == (v));                 \
+      ASSERT (result == ((v) ? (vres) : ((a) - (b)))                      \
+              || ((v) && !TYPE_TWOS_COMPLEMENT (t)));                     \
+    }
+  CHECK_DIFFERENCE (INT_MAX, 1u, unsigned int, UINT_MAX < INT_MAX - 1,
+                    INT_MAX - 1u);
+  CHECK_DIFFERENCE (UINT_MAX, 1, unsigned int, false, UINT_MAX - 1);
+  CHECK_DIFFERENCE (0u, -1, unsigned int, false, 0u - -1);
+  CHECK_DIFFERENCE (UINT_MAX, -1, unsigned int, true, UINT_MAX - -1);
+  CHECK_DIFFERENCE (INT_MIN, 1u, unsigned int, true, INT_MIN - 1u);
+  CHECK_DIFFERENCE (-1, 0u, unsigned int, true, -1 - 0u);
+  CHECK_SDIFFERENCE (-1, INT_MIN, int, false, -1 - INT_MIN);
+  CHECK_SDIFFERENCE (-1, INT_MAX, int, false, -1 - INT_MAX);
+  CHECK_SDIFFERENCE (0, INT_MIN, int, INT_MIN < -INT_MAX, INT_MIN);
+  CHECK_SDIFFERENCE (0, INT_MAX, int, false, 0 - INT_MAX);
+  {
+    long int result;
+    ASSERT (INT_SUBTRACT_WRAPV (INT_MAX, -1, &result) == (INT_MAX == 
LONG_MAX));
+    ASSERT (INT_SUBTRACT_WRAPV (INT_MIN, 1, &result) == (INT_MAX == LONG_MAX));
+  }
+
+  #define CHECK_PRODUCT(a, b, t, v, vres)                                 \
+    CHECK_PRODUCT1(a, b, t, v, vres);                                     \
+    CHECK_PRODUCT1(b, a, t, v, vres)
+  #define CHECK_SPRODUCT(a, b, t, v, vres)                                \
+    CHECK_SPRODUCT1(a, b, t, v, vres);                                    \
+    CHECK_SPRODUCT1(b, a, t, v, vres)
+  #define CHECK_PRODUCT1(a, b, t, v, vres)                                \
+    VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (v))
+  #define CHECK_SPRODUCT1(a, b, t, v, vres)                               \
+    CHECK_PRODUCT1(a, b, t, v, vres);                                     \
+    {                                                                     \
+      t result;                                                           \
+      ASSERT (INT_MULTIPLY_WRAPV (a, b, &result) == (v));                 \
+      ASSERT (result == ((v) ? (vres) : ((a) * (b)))                      \
+              || ((v) && !TYPE_TWOS_COMPLEMENT (t)));                     \
+    }
+  CHECK_PRODUCT (-1, 1u, unsigned int, true, -1 * 1u);
+  CHECK_SPRODUCT (-1, INT_MIN, int, INT_NEGATE_OVERFLOW (INT_MIN), INT_MIN);
+  CHECK_PRODUCT (-1, UINT_MAX, unsigned int, true, -1 * UINT_MAX);
+  CHECK_SPRODUCT (-32768, LONG_MAX / -32768 - 1, long int, true, LONG_MIN);
+  CHECK_SPRODUCT (-12345, LONG_MAX / -12345, long int, false, DONTCARE);
+  CHECK_SPRODUCT (0, -1, int, false, DONTCARE);
+  CHECK_SPRODUCT (0, 0, int, false, DONTCARE);
+  CHECK_PRODUCT (0, 0u, unsigned int, false, DONTCARE);
+  CHECK_SPRODUCT (0, 1, int, false, DONTCARE);
+  CHECK_SPRODUCT (0, INT_MAX, int, false, DONTCARE);
+  CHECK_SPRODUCT (0, INT_MIN, int, false, DONTCARE);
+  CHECK_PRODUCT (0, UINT_MAX, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, -1, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, 0, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, 0u, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, 1, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, INT_MAX, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, INT_MIN, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (0u, UINT_MAX, unsigned int, false, DONTCARE);
+  CHECK_SPRODUCT (1, INT_MAX, int, false, DONTCARE);
+  CHECK_SPRODUCT (1, INT_MIN, int, false, DONTCARE);
+  CHECK_PRODUCT (1, UINT_MAX, unsigned int, false, DONTCARE);
+  CHECK_PRODUCT (1u, INT_MIN, unsigned int, true, 1u * INT_MIN);
+  CHECK_PRODUCT (1u, INT_MAX, unsigned int, UINT_MAX < INT_MAX, 1u * INT_MAX);
+  CHECK_PRODUCT (INT_MAX, UINT_MAX, unsigned int, true, INT_MAX * UINT_MAX);
+  CHECK_PRODUCT (INT_MAX, ULONG_MAX, unsigned long int, true,
+                 INT_MAX * ULONG_MAX);
+  CHECK_SPRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, long int, true, LONG_MIN);
+  CHECK_SPRODUCT (INT_MIN, LONG_MAX / INT_MIN, long int, false, DONTCARE);
+  CHECK_PRODUCT (INT_MIN, UINT_MAX, unsigned int, true, INT_MIN * UINT_MAX);
+  CHECK_PRODUCT (INT_MIN, ULONG_MAX, unsigned long int, true,
+                 INT_MIN * ULONG_MAX);
+  {
+    long int result;
+    ASSERT (INT_MULTIPLY_WRAPV (INT_MAX, INT_MAX, &result)
+            == (LONG_MAX / INT_MAX < INT_MAX));
+    ASSERT (INT_MULTIPLY_WRAPV (INT_MAX, INT_MAX, &result)
+            || result == INT_MAX * (long int) INT_MAX);
+    ASSERT (INT_MULTIPLY_WRAPV (INT_MIN, INT_MIN, &result)
+            || result == INT_MIN * (long int) INT_MIN);
+  }
+
+# ifdef LLONG_MAX
+  {
+    long long int result;
+    ASSERT (INT_MULTIPLY_WRAPV (LONG_MAX, LONG_MAX, &result)
+            == (LLONG_MAX / LONG_MAX < LONG_MAX));
+    ASSERT (INT_MULTIPLY_WRAPV (LONG_MAX, LONG_MAX, &result)
+            || result == LONG_MAX * (long long int) LONG_MAX);
+    ASSERT (INT_MULTIPLY_WRAPV (LONG_MIN, LONG_MIN, &result)
+            || result == LONG_MIN * (long long int) LONG_MIN);
+  }
+# endif
+
+  #define CHECK_QUOTIENT(a, b, v) VERIFY (INT_DIVIDE_OVERFLOW (a, b) == (v))
+
+  CHECK_QUOTIENT (INT_MIN, -1L,
+                  TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN);
+  CHECK_QUOTIENT (INT_MIN, UINT_MAX, false);
+  CHECK_QUOTIENT (INTMAX_MIN, UINTMAX_MAX, false);
+  CHECK_QUOTIENT (INTMAX_MIN, UINT_MAX, false);
+  CHECK_QUOTIENT (-11, 10u, true);
+  CHECK_QUOTIENT (-10, 10u, true);
+  CHECK_QUOTIENT (-9, 10u, false);
+  CHECK_QUOTIENT (11u, -10, true);
+  CHECK_QUOTIENT (10u, -10, true);
+  CHECK_QUOTIENT (9u, -10, false);
+
+  #define CHECK_REMAINDER(a, b, v) VERIFY (INT_REMAINDER_OVERFLOW (a, b) == 
(v))
+
+  CHECK_REMAINDER (INT_MIN, -1L,
+                   TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN);
+  CHECK_REMAINDER (-1, UINT_MAX, true);
+  CHECK_REMAINDER ((intmax_t) -1, UINTMAX_MAX, true);
+  CHECK_REMAINDER (INTMAX_MIN, UINT_MAX,
+                   (INTMAX_MAX < UINT_MAX
+                    && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
+  CHECK_REMAINDER (INT_MIN, ULONG_MAX, INT_MIN % ULONG_MAX != 1);
+  CHECK_REMAINDER (1u, -1, false);
+  CHECK_REMAINDER (37*39u, -39, false);
+  CHECK_REMAINDER (37*39u + 1, -39, true);
+  CHECK_REMAINDER (37*39u - 1, -39, true);
+  CHECK_REMAINDER (LONG_MAX, -INT_MAX, false);
 
   return 0;
 }
diff --git a/lib/gltests/test-inttypes.c b/lib/gltests/test-inttypes.c
index 7fa18b2..9a3193c 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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-langinfo.c b/lib/gltests/test-langinfo.c
index b038ca3..30b0007 100644
--- a/lib/gltests/test-langinfo.c
+++ b/lib/gltests/test-langinfo.c
@@ -1,5 +1,5 @@
 /* Test of <langinfo.h> substitute.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 5383cff..c1811af 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 b5dd742..040c025 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 a992f64..cb734b4 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2008-2016 Free Software Foundation, Inc.
 
    This 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 717ede0..e9ab83d 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 a7ef488..519dc27 100644
--- a/lib/gltests/test-setenv.c
+++ b/lib/gltests/test-setenv.c
@@ -1,5 +1,5 @@
 /* Tests of setenv.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 6e0ef9d..3bb9c3e 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 1bd8a5c..52e65d8 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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-stdalign.c b/lib/gltests/test-stdalign.c
index 68b9ef1..0f240c5 100644
--- a/lib/gltests/test-stdalign.c
+++ b/lib/gltests/test-stdalign.c
@@ -1,5 +1,5 @@
 /* Test of <stdalign.h>.
-   Copyright 2009-2015 Free Software Foundation, Inc.
+   Copyright 2009-2016 Free Software Foundation, Inc.
 
    This 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 1da25d0..45dc837 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2002-2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 aa6ae54..bfb72a0 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 8d54db2..7705fc7 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
    This 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 b2da7ec..a1fc0d8 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 fc9b200..9b71b69 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 771977e..e5a6bb1 100644
--- a/lib/gltests/test-strverscmp.c
+++ b/lib/gltests/test-strverscmp.c
@@ -1,5 +1,5 @@
 /* Test of strverscmp() function.
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
    This 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 1ef3b90..7f8fb6d 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 e4a79b5..7389be4 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
    This 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 c6dbc7b..f6b7e56 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 1d2d05e..85c4185 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2011-2016 Free Software Foundation, Inc.
 
    This 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 930b5e2..463ef57 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
 
    This 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 235e185..fe4548d 100644
--- a/lib/gltests/test-unsetenv.c
+++ b/lib/gltests/test-unsetenv.c
@@ -1,5 +1,5 @@
 /* Tests of unsetenv.
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This 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 640dc42..d7ca053 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009-2016 Free Software Foundation, Inc.
 
    This 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.c b/lib/gltests/unistd.c
index 6c6a8e2..72bad1c 100644
--- a/lib/gltests/unistd.c
+++ b/lib/gltests/unistd.c
@@ -1,3 +1,4 @@
 #include <config.h>
 #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE
 #include "unistd.h"
+typedef int dummy;
diff --git a/lib/gltests/unistd.in.h b/lib/gltests/unistd.in.h
index 958fea2..c3af07a 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2003-2016 Free Software Foundation, Inc.
 
    This 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-check.c 
b/lib/gltests/unistr/test-u8-check.c
index fcf678c..f1fe900 100644
--- a/lib/gltests/unistr/test-u8-check.c
+++ b/lib/gltests/unistr/test-u8-check.c
@@ -1,5 +1,5 @@
 /* Test of u8_check() function.
-   Copyright (C) 2010-2015 Free Software Foundation, Inc.
+   Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
    This 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-mbtoucr.c 
b/lib/gltests/unistr/test-u8-mbtoucr.c
index 7f02e8b..7a7b0b9 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
    This 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 f586f04..bbc9418 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
    This 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 87f41d5..8368744 100644
--- a/lib/gltests/unsetenv.c
+++ b/lib/gltests/unsetenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2002, 2005-2015 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2005-2016 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 60eba49..2f43837 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2016 Free Software Foundation, Inc.
 
    This 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 684299f..e98ab61 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-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
    This 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 75b81e2..61a405f 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-2015 Simon Josefsson
+   Copyright (C) 2004-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/idn-free.h b/lib/idn-free.h
index 1444d37..11440d5 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-2015 Simon Josefsson
+   Copyright (C) 2004-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/idna.h b/lib/idna.h
index f214075..cc5a3af 100644
--- a/lib/idna.h
+++ b/lib/idna.h
@@ -1,5 +1,5 @@
 /* idna.h --- Prototypes for Internationalized Domain Name library.
-   Copyright (C) 2002-2015 Simon Josefsson
+   Copyright (C) 2002-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/libidn.map b/lib/libidn.map
index d89e315..83eb878 100644
--- a/lib/libidn.map
+++ b/lib/libidn.map
@@ -1,4 +1,4 @@
-# Copyright (C) 2009-2015 Simon Josefsson.
+# Copyright (C) 2009-2016 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/lib/pr29.c b/lib/pr29.c
index da8f645..8951e12 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-2015 Simon Josefsson
+   Copyright (C) 2004-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/pr29.h b/lib/pr29.h
index 49e70d0..6ff1500 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-2015 Simon Josefsson
+   Copyright (C) 2004-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/profiles.c b/lib/profiles.c
index 66c209a..96b0b77 100644
--- a/lib/profiles.c
+++ b/lib/profiles.c
@@ -1,5 +1,5 @@
 /* profiles.c --- Definitions of stringprep profiles.
-   Copyright (C) 2002-2015 Simon Josefsson
+   Copyright (C) 2002-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/punycode.c b/lib/punycode.c
index 166569b..86819a7 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-2015 Simon Josefsson
+   Copyright (C) 2002-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/punycode.h b/lib/punycode.h
index dff2105..186a1c4 100644
--- a/lib/punycode.h
+++ b/lib/punycode.h
@@ -1,5 +1,5 @@
 /* punycode.h --- Declarations for punycode functions.
-   Copyright (C) 2002-2015 Simon Josefsson
+   Copyright (C) 2002-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/strerror-idna.c b/lib/strerror-idna.c
index f1e94ec..d7d7a0d 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-2015 Simon Josefsson
+   Copyright (C) 2004-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/strerror-pr29.c b/lib/strerror-pr29.c
index 68eabcc..7509c9c 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-2015 Simon Josefsson
+   Copyright (C) 2004-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/strerror-punycode.c b/lib/strerror-punycode.c
index b10b9ae..901ca22 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-2015 Simon Josefsson
+   Copyright (C) 2004-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/strerror-stringprep.c b/lib/strerror-stringprep.c
index f53fbbd..e18959d 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-2015 Simon Josefsson
+   Copyright (C) 2004-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/strerror-tld.c b/lib/strerror-tld.c
index b2a29df..04cfde4 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-2015 Simon Josefsson
+   Copyright (C) 2004-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/stringprep.c b/lib/stringprep.c
index 8ff28e6..62a1e65 100644
--- a/lib/stringprep.c
+++ b/lib/stringprep.c
@@ -1,5 +1,5 @@
 /* stringprep.c --- Core stringprep implementation.
-   Copyright (C) 2002-2015 Simon Josefsson
+   Copyright (C) 2002-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/stringprep.h b/lib/stringprep.h
index 2efa2d0..35fa1a7 100644
--- a/lib/stringprep.h
+++ b/lib/stringprep.h
@@ -1,5 +1,5 @@
 /* stringprep.h --- Header file for stringprep functions.
-   Copyright (C) 2002-2015 Simon Josefsson
+   Copyright (C) 2002-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/tld.c b/lib/tld.c
index 823620d..60cf44d 100644
--- a/lib/tld.c
+++ b/lib/tld.c
@@ -1,6 +1,6 @@
 /* tld.c --- Declarations for TLD restriction checking.
-   Copyright (C) 2004-2015 Simon Josefsson.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2016 Simon Josefsson.
+   Copyright (C) 2003-2014, 2016 Free Software Foundation, Inc.
 
    Author: Thomas Jacob, Internet24.de
 
diff --git a/lib/tld.h b/lib/tld.h
index 9604b0c..b740d45 100644
--- a/lib/tld.h
+++ b/lib/tld.h
@@ -1,6 +1,6 @@
 /* tld.h --- Declarations for TLD restriction checking.
-   Copyright (C) 2004-2015 Simon Josefsson.
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2004-2016 Simon Josefsson.
+   Copyright (C) 2003-2014, 2016 Free Software Foundation, Inc.
 
    Author: Thomas Jacob, Internet24.de
 
diff --git a/lib/toutf8.c b/lib/toutf8.c
index b7126e2..a83ff4a 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-2015 Simon Josefsson
+   Copyright (C) 2002-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/lib/version.c b/lib/version.c
index 2bab3d0..a5db030 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -1,5 +1,5 @@
 /* version.c --- Version handling.
-   Copyright (C) 2002-2015 Simon Josefsson
+   Copyright (C) 2002-2016 Simon Josefsson
 
    This file is part of GNU Libidn.
 
diff --git a/libc/README b/libc/README
index 8511162..1905516 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-2015 Simon Josefsson
+Copyright (C) 2003-2016 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 ea15f90..3e61d11 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-2015 Simon Josefsson
+ * Copyright (C) 2003-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/libc/getaddrinfo-idn.txt b/libc/getaddrinfo-idn.txt
index 81500d5..cd6d306 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-2015 Simon Josefsson
+Copyright (C) 2003-2016 Simon Josefsson
 See the end for copying conditions.
 
 Background
diff --git a/libidn.pc.in b/libidn.pc.in
index 70b5e59..74b84be 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-2015 Simon Josefsson
+# Copyright 2002-2016 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 d7fafc3..e2b42bd 100644
--- a/m4/update-header-version.m4
+++ b/m4/update-header-version.m4
@@ -1,5 +1,5 @@
 # update-header-version.m4 serial 2
-dnl Copyright (C) 2008-2015 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2016 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/maint.mk b/maint.mk
index b6ec1b5..9470328 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-2015 Free Software Foundation, Inc.
+## Copyright (C) 2001-2016 Free Software Foundation, Inc.
 ##
 ## This program is free software: you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -1600,7 +1600,7 @@ ifeq (a,b)
 # do not need to be marked.  Symbols matching '__.*' are
 # reserved by the compiler, so are automatically excluded below.
 _gl_TS_unmarked_extern_functions ?= main usage
-_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/
+_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\w+) *\(/
 
 # If your project uses a macro like "XTERN", then put
 # the following in cfg.mk to override this default:
@@ -1633,6 +1633,7 @@ _gl_TS_other_headers ?= *.h
 
 .PHONY: _gl_tight_scope
 _gl_tight_scope: $(bin_PROGRAMS)
+       sed_wrap='s/^/^_?/;s/$$/$$/';                                   \
        t=exceptions-$$$$;                                              \
        trap 's=$$?; rm -f $$t; exit $$s' 0;                            \
        for sig in 1 2 3 13 15; do                                      \
@@ -1642,19 +1643,19 @@ _gl_tight_scope: $(bin_PROGRAMS)
               test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`;   \
        hdr=`for f in $(_gl_TS_headers); do                             \
               test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`;   \
-       ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_functions);  \
+       ( printf '%s\n' '__.*' $(_gl_TS_unmarked_extern_functions);     \
          grep -h -A1 '^extern .*[^;]$$' $$src                          \
-           | grep -vE '^(extern |--)' | $(SED) 's/ .*//';              \
+           | grep -vE '^(extern |--|#)' | $(SED) 's/ .*//; /^$$/d';    \
          perl -lne                                                     \
-            '$(_gl_TS_function_match) and print "^$$1\$$"' $$hdr;      \
-       ) | sort -u > $$t;                                              \
+            '$(_gl_TS_function_match) and print $$1' $$hdr;            \
+       ) | sort -u | $(SED) "$$sed_wrap" > $$t;                        \
        nm -g $(_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\$$"'           \
+       ( printf '%s\n' '__.*' main $(_gl_TS_unmarked_extern_vars);     \
+         perl -lne '$(_gl_TS_var_match) and print $$1'                 \
                $$hdr $(_gl_TS_other_headers)                           \
-       ) | sort -u > $$t;                                              \
+       ) | sort -u | $(SED) "$$sed_wrap" > $$t;                        \
        nm -g $(_gl_TS_obj_files) | $(SED) -n 's/.* [BCDGRS] //p'       \
             | sort -u | grep -Ev -f $$t                                        
\
          && { echo the above variables should have static scope >&2;   \
diff --git a/po/da.po.in b/po/da.po.in
index 52e4556..ad96b72 100644
--- a/po/da.po.in
+++ b/po/da.po.in
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the libidn package.
 # Morten Bo Johansen <address@hidden>, 2004-2011.
 # Joe Hansen <address@hidden>, 2015.
+# Korrekturlæsning 2015: Aputsiak Niels Janussen.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: libidn 1.29\n"
 "Report-Msgid-Bugs-To: address@hidden"
 "POT-Creation-Date: 2014-08-10 22:50+0200\n"
-"PO-Revision-Date: 2015-05-01 17:38+0100\n"
+"PO-Revision-Date: 2015-08-16 17:38+0100\n"
 "Last-Translator: Joe Hansen <address@hidden>\n"
 "Language-Team: Danish <address@hidden>\n"
 "Language: da\n"
@@ -126,7 +127,7 @@ msgstr "Normalisering af unicode mislykkedes (intern fejl)"
 
 #: lib/strerror-tld.c:72
 msgid "Code points prohibited by top-level domain"
-msgstr "Kodepunkter ikke tilladt af top-domæne"
+msgstr "Kodepunkter tillades ikke af domæne på øverste niveau"
 
 #: lib/strerror-tld.c:76
 msgid "Missing input"
diff --git a/src/Makefile.am b/src/Makefile.am
index 216ca63..6832c20 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-2015 Simon Josefsson
+# Copyright (C) 2002-2016 Simon Josefsson
 #
 # This file is part of GNU Libidn.
 #
diff --git a/src/idn.c b/src/idn.c
index 23fa843..be1c7d1 100644
--- a/src/idn.c
+++ b/src/idn.c
@@ -1,5 +1,5 @@
 /* idn.c --- Command line interface to libidn.
- * Copyright (C) 2003-2015 Simon Josefsson
+ * Copyright (C) 2003-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
@@ -200,8 +200,9 @@ main (int argc, char *argv[])
          error (EXIT_FAILURE, errno, _("input error"));
        }
 
-      if (line[strlen (line) - 1] == '\n')
-       line[strlen (line) - 1] = '\0';
+      if (strlen (line) > 0)
+       if (line[strlen (line) - 1] == '\n')
+         line[strlen (line) - 1] = '\0';
 
       if (args_info.stringprep_given)
        {
diff --git a/src/idn.ggo b/src/idn.ggo
index dee5fdf..16226f5 100644
--- a/src/idn.ggo
+++ b/src/idn.ggo
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2015 Simon Josefsson.
+# Copyright (C) 2003-2016 Simon Josefsson.
 #
 # This file is part of GNU Libidn.
 #
diff --git a/src/idna.el b/src/idna.el
index 47a22e1..1793ab9 100644
--- a/src/idna.el
+++ b/src/idna.el
@@ -1,6 +1,6 @@
 ;;; idna.el --- Internationalizing Domain Names in Applications.
 
-;; Copyright (C) 2003-2015 Simon Josefsson
+;; Copyright (C) 2003-2016 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 f3873a3..072e8bf 100644
--- a/src/punycode.el
+++ b/src/punycode.el
@@ -1,6 +1,6 @@
 ;;; punycode.el --- An ASCII compatible Unicode encoding format.
 
-;; Copyright (C) 2003-2015 Simon Josefsson
+;; Copyright (C) 2003-2016 Simon Josefsson
 ;; Keywords: punycode, idna, idn, unicode, encoding
 
 ;; This file is part of GNU Libidn.
diff --git a/tests/tst_badutf8.c b/tests/tst_badutf8.c
index 2feb099..f340a62 100644
--- a/tests/tst_badutf8.c
+++ b/tests/tst_badutf8.c
@@ -1,5 +1,5 @@
 /* tst_badutf8.c --- Self tests for malformed UTF-8 regressions.
- * Copyright (C) 2015 Simon Josefsson
+ * Copyright (C) 2015-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_idna.c b/tests/tst_idna.c
index e7e4df0..415764e 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-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_idna2.c b/tests/tst_idna2.c
index d67dbe4..65b3a4d 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-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_idna3.c b/tests/tst_idna3.c
index 1c64a9c..a189378 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-2015 Simon Josefsson
+ * Copyright (C) 2011-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_idna4.c b/tests/tst_idna4.c
index f5550c0..49e8eb2 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-2015 Simon Josefsson
+ * Copyright (C) 2011-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_nfkc.c b/tests/tst_nfkc.c
index 51fa064..d150fec 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-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_pr29.c b/tests/tst_pr29.c
index 0b67656..3dc5466 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-2015 Simon Josefsson
+ * Copyright (C) 2004-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_punycode.c b/tests/tst_punycode.c
index 601671d..493b8a2 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-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_strerror.c b/tests/tst_strerror.c
index 929c96b..71fff59 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-2015 Simon Josefsson
+ * Copyright (C) 2004-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_stringprep.c b/tests/tst_stringprep.c
index c352dd9..149ce6f 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-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_symbols.c b/tests/tst_symbols.c
index e09f009..20ce93e 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-2015 Simon Josefsson
+ * Copyright (C) 2010-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_tld.c b/tests/tst_tld.c
index 69a6a11..2f8e12e 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-2015 Simon Josefsson
+ * Copyright (C) 2004-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_toutf8.c b/tests/tst_toutf8.c
index 23cf35f..5158ead 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-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/tst_utf8crash.c b/tests/tst_utf8crash.c
index 31b9203..241fbc9 100644
--- a/tests/tst_utf8crash.c
+++ b/tests/tst_utf8crash.c
@@ -1,5 +1,5 @@
 /* tst_utf8crash.c --- Self tests for malformed UTF-8 regressions.
- * Copyright (C) 2015 Simon Josefsson
+ * Copyright (C) 2015-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/utils.c b/tests/utils.c
index 6d302b0..717ee01 100644
--- a/tests/utils.c
+++ b/tests/utils.c
@@ -1,5 +1,5 @@
 /* utils.c --- Self test utilities.
- * Copyright (C) 2002-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/tests/utils.h b/tests/utils.h
index 1666c6c..9556f70 100644
--- a/tests/utils.h
+++ b/tests/utils.h
@@ -1,5 +1,5 @@
 /* utils.h --- Prototypes for self test utilities.
- * Copyright (C) 2002-2015 Simon Josefsson
+ * Copyright (C) 2002-2016 Simon Josefsson
  *
  * This file is part of GNU Libidn.
  *
diff --git a/windows/include/ac-stdint.h b/windows/include/ac-stdint.h
index 58b0302..49ce219 100644
--- a/windows/include/ac-stdint.h
+++ b/windows/include/ac-stdint.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 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 0f6ff7c..7619967 100644
--- a/windows/include/config.h
+++ b/windows/include/config.h
@@ -1,5 +1,5 @@
 /* config.h --- System definitions for Windows
-   Copyright (C) 2008-2015 Free Software Foundation, Inc.
+   Copyright (C) 2008-2016 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 b9dab18..6057157 100644
--- a/windows/include/idn-int.h
+++ b/windows/include/idn-int.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 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 c789c92..b5d2543 100644
--- a/windows/include/stdbool.h
+++ b/windows/include/stdbool.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2008-2016 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 effce9e..8445971 100644
--- a/windows/libidn4win.mk
+++ b/windows/libidn4win.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2011-2015 Simon Josefsson
+# Copyright (C) 2011-2016 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]