alloca: port to compilers that can optimize like GCC 4.6.0
[gnulib.git] / ChangeLog
index 23cb223..967c8b7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,252 @@
+2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       alloca: port to compilers that can optimize like GCC 4.6.0
+       * lib/alloca.c (find_stack_direction): New signature, taken from
+       Autoconf git.  This works with GCC 4.6.0.  This code should never
+       be used with GCC 4.6.0 itself, as GCC has alloca, but it might
+       be used with other compilers that optimize as well as GCC 4.6.0 does.
+       (alloca): Adjust to new signature.
+       * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
+       New macro, which patches Autoconf in a similar way.
+
+       c-stack: stop worrying about stack direction
+       * lib/c-stack.c (find_stack_direction): Remove.
+       (segv_handler): Don't worry about stack direction growth, as it's
+       too much of a pain to configure this correctly, given how compilers
+       are optimizing-away our stack-growth detection code.  Instead, assume
+       that any access to just before or just after the stack is OK.
+       * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
+       Don't require AC_FUNC_ALLOCA; no longer needed.
+
+2011-06-20  Eric Blake  <eblake@redhat.com>
+
+       test-stat: don't allocate PATH_MAX bytes
+       * tests/test-stat.h (test_stat_func): Don't stack-allocate a
+       PATH_MAX-sized buffer.
+       * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
+       * modules/stat-tests (Depends-on): Likewise.
+       * tests/test-fstatat.c (includes): Drop pathmax.h.
+       * tests/test-stat.c (includes): Likewise.
+       Reported by Bruno Haible.
+
+2011-06-20  Bruno Haible  <bruno@clisp.org>
+
+       float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
+       * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
+       * lib/float.c: New file.
+       * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
+       REPLACE_FLOAT_LDBL.
+       * modules/float (Files): Add lib/float.c.
+       (configure.ac): Invoke AC_LIBOBJ.
+       * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
+
+2011-06-20  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'float'.
+       * modules/float-tests: New file.
+       * tests/test-float.c: New file.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       isinf: Coding style.
+       * lib/isinf.c: Use GNU coding style.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       linkat test: Avoid test failure on AIX 7.1.
+       * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
+       * tests/test-link.h (test_link): Likewise.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       pread test: Avoid test failure on OpenBSD 4.9.
+       * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       sprintf-posix: Fix test failure on AIX 7.1.
+       * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
+       * doc/posix-functions/dprintf.texi: Mention limited precision problem
+       on AIX.
+       * doc/posix-functions/fprintf.texi: Likewise.
+       * doc/posix-functions/printf.texi: Likewise.
+       * doc/posix-functions/snprintf.texi: Likewise.
+       * doc/posix-functions/sprintf.texi: Likewise.
+       * doc/posix-functions/vdprintf.texi: Likewise.
+       * doc/posix-functions/vfprintf.texi: Likewise.
+       * doc/posix-functions/vprintf.texi: Likewise.
+       * doc/posix-functions/vsnprintf.texi: Likewise.
+       * doc/posix-functions/vsprintf.texi: Likewise.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       roundl-ieee: Fix test failure on AIX 7.1.
+       * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
+       * doc/posix-functions/roundl.texi: Mention problem with negative
+       arguments.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
+       * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
+       * doc/posix-functions/round.texi: Mention problem with negative
+       arguments.
+       * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
+       * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
+       * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
+       * doc/posix-functions/roundf.texi: Mention problem with negative
+       arguments.
+       * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       ceilf-ieee: Work around bug on MacOS X 10.5.
+       * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
+
+       floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
+       * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
+       IEEE compliant, avoid compiler optimizations.
+       * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
+       * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
+       * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
+       * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
+       * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
+       * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
+       * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
+       * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
+       * m4/round.m4 (gl_FUNC_ROUND): Likewise.
+       * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       ceilf-ieee: Work around bug on AIX 7.1.
+       * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
+       * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
+
+2011-06-19  Bruno Haible  <bruno@clisp.org>
+
+       ceil-ieee: Work around bug on AIX 7.1.
+       * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
+       * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
+
+2011-06-18  Bruno Haible  <bruno@clisp.org>
+
+       fsync test: Avoid test failure on MacOS X and AIX.
+       * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
+       EINVAL.
+
+2011-06-18  Bruno Haible  <bruno@clisp.org>
+
+       openat, fdopendir tests: Fix link errors.
+       * modules/openat-tests (Depends-on): Add progname.
+       * modules/fdopendir-tests (Depends-on): Likewise.
+       * tests/test-fchownat.c: Include progname.h.
+       (main): Call set_program_name.
+       * tests/test-fstatat.c: Include progname.h.
+       (main): Call set_program_name.
+       * tests/test-mkdirat.c: Include progname.h.
+       (main): Call set_program_name.
+       * tests/test-openat.c: Include progname.h.
+       (main): Call set_program_name.
+       * tests/test-unlinkat.c: Include progname.h.
+       (main): Call set_program_name.
+       * tests/test-fdopendir.c: Include progname.h.
+       (main): Call set_program_name.
+
+2011-06-18  Bruno Haible  <bruno@clisp.org>
+
+       Doc update.
+       * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
+       HP-UX.
+       * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
+
+2011-06-18  Bruno Haible  <bruno@clisp.org>
+
+       getcwd tests: Avoid compilation error on HP-UX 11.31.
+       * modules/getcwd-tests (Depends-on): Add pathmax.
+       * tests/test-getcwd.c: Include pathmax.h.
+
+2011-06-18  Bruno Haible  <bruno@clisp.org>
+
+       isfinite, isinf: Fix link error on AIX 6 and 7.
+       * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
+       needed, also test the macro with a 'float' argument.
+       * m4/isinf.m4 (gl_ISINF): Likewise.
+
+2011-06-18  Bruno Haible  <bruno@clisp.org>
+
+       getloadavg: Don't clobber LIBS. Regression from previous commit.
+       * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
+       AC_CHECK_LIB from here...
+       (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
+       (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
+       gl_func_getloadavg_done.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-06-18  Bruno Haible  <bruno@clisp.org>
+
+       clean-temp: Improve documentation.
+       * lib/clean-temp.h: Explain better how to use this module.
+       Reported by John Darrington <john@darrington.wattle.id.au>.
+
+2011-06-17  Bruno Haible  <bruno@clisp.org>
+
+       pread, pwrite: Avoid cc warning on AIX.
+       * lib/unistd.in.h (pread): Undefine before defining as a macro.
+       (pwrite): Likewise.
+
+2011-06-17  Bruno Haible  <bruno@clisp.org>
+
+       spawn-pipe tests: Fix link error.
+       * tests/test-spawn-pipe-child.c: Undefine fprintf.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-06-17  Bruno Haible  <bruno@clisp.org>
+
+       Tests: Remove unnecessary dependency.
+       * modules/canonicalize-tests (Depends-on): Remove progname.
+       * modules/chown-tests (Depends-on): Likewise.
+       * modules/dirname-tests (Depends-on): Likewise.
+       * modules/fdopendir-tests (Depends-on): Likewise.
+       * modules/fdutimensat-tests (Depends-on): Likewise.
+       * modules/hash-tests (Depends-on): Likewise.
+       * modules/lchown-tests (Depends-on): Likewise.
+       * modules/linkat-tests (Depends-on): Likewise.
+       * modules/renameat-tests (Depends-on): Likewise.
+       * modules/spawn-pipe-tests (Depends-on): Likewise.
+       * modules/utimensat-tests (Depends-on): Likewise.
+
+2011-06-17  Bruno Haible  <bruno@clisp.org>
+
+       spawn-pipe tests: Fix link error.
+       * tests/test-spawn-pipe-child.c: Undefine fflush.
+
+2011-06-17  Bruno Haible  <bruno@clisp.org>
+
+       Fix tests link errors.
+       * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
+       * modules/chown-tests (Makefile.am): Don't link test-chown with
+       LIBINTL.
+       * modules/lchown-tests (Makefile.am): Don't link test-lchown with
+       LIBINTL.
+       * modules/utimens-tests (Makefile.am): Don't link test-utimens with
+       LIBINTL.
+       * modules/futimens-tests (Makefile.am): Don't link test-futimens with
+       LIBINTL.
+
 2011-06-16  Bruno Haible  <bruno@clisp.org>
 
+       crypto/gc-sha1: Fix recent regression.
+       * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
+       * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
+
+       crypto/gc-md5: Fix recent regression.
+       * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
+
        crypto/gc-md4: Fix recent regression.
        * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
        * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.