maint.mk: don't maintain a second build-aux variable.
[gnulib.git] / ChangeLog
index 16af412..8b2da4f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,827 @@
+2011-10-28  Gary V. Vaughan  <gary@gnu.org>
+
+       maint.mk: don't maintain a second build-aux variable.
+       * maint.mk (build_aux): Removed.  The maintainer-makefile module
+       depends on GNUmakefile, which already maintains a cfg.mk
+       overridable $(_build-aux) for projects with a non-standard
+       build-aux directory location, although without the $(srcdir)
+       prefix.  Use that variable consistently instead of introducing a
+       second one.  Adjust all call sites.
+
+2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Add stdalign module and use it in other modules.
+       This is based on a previous proposal by Bruno Haible
+       <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
+
+       stdalign: new module
+       * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
+       * modules/stdalign: New files.
+       * MODULES.html.sh (c1x_core_properties): Add stdalign.
+       * doc/gnulib.texi (Header File Substitutes): Add stdalign.
+
+       stdalign-tests: new module
+       * modules/stdalign-tests, tests/test-stdalign.c: New files.
+
+       argp: use stdalign
+       * lib/argp-parse.c: Include <stdalign.h>.
+       (alignof): Remove.
+       * modules/argp (Depends-on): Add stdalign.
+
+       crypto libraries: use stdalign
+       * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
+       Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
+       Do not include <stdlib.h> twice, in md4.c.
+       (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
+       because we are accessing a pointer's bit-pattern, not a size.
+       * modules/crypto/gc-md4 (Depends-on): Add stdalign.
+       * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
+       * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
+       * modules/crypto/sha512: Likewise.
+
+       sys_socket: use stdalign, not alignof
+       * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
+       * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
+
+2011-10-27  Bruno Haible  <bruno@clisp.org>
+
+       raise test: Avoid a test failure on Linux/MIPS.
+       * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
+       because 99 is a valid signal on Linux/MIPS.
+
+2011-10-27  Bruno Haible  <bruno@clisp.org>
+
+       nonblocking tests: Fix test failure on Linux/MIPS.
+       * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
+       Set to 270000.
+
+2011-10-27  Bruno Haible  <bruno@clisp.org>
+
+       utimensat: Work around problem on Linux/hppa.
+       * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
+       values.
+       * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
+
+2011-10-25  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: fix a bug in sc_prohibit_stddef_without_use
+       * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
+       after symbols like NULL, size_t, etc.
+       Reported by Alfred M. Szmidt.
+
+       maint.mk: exempt ENODATA from a syntax-check rule
+       * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
+       from the sc_prohibit_always-defined_macros syntax-check rule.
+       Add a comment.  See this for more details:
+       http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
+
+2011-10-23  Jim Meyering  <meyering@redhat.com>
+
+       fts: close parent dir FD before returning from post-traversal fts_read
+       The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
+       unlink A, even though an FD open on A remained.  This is suboptimal
+       (holding a file descriptor open longer than needed), but otherwise not
+       a problem on Unix-like kernels.  However, on Cygwin with certain Novell
+       file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
+       that represents a real problem: it causes the removal of A to fail
+       with e.g., "rm: cannot remove `A': Device or resource busy"
+
+       fts visits each directory twice and keeps a cache (fts_fd_ring) of
+       directory file descriptors.  After completing the final, FTS_DP,
+       visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
+       cache, but then proceeded to add a new FD to it via the subsequent
+       FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
+       final file descriptor would be closed only via fts_close's call to
+       fd_ring_clear.  Now, it is usually closed earlier, via the final
+       FTS_DP-returning fts_read call.
+       * lib/fts.c (restore_initial_cwd): New function, converted from
+       the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
+       Update callers.
+       Reported by Franz Sirl via the above URL, with analysis by Eric Blake
+       in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
+
+2011-10-23  Gary V. Vaughan  <gary@gnu.org>
+           Bruno Haible  <bruno@clisp.org>
+           Jim Meyering  <jim@meyering.net>
+
+       readme-release: improve safety of release prep instructions.
+       * README-release: Don't git pull all branches when only master
+       is needed for the release process.
+       Run make maintainer-clean before changing trees and merging.
+       Don't try to run ./configure right after git pull in case files
+       that influence the bootstrap process have changed, move the
+       ./configure step to after running ./bootstrap.
+       Don't bootstrap "one last time"... it's the first time!
+
+2011-10-22  Bruno Haible  <bruno@clisp.org>
+
+       errno, strerror-override: Support for MSVC 10.
+       * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
+       (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
+       ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
+       EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
+       EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
+       ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
+       ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
+       Assign values compatible with MSVC 10.
+       (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
+       New macros.
+       (GNULIB_defined_EWINSOCK): New macro.
+       * lib/strerror-override.c (strerror_override): Update accordingly.
+       * lib/strerror-override.h: Likewise.
+       * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
+       longer equal to the corresponding errno value.
+       Reported by Michael Goffioul <michael.goffioul@gmail.com>.
+
+2011-10-22  Bruno Haible  <bruno@clisp.org>
+
+       perror: Recognize when test program crashes.
+       * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
+       strerror, set gl_cv_func_perror_works to no.
+       Reported by Daniel Richard G. <skunk@iskunk.org>.
+
+       perror: Fix indentation.
+       * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
+
+2011-10-22  Bruno Haible  <bruno@clisp.org>
+
+       isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
+       * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
+       _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
+       (isfinite, isinf, isnan, signbit): In C++, define as overloaded
+       functions, not as a macro.
+       * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
+       macros.
+       (isfinite, isinf, isnan, signbit): Check overloaded functions and
+       absence of macro.
+       Suggested by Eric Blake.
+       Reported by Michael Goffioul <michael.goffioul@gmail.com>.
+
+2011-10-21  Bruno Haible  <bruno@clisp.org>
+
+       relocatable-prog-wrapper: Don't leave object files behind.
+       * build-aux/install-reloc: Re-synchronize list of .o files to be
+       removed with list of compilation units.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       openpty, posix_openpt: Remove code duplication.
+       * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
+       * lib/openpty.c: Include <stdlib.h>.
+       (openpty): Use posix_openpt on all platforms except IRIX.
+       * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       unlockpt: Detect invalid argument.
+       * lib/unlockpt.c: Include <fcntl.h>.
+       (unlockpt): Check whether fd is valid, using fcntl().
+       * modules/unlockpt (Depends-on): Add fcntl-h.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       openpty: Avoid compilation error on AIX 6.1.
+       * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       posix_openpt: Support for OpenBSD.
+       * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
+       (posix_openpt) [OpenBSD]: New code.
+       * lib/grantpt.c: Include <fcntl.h>.
+       (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
+       * modules/grantpt (Depends-on): Add fcntl-h.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       posix_openpt test: Coding style.
+       * tests/test-posix_openpt.c: Use GNU coding style.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       grantpt: Support --avoid=pt_chown.
+       * modules/grantpt (Files): Add lib/pty-private.h.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       posix_openpt: Fix autoconf macro.
+       * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
+       unneeded check for _getpty.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       openpty: Update comments.
+       * lib/openpty.c: Add comments about Minix.
+
+2011-10-19  Eric Blake  <eblake@redhat.com>
+
+       openpty: relax license
+       * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
+
+       pt_chown: use configmake to simplify build
+       * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
+
+       ptsname and others: relax license
+       * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
+       * modules/unlockpt (License): Likewise.
+       * modules/pt_chown (License): Likewise.
+       * modules/ptsname (License): Likewise.
+       * modules/ttyname_r (License): Likewise.
+
+2011-10-19  Jim Meyering  <meyering@redhat.com>
+
+       posix_openpt: remove spurious #endif
+       * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
+
+2011-10-19  Gary V. Vaughan  <gary@gnu.org>
+
+       maint.mk: Respect $(build_aux) in web-manual rule.
+       * top/maint.mk (web-manual): Find gen-announce script in user's
+       $(build_aux) directory instead of hard-coding 'build-aux'.
+
+2011-10-19  Bruno Haible  <bruno@clisp.org>
+
+       posix_openpt: Fix compilation error.
+       * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
+       * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
+       Mention the openpty module as an alternative.
+
+2011-10-19  Bruno Haible  <bruno@clisp.org>
+
+       Support for old NeXTstep 3.3 frexp().
+       * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
+       execution time of the test to 5 seconds.
+       Reported by Daniel Richard G. <skunk@iskunk.org>.
+
+2011-10-19  Bruno Haible  <bruno@clisp.org>
+
+       Support for old NeXTstep 3.3 sed.
+       * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
+       part, use /.../, not \|...|. Escape periods in the header file name.
+       * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
+       Reported by Daniel Richard G. <skunk@iskunk.org>.
+
+2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
+
+       Support for old NeXTstep 3.3 gcc.
+       * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
+       'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
+       * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
+       * lib/spawn.in.h (_Restrict_arr_): Likewise.
+       * lib/regex.h (_Restrict_arr_): Likewise.
+       * lib/regex_internal.h (re_token_t): Likewise.
+       * lib/regexec.c (check_node_accept_bytes): Likewise.
+       * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
+
+2011-10-18  Eric Blake  <eblake@redhat.com>
+
+       posix_openpt: new module
+       * modules/posix_openpt: New module.
+       * m4/posix_openpt.m4: New file.
+       * lib/posix_openpt.c: Likewise.
+       * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
+       (gl_STDLIB_H_DEFAULTS): Set defaults.
+       * modules/stdlib (Makefile.am): Substitute macros.
+       * lib/stdlib.in.h (posix_openpt): Declare.
+       * MODULES.html.sh (systems lacking POSIX:2008): Document it.
+       * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
+       * modules/posix_openpt-tests: New test module.
+       * tests/test-posix_openpt.c: New test.
+
+2011-10-15  Bruno Haible  <bruno@clisp.org>
+
+       xstrtoll: Fix compilation failure.
+       * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
+       from lib/strtol.c.
+       * doc/posix-headers/limits.texi: Mention missing numerical limits on
+       some platforms.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-10-15  Bruno Haible  <bruno@clisp.org>
+
+       vasnprintf: Optimize bit search operation.
+       * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
+       gl_DOUBLE_EXPONENT_LOCATION.
+       * modules/vasnprintf (Files): Add m4/exponentd.m4.
+       * modules/unistdio/u8-vasnprintf (Files): Likewise.
+       * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
+       * modules/unistdio/u16-vasnprintf (Files): Likewise.
+       * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
+       * modules/unistdio/u32-vasnprintf (Files): Likewise.
+       * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
+       * modules/unistdio/ulc-vasnprintf (Files): Likewise.
+       * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
+
+2011-10-15  Bruno Haible  <bruno@clisp.org>
+
+       vasnprintf: Fix comments.
+       * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
+
+2011-10-14  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'integer_length_ll'.
+       * modules/integer_length_ll-tests: New file.
+       * tests/test-integer_length_ll.c: New file.
+
+       New module 'integer_length_ll'.
+       * lib/integer_length_ll.c: New file.
+       * modules/integer_length_ll: New file.
+
+2011-10-14  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'integer_length_l'.
+       * modules/integer_length_l-tests: New file.
+       * tests/test-integer_length_l.c: New file.
+
+       New module 'integer_length_l'.
+       * lib/integer_length_l.c: New file.
+       * modules/integer_length_l: New file.
+
+2011-10-14  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'integer_length'.
+       * modules/integer_length-tests: New file.
+       * tests/test-integer_length.c: New file.
+
+       New module 'integer_length'.
+       * lib/integer_length.h: New file.
+       * lib/integer_length.c: New file.
+       * modules/integer_length: New file.
+
+2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
+
+       popen: Fix dependency conditions.
+       * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
+
+2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
+
+       perror: Fix autoconf test.
+       * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
+       <stdlib.h> and <string.h>.
+
+2011-10-14  Bruno Haible  <bruno@clisp.org>
+
+       ffsl: Optimize on 64-bit platforms.
+       * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
+       unrolling.
+
+2011-10-13  Bruno Haible  <bruno@clisp.org>
+
+       ffsl: Optimize on 32-bit platforms.
+       * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
+       use ffs() without a loop.
+
+       ffsl, ffsll: Optimize for GCC.
+       * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
+       * lib/ffsl.c (GCC_BUILTIN): New macro.
+       * lib/ffsll.c (GCC_BUILTIN): Likewise.
+
+2011-10-13  Bruno Haible  <bruno@clisp.org>
+
+       ffs, bcopy, memset: Support symbol renaming via config.h.
+       * lib/ffs.c: Include <config.h>.
+       * lib/bcopy.c: Likewise.
+       * lib/memset.c: Likewise.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       atanl: Simplify for platforms where 'long double' == 'double'.
+       * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+       alternative implementation.
+       * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/atanl (Depends-on): Add atan. Update conditions.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       acosl: Simplify for platforms where 'long double' == 'double'.
+       * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+       alternative implementation.
+       * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/acosl (Depends-on): Add acos. Update conditions.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       asinl: Simplify for platforms where 'long double' == 'double'.
+       * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+       alternative implementation.
+       * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/asinl (Depends-on): Add asin. Update conditions.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       tanl: Simplify for platforms where 'long double' == 'double'.
+       * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
+       implementation.
+       * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/tanl (Depends-on): Add tan. Update conditions.
+       (configure.ac): Don't compile trigl.c if
+       HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       cosl: Simplify for platforms where 'long double' == 'double'.
+       * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
+       implementation.
+       * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/cosl (Depends-on): Add cos. Update conditions.
+       (configure.ac): Don't compile sincosl.c and trigl.c if
+       HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       sinl: Simplify for platforms where 'long double' == 'double'.
+       * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
+       implementation.
+       * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/sinl (Depends-on): Add sin. Update conditions.
+       (configure.ac): Don't compile sincosl.c and trigl.c if
+       HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       logl: Simplify for platforms where 'long double' == 'double'.
+       * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
+       implementation.
+       * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/logl (Depends-on): Add log. Update conditions.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       expl: Simplify for platforms where 'long double' == 'double'.
+       * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
+       implementation.
+       * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/expl (Depends-on): Add exp. Update conditions.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       sqrtl: Simplify for platforms where 'long double' == 'double'.
+       * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+       alternative implementation.
+       * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/sqrtl (Depends-on): Update conditions.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       ldexpl: Simplify for platforms where 'long double' == 'double'.
+       * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+       alternative implementation.
+       * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
+
+2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
+
+       ffsll: set correct witness
+       * modules/ffsll (configure.ac): Fix typo.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       printf-frexpl: Simplify for platforms where 'long double' == 'double'.
+       * lib/printf-frexpl.c: Include <config.h>.
+       (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
+       second time.
+       * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
+       gl_LONG_DOUBLE_VS_DOUBLE.
+       * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
+       conditions.
+
+2011-10-10  Bruno Haible  <bruno@clisp.org>
+
+       frexpl: Simplify for platforms where 'long double' == 'double'.
+       * lib/frexpl.c: Include <config.h>.
+       (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
+       time.
+       * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       * modules/frexpl (Depends-on): Add frexp. Update conditions.
+       * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
+       conditions.
+
+2011-10-10  Jim Meyering  <meyering@redhat.com>
+
+       test-renameat: don't leave behind a temporary file
+       * tests/test-renameat.c (main): Don't forget to remove a temporary file.
+         ERROR: files left in build directory after distclean:
+         ./gltests/test-renameat.too
+         make[1]: *** [distcleancheck] Error 1
+       Reported by Tom G. Christensen.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       rint: Determine RINT_LIBM correctly on AIX 7.
+       * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
+       directly, not only through a function pointer. Also accept an optional
+       4th argument with extra code.
+       * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
+       rintf() call by gcc when optimizing.
+
+       mathfunc.m4: Refactor.
+       * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
+       m4 variable.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       rintl: Simplify for platforms where 'long double' == 'double'.
+       * lib/rintl.c: Include <config.h>.
+       (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
+       time.
+       * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/rintl (Depends-on): Add rint. Update conditions.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       roundl: Simplify for platforms where 'long double' == 'double'.
+       * lib/roundl.c: Include <config.h>.
+       (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
+       time.
+       * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/roundl (Depends-on): Add round. Update conditions.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       truncl: Simplify for platforms where 'long double' == 'double'.
+       * lib/truncl.c: Include <config.h>.
+       (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
+       time.
+       * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/truncl (Depends-on): Add trunc. Update conditions.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       ceill: Simplify for platforms where 'long double' == 'double'.
+       * lib/ceill.c: Include <config.h>.
+       (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
+       time.
+       * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/ceill (Depends-on): Add ceil. Update conditions.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       floorl: Simplify for platforms where 'long double' == 'double'.
+       * lib/floorl.c: Include <config.h>.
+       (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+       * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
+       time.
+       * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/floorl (Depends-on): Add floor. Update conditions.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       rint: Fix ordering constraints.
+       * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
+       * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
+       * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       copysignl: Simplify for platforms where 'long double' == 'double'.
+       * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+       alternative.
+       * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+       * modules/copysignl (Depends-on): Add copysign. Update conditions.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'rintl'.
+       * modules/rintl-tests: New file.
+       * tests/test-rintl.c: New file.
+
+       New module 'rintl'.
+       * lib/math.in.h (rintl): New declaration.
+       * lib/rintl.c: New file.
+       * m4/rintl.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
+       * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
+       * modules/rintl: New file.
+       * tests/test-math-c++.cc: Check the declaration of rintl.
+       * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
+       $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
+       * doc/posix-functions/rintl.texi: Mention the new module.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'rintf'.
+       * modules/rintf-tests: New file.
+       * tests/test-rintf.c: New file.
+
+       New module 'rintf'.
+       * lib/math.in.h (rintf): New declaration.
+       * lib/rintf.c: New file.
+       * m4/rintf.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
+       * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
+       * modules/rintf: New file.
+       * tests/test-math-c++.cc: Check the declaration of rintf.
+       * doc/posix-functions/rintf.texi: Mention the new module.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       rint: Support for MSVC.
+       * lib/math.in.h (rint): New declaration.
+       * lib/rint.c: New file.
+       * m4/rint.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
+       * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
+       * modules/rint (Description): Fix.
+       (Files): Add lib/rint.c, m4/rint.m4.
+       (Depends-on): Add math.
+       (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
+       gl_MATH_MODULE_INDICATOR.
+       * tests/test-math-c++.cc: Check the declaration of rint.
+       * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
+       $(RINT_LIBM). Needed on IRIX 6.5 with cc.
+       * doc/posix-functions/rint.texi: Mention the replacement provided by
+       the module.
+
+       rint tests: More tests.
+       * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
+       minus-zero.h, infinity.h, nan.h.
+       (main): Skip the test if the current rounding mode is not standard. Add
+       tests for negative numbers, minus zero, infinity, NaN.
+       * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
+       tests/nan.h.
+       (Depends-on): Add isnand-nolibm.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'copysignl'.
+       * modules/copysignl-tests: New file.
+       * tests/test-copysignl.c: New file.
+
+       New module 'copysignl'.
+       * lib/math.in.h (copysignl): New declaration.
+       * lib/copysignl.c: New file.
+       * m4/copysignl.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
+       * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
+       HAVE_COPYSIGNL.
+       * modules/copysignl: New file.
+       * tests/test-math-c++.cc: Check the declaration of copysignl.
+       * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
+       $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
+       * doc/posix-functions/copysignl.texi: Mention the new module.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'copysignf'.
+       * modules/copysignf-tests: New file.
+       * tests/test-copysignf.c: New file.
+
+       New module 'copysignf'.
+       * lib/math.in.h (copysignf): New declaration.
+       * lib/copysignf.c: New file.
+       * m4/copysignf.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
+       * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
+       HAVE_COPYSIGNF.
+       * modules/copysignf: New file.
+       * tests/test-math-c++.cc: Check the declaration of copysignf.
+       * doc/posix-functions/copysignf.texi: Mention the new module.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       Ensure that HAVE_* variables are set to 1 before they are set to 0.
+       * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
+       * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
+       * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
+       * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
+       gl_SIGNAL_H_DEFAULTS.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       poll: Make macro safer.
+       * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
+       ac_cv_header_poll_h is not set.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       copysign: Provide replacement.
+       * lib/math.in.h (copysign): New declaration.
+       * lib/copysign.c: New file.
+       * m4/copysign.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
+       * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
+       HAVE_COPYSIGN.
+       * modules/copysign (Description): Clarify.
+       (Files): Add lib/copysign.c, m4/copysign.m4.
+       (Depends-on): Add math, signbit.
+       (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
+       gl_MATH_MODULE_INDICATOR.
+       * tests/test-math-c++.cc: Check the declaration of copysign.
+       * doc/posix-functions/copysign.texi: Mention the effects of the module
+       on Minix and MSVC.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       isinf: Ensure macro on AIX 5.1.
+       * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
+       macro.
+       * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
+
+2011-10-09  Bruno Haible  <bruno@clisp.org>
+
+       *printf-posix tests: Fix for platforms where 'long double' == 'double'.
+       * modules/snprintf-posix-tests (configure.ac): Require
+       gl_LONG_DOUBLE_VS_DOUBLE.
+       * modules/sprintf-posix-tests (configure.ac): Likewise.
+       * modules/vasnprintf-posix-tests (configure.ac): Likewise.
+       * modules/vasprintf-posix-tests (configure.ac): Likewise.
+       * modules/vsnprintf-posix-tests (configure.ac): Likewise.
+       * modules/vsprintf-posix-tests (configure.ac): Likewise.
+       * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
+       tests on platforms where 'long double' is the same as 'double'.
+       * tests/test-sprintf-posix.h (test_function): Likewise.
+       * tests/test-vasnprintf-posix.c (test_function): Likewise.
+       * tests/test-vasprintf-posix.c (test_function): Likewise.
+
+       *printf: Fix for platforms where 'long double' == 'double'.
+       * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
+       gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
+       * modules/dprintf-posix (Files): Add m4/math_h.m4.
+       * modules/fprintf-posix (Files): Likewise.
+       * modules/obstack-printf-posix (Files): Likewise.
+       * modules/snprintf-posix (Files): Likewise.
+       * modules/sprintf-posix (Files): Likewise.
+       * modules/vasnprintf (Files): Likewise.
+       * modules/vasnprintf-posix (Files): Likewise.
+       * modules/vasprintf-posix (Files): Likewise.
+       * modules/vdprintf-posix (Files): Likewise.
+       * modules/vfprintf-posix (Files): Likewise.
+       * modules/vsnprintf-posix (Files): Likewise.
+       * modules/vsprintf-posix (Files): Likewise.
+       * modules/unistdio/u8-vasnprintf (Files): Likewise.
+       * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
+       * modules/unistdio/u16-vasnprintf (Files): Likewise.
+       * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
+       * modules/unistdio/u32-vasnprintf (Files): Likewise.
+       * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
+       * modules/unistdio/ulc-vasnprintf (Files): Likewise.
+
+       isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
+       * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
+       * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
+       'long double'.
+       * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
+
+       isinf: Fix for platforms where 'long double' == 'double'.
+       * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Don't blindly assume 80-bit 'long double'.
+
+       isfinite: Fix for platforms where 'long double' == 'double'.
+       * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
+       Don't blindly assume 80-bit 'long double'.
+
+       isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
+       * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
+       * modules/isfinite-tests (configure.ac): Require
+       gl_LONG_DOUBLE_VS_DOUBLE.
+       * modules/isinf-tests (configure.ac): Likewise.
+       * modules/isnan-tests (configure.ac): Likewise.
+       * modules/isnanl-tests (configure.ac): Likewise.
+       * modules/isnanl-nolibm-tests (configure.ac): Likewise.
+       * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
+       tests on platforms where 'long double' is the same as 'double'.
+       * tests/test-isinf.c (test_isinfl): Likewise.
+       * tests/test-isnan.c (test_long_double): Likewise.
+       * tests/test-isnanl.h (main): Likewise.
+
 2011-10-08  Bruno Haible  <bruno@clisp.org>
 
+       Tests for module 'tanhf'.
+       * modules/tanhf-tests: New file.
+       * tests/test-tanhf.c: New file.
+
        New module 'tanhf'.
        * lib/math.in.h (tanhf): New declaration.
        * lib/tanhf.c: New file.