New module 'integer_length'.
[gnulib.git] / ChangeLog
index bf00c05..03a78f7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,249 @@
+2011-10-14  Bruno Haible  <bruno@clisp.org>
+
+       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.