quotearg: the module must now include quote.h
[gnulib.git] / ChangeLog
index edc8436..8ac1ba4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,720 @@
+2012-03-07  Jim Meyering  <meyering@redhat.com>
+
+       quotearg: the module must now include quote.h
+       With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
+       So must the module.
+       * modules/quotearg (Files): Add quote.h.
+
+2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       readtokens: avoid core dumps with unusual calling patterns
+       Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
+       * lib/readtokens.c: Include limits.h.
+       (word, bits_per_word, get_nth_bit, set_nth_bit): New.
+       (readtoken): Don't cache the delimiters; the cache code was buggy
+       if !delim && saved_delim, or if the new n_delim differs from the old.
+       Also, it wasn't thread-safe.
+
+2012-03-07  Bruno Haible  <bruno@clisp.org>
+
+       quote: Adhere to common module description layout.
+       * modules/quote (Makefile.am): Add back empty section.
+
+2012-03-06  Akim Demaille  <demaille@gostai.com>
+
+       quote: fuse into quotearg
+       This patch is made for the benefit of Bison.
+       quote does not leave the choice of the quoting style to the user.
+       quoting_style provides poor customizability, yet quoting_options,
+       which is very rich, is hidden inside quotearg.c.  So in order to
+       allow quote customization, move its implementation to quotearg.c.
+       * lib/quote.c: Remove.
+       * modules/quote: Adjust.
+       * lib/quotearg.c (quoting_options_from_style): Fix a compiler
+       warning: provide all the members of literal structs.
+       (quote_quoting_options): New.
+       (quote, quote_n): Import implementation from quote.c.
+       * lib/quote.h: Import the comments from quote.c.
+       (quote_quoting_options): New.
+
+2012-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'expm1l-ieee'.
+       * modules/expm1l-ieee-tests: New file.
+       * tests/test-expm1l-ieee.c: New file.
+
+       New module 'expm1l-ieee'.
+       * modules/expm1l-ieee: New file.
+
+       Tests for module 'expm1f-ieee'.
+       * modules/expm1f-ieee-tests: New file.
+       * tests/test-expm1f-ieee.c: New file.
+
+       New module 'expm1f-ieee'.
+       * modules/expm1f-ieee: New file.
+
+       Tests for module 'expm1-ieee'.
+       * modules/expm1-ieee-tests: New file.
+       * tests/test-expm1-ieee.c: New file.
+       * tests/test-expm1-ieee.h: New file.
+
+       New module 'expm1-ieee'.
+       * modules/expm1-ieee: New file.
+       * m4/expm1-ieee.m4: New file.
+       * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
+       whether expm1 works with a minus zero argument. Replace it if not.
+       * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
+       * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
+       * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
+       (Depends-on): Update conditions.
+       * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
+       AIX problem.
+
+2012-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Work around expm1f bug on IRIX 6.5.
+       * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
+       * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
+       (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
+       not work.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
+       * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
+       * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
+       (Depends-on): Update conditions.
+       * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
+
+2012-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'expm1l'.
+       * modules/expm1l-tests: New file.
+       * tests/test-expm1l.c: New file.
+
+       New module 'expm1l'.
+       * lib/math.in.h (expm1l): New declaration.
+       * lib/expm1l.c: New file.
+       * m4/expm1l.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
+       * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
+       * modules/expm1l: New file.
+       * tests/test-math-c++.cc: Check the declaration of expm1l.
+       * doc/posix-functions/expm1l.texi: Mention the new module.
+
+2012-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'expm1f'.
+       * modules/expm1f-tests: New file.
+       * tests/test-expm1f.c: New file.
+
+       New module 'expm1f'.
+       * lib/math.in.h (expm1f): New declaration.
+       * lib/expm1f.c: New file.
+       * m4/expm1f.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
+       * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
+       * modules/expm1f: New file.
+       * tests/test-math-c++.cc: Check the declaration of expm1f.
+       * doc/posix-functions/expm1f.texi: Mention the new module.
+
+2012-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'expm1'.
+       * modules/expm1-tests: New file.
+       * tests/test-expm1.c: New file.
+       * tests/test-expm1.h: New file.
+
+       New module 'expm1'.
+       * lib/math.in.h (expm1): New declaration.
+       * lib/expm1.c: New file.
+       * m4/expm1.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
+       * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
+       * modules/expm1: New file.
+       * tests/test-math-c++.cc: Check the declaration of expm1.
+       * doc/posix-functions/expm1.texi: Mention the new module.
+
+2012-03-06  Bruno Haible  <bruno@clisp.org>
+
+       math: Ensure declarations of math functions.
+       * modules/acosf (Depends-on): Add 'extensions'.
+       * modules/asinf (Depends-on): Likewise.
+       * modules/atan2f (Depends-on): Likewise.
+       * modules/atanf (Depends-on): Likewise.
+       * modules/cbrt (Depends-on): Likewise.
+       * modules/cbrtf (Depends-on): Likewise.
+       * modules/cbrtl (Depends-on): Likewise.
+       * modules/copysignf (Depends-on): Likewise.
+       * modules/copysignl (Depends-on): Likewise.
+       * modules/cosf (Depends-on): Likewise.
+       * modules/coshf (Depends-on): Likewise.
+       * modules/expf (Depends-on): Likewise.
+       * modules/fabsf (Depends-on): Likewise.
+       * modules/fabsl (Depends-on): Likewise.
+       * modules/fmaf (Depends-on): Likewise.
+       * modules/fmal (Depends-on): Likewise.
+       * modules/fmodf (Depends-on): Likewise.
+       * modules/fmodl (Depends-on): Likewise.
+       * modules/frexpf (Depends-on): Likewise.
+       * modules/frexpl (Depends-on): Likewise.
+       * modules/hypot (Depends-on): Likewise.
+       * modules/hypotf (Depends-on): Likewise.
+       * modules/hypotl (Depends-on): Likewise.
+       * modules/ldexpf (Depends-on): Likewise.
+       * modules/ldexpl (Depends-on): Likewise.
+       * modules/log10f (Depends-on): Likewise.
+       * modules/log10l (Depends-on): Likewise.
+       * modules/log1p (Depends-on): Likewise.
+       * modules/logb (Depends-on): Likewise.
+       * modules/logf (Depends-on): Likewise.
+       * modules/modff (Depends-on): Likewise.
+       * modules/modfl (Depends-on): Likewise.
+       * modules/powf (Depends-on): Likewise.
+       * modules/remainderf (Depends-on): Likewise.
+       * modules/remainderl (Depends-on): Likewise.
+       * modules/rintf (Depends-on): Likewise.
+       * modules/rintl (Depends-on): Likewise.
+       * modules/sinf (Depends-on): Likewise.
+       * modules/sinhf (Depends-on): Likewise.
+       * modules/sqrtf (Depends-on): Likewise.
+       * modules/tanf (Depends-on): Likewise.
+       * modules/tanhf (Depends-on): Likewise.
+       * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
+       * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
+       * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
+       * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
+       * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
+       * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
+       * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
+       * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
+       * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
+       * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
+       * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
+       * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
+       * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
+       * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
+       * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
+       * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
+       * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
+       * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
+       * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
+       * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
+       * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
+       * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
+       * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
+       * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
+       * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
+       * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
+       * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
+       * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
+       * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
+       * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
+       * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
+       * m4/powf.m4 (gl_FUNC_POWF): Likewise.
+       * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
+       * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
+       * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
+       * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
+       * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
+       * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
+       * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
+       * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
+       * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
+
+2012-03-06  Bruno Haible  <bruno@clisp.org>
+
+       math: Update module names in warnings.
+       * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
+       tanl): Use specific module name in warn-on-use warning.
+
+2012-03-06  Bruno Haible  <bruno@clisp.org>
+
+       expl: Simplify computation.
+       * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
+
+2012-03-05  Bruno Haible  <bruno@clisp.org>
+
+       exp* tests: More tests.
+       * tests/test-exp.h: New file.
+       * tests/test-exp.c: Include <float.h> and test-exp.h.
+       (main): Invoke test_function.
+       * tests/test-expf.c: Include <float.h> and test-exp.h.
+       (main): Invoke test_function.
+       * tests/test-expl.c: Include <float.h> and test-exp.h.
+       (main): Invoke test_function.
+       * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_exp_SOURCES.
+       * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_expf_SOURCES.
+       * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
+       (Depends-on): Add 'float'.
+       (Makefile.am): Add randoml.c to test_expl_SOURCES.
+
+       expl: Fix precision of computed result.
+       * lib/expl.c: Completely rewritten.
+       * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
+       (Maintainer): Add me.
+       * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
+
+2012-03-05  Bruno Haible  <bruno@clisp.org>
+
+       cbrt* tests: More tests.
+       * tests/test-cbrt.h: New file.
+       * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
+       (main): Invoke test_function.
+       * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
+       (main): Invoke test_function.
+       * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
+       (main): Invoke test_function.
+       * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
+       * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
+       * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
+       (Depends-on): Add 'float'.
+       (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
+
+2012-03-05  Bruno Haible  <bruno@clisp.org>
+
+       hypot* tests: More tests.
+       * tests/test-hypot.h: New file, partially extracted from
+       tests/test-hypotl.c.
+       * tests/test-hypot.c: Include test-hypot.h.
+       (main): Invoke test_function.
+       * tests/test-hypotf.c: Include test-hypot.h.
+       (main): Invoke test_function.
+       * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
+       (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
+       * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_hypot_SOURCES.
+       * modules/hypotf-tests (Files): Add tests/test-hypot.h,
+       tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
+       * modules/hypotl-tests (Files): Add tests/test-hypot.h,
+       tests/randoml.c.
+       (Depends-on): Add 'fpucw', 'float'.
+       (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
+
+2012-03-05  Bruno Haible  <bruno@clisp.org>
+
+       fpucw: Doc about FreeBSD.
+       * lib/fpucw.h: Mention FreeBSD in comments.
+
+2012-03-04  Bruno Haible  <bruno@clisp.org>
+
+       sqrt* tests: More tests.
+       * tests/test-sqrt.h: New file.
+       * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
+       (main): Invoke test_function.
+       * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
+       (main): Invoke test_function.
+       * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
+       (main): Invoke test_function.
+       * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
+       * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
+       * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
+       (Depends-on): Add 'float'.
+       (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
+
+2012-03-04  Bruno Haible  <bruno@clisp.org>
+
+       remainder* tests: More tests.
+       * tests/test-remainder.h: New file, based on tests/test-fmod.h.
+       * tests/test-remainder.c: Include <float.h> and test-remainder.h.
+       (main): Invoke test_function.
+       * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
+       (main): Invoke test_function.
+       * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
+       (main): Invoke test_function.
+       * modules/remainder-tests (Files): Add tests/test-remainder.h,
+       tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_remainder_SOURCES.
+       * modules/remainderf-tests (Files): Add tests/test-remainder.h,
+       tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
+       * modules/remainderl-tests (Files): Add tests/test-remainder.h,
+       tests/randoml.c.
+       (Depends-on): Add 'float'.
+       (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
+
+2012-03-04  Bruno Haible  <bruno@clisp.org>
+
+       remainder, remainderf, remainderl: Fix computation for large quotients.
+       * lib/remainder.c: Completely rewritten.
+       * lib/remainderf.c (remainderf): Use implementation of remainder.c with
+       USE_FLOAT.
+       * lib/remainderl.c (remainderl): Use implementation of remainder.c with
+       USE_LONG_DOUBLE.
+       * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
+       isnand, isinf. Remove round, fma.
+       * modules/remainderf (Files): Add lib/remainder.c.
+       (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
+       Remove roundf, fmaf.
+       * modules/remainderl (Files): Add lib/remainder.c.
+       (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
+       isinf. Remove roundl, fmal.
+       * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
+       REMAINDER_LIBM.
+       * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
+       REMAINDERF_LIBM.
+       * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
+       REMAINDERL_LIBM.
+
+2012-03-04  Bruno Haible  <bruno@clisp.org>
+
+       fmod* tests: More tests.
+       * tests/test-fmod.h (my_ldexp): New function.
+       (test_function): Reduce amount of random numbers to test. Add tests
+       of very large quotients x / y.
+       * tests/test-fmod.c (MAX_EXP): New macro.
+       * tests/test-fmodf.c (MAX_EXP): Likewise.
+       * tests/test-fmodl.c (MAX_EXP): Likewise.
+
+2012-03-04  Bruno Haible  <bruno@clisp.org>
+
+       fmod, fmodl: Fix computation for large quotients x / y.
+       * lib/fmod.c: Completely rewritten.
+       * lib/fmodl.c (fmodl): Use implementation of fmod.c with
+       USE_LONG_DOUBLE.
+       * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
+       isnand. Remove fma.
+       * modules/fmodl (Files): Add lib/fmod.c.
+       (Depends-on): Add float, isfinite, signbit, fabsl,
+       frexpl, ldexpl, isnanl. Remove fma.
+       * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
+       * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       fmod* tests: More tests.
+       * tests/test-fmod.h: New file.
+       * tests/test-fmod.c: Include <float.h> and test-fmod.h.
+       (main): Invoke test_function.
+       * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
+       (main): Invoke test_function.
+       * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
+       (main): Invoke test_function.
+       * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_fmod_SOURCES.
+       * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
+       * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
+       (Depends-on): Add 'float'.
+       (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       rint* tests: More tests.
+       * tests/test-rint.h: New file, partially extracted from
+       tests/test-rintl.c.
+       * tests/test-rint.c: Include test-rint.h.
+       (main): Invoke test_function.
+       * tests/test-rintf.c: Include test-rint.h.
+       (main): Invoke test_function.
+       * tests/test-rintl.c: Include test-rint.h.
+       (main): Invoke test_function.
+       * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_rint_SOURCES.
+       * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_rintf_SOURCES.
+       * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
+       (Makefile.am): Add randoml.c to test_rintl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       modf* tests: More tests.
+       * tests/test-modf.h: New file.
+       * tests/test-modf.c: Include <float.h> and test-modf.h.
+       (main): Invoke test_function.
+       * tests/test-modff.c: Include <float.h> and test-modf.h.
+       (main): Invoke test_function.
+       * tests/test-modfl.c: Include <float.h> and test-modf.h.
+       (main): Invoke test_function.
+       * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_modf_SOURCES.
+       * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_modff_SOURCES.
+       * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
+       (Depends-on): Add 'float'.
+       (Makefile.am): Add randoml.c to test_modfl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       fabs* tests: More tests.
+       * tests/test-fabs.h: New file, partially extracted from
+       tests/test-fabsl.c.
+       * tests/test-fabs.c (RANDOM): New macro.
+       * tests/test-fabsf.c (RANDOM): New macro.
+       * tests/test-fabsl.c (RANDOM): New macro.
+       * modules/fabs-tests (Files): Add tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_fabs_SOURCES.
+       * modules/fabsf-tests (Files): Add tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
+       * modules/fabsl-tests (Files): Add tests/randoml.c.
+       (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       ldexp* tests: More tests.
+       * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
+       * tests/test-ldexp.c (RANDOM): New macro.
+       * tests/test-ldexpf.c (RANDOM): New macro.
+       * tests/test-ldexpl.c (RANDOM): New macro.
+       * modules/ldexp-tests (Files): Add tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
+       * modules/ldexpf-tests (Files): Add tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
+       * modules/ldexpl-tests (Files): Add tests/randoml.c.
+       (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       frexp* tests: More tests.
+       * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
+       * tests/test-frexp.c (RANDOM): New macro.
+       * tests/test-frexpf.c (RANDOM): New macro.
+       * tests/test-frexpl.c (RANDOM): New macro.
+       * modules/frexp-tests (Files): Add tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_frexp_SOURCES.
+       * modules/frexpf-tests (Files): Add tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
+       * modules/frexpl-tests (Files): Add tests/randoml.c.
+       (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       Support for pseudo-random numbers in tests.
+       * tests/randomf.c: New file.
+       * tests/randomd.c: New file.
+       * tests/randoml.c: New file.
+       * tests/macros.h (randomf, randomd, randoml): New declarations.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       frexp* tests: Refactor.
+       * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
+       * tests/test-frexp.c: Include and use it.
+       * tests/test-frexpf.c: Likewise.
+       * tests/test-frexpl.c: Likewise.
+       * modules/frexp-tests (Files): Add tests/test-frexp.h.
+       * modules/frexpf-tests (Files): Likewise.
+       * modules/frexpl-tests (Files): Likewise.
+
+2012-03-02  Jim Meyering  <meyering@redhat.com>
+
+       maint: don't specify XZ_OPT=-9ev in dist-related rule
+       Using xz's -9 option is warranted only if you have a very large
+       tarball (see xz's documentation for the sizes vs. presets), and
+       requires 64MiB of memory at decompression time.
+       * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
+       Automake's default of just "-e" is fine.  Override on a
+       per-package basis by setting XZ_OPT e.g., in cfg.mk.
+
+2012-03-01  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: allow announcement for non-gnulib project
+       * maint.mk (announcement): Skip gnulib version if not used.
+
+2012-03-01  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: avoid spurious failure of _sc_search_regexp-using tests
+       * top/maint.mk: Initialize _sc_search_regexp parameters, so that
+       envvar settings cannot interfere.  Otherwise, setting envvars like
+       prohibit=foo require=bar, etc. would cause spurious test failures.
+
+2012-03-01  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: add per-line exclusions to prohibitions
+       * maint.mk (_sc_search_regexp): Add $exclude parameter.
+       (sc_prohibit_strcmp, sc_unmarked_diagnostics)
+       (sc_const_long_option): Use it.
+
+2012-03-01  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'expl-ieee'.
+       * modules/expl-ieee-tests: New file.
+       * tests/test-expl-ieee.c: New file.
+
+       New module 'expl-ieee'.
+       * modules/expl-ieee: New file.
+
+       Tests for module 'exp-ieee'.
+       * modules/exp-ieee-tests: New file.
+       * tests/test-exp-ieee.c: New file.
+
+       New module 'exp-ieee'.
+       * modules/exp-ieee: New file.
+
+       Tests for module 'expf-ieee'.
+       * modules/expf-ieee-tests: New file.
+       * tests/test-expf-ieee.c: New file.
+       * tests/test-exp-ieee.h: New file.
+
+       New module 'expf-ieee'.
+       * modules/expf-ieee: New file.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       cbrtl-ieee: Work around test failure on IRIX 6.5.
+       * m4/cbrtl-ieee.m4: New file.
+       * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
+       test whether cbrtl works with a minus zero argument. Replace it if not.
+       * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
+       * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
+       * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
+       (Depends-on): Update conditions.
+       * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
+       m4/signbit.m4.
+       (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
+       * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
+       * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
+
+       Tests for module 'cbrtl-ieee'.
+       * modules/cbrtl-ieee-tests: New file.
+       * tests/test-cbrtl-ieee.c: New file.
+
+       New module 'cbrtl-ieee'.
+       * modules/cbrtl-ieee: New file.
+
+       Tests for module 'cbrt-ieee'.
+       * modules/cbrt-ieee-tests: New file.
+       * tests/test-cbrt-ieee.c: New file.
+
+       New module 'cbrt-ieee'.
+       * modules/cbrt-ieee: New file.
+
+       Tests for module 'cbrtf-ieee'.
+       * modules/cbrtf-ieee-tests: New file.
+       * tests/test-cbrtf-ieee.c: New file.
+       * tests/test-cbrt-ieee.h: New file.
+
+       New module 'cbrtf-ieee'.
+       * modules/cbrtf-ieee: New file.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       cbrtf: Work around bug in IRIX 6.5 system function.
+       * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
+       * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
+       (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
+       work.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
+       * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
+       * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
+       (Depends-on): Update conditions.
+       * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'cbrtl'.
+       * modules/cbrtl-tests: New file.
+       * tests/test-cbrtl.c: New file.
+
+       New module 'cbrtl'.
+       * lib/math.in.h (cbrtl): New declaration.
+       * lib/cbrtl.c: New file.
+       * m4/cbrtl.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
+       HAVE_DECL_CBRTL.
+       * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
+       HAVE_DECL_CBRTL.
+       * modules/cbrtl: New file.
+       * tests/test-math-c++.cc: Check the declaration of cbrtl.
+       * doc/posix-functions/cbrtl.texi: Mention the new module.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'cbrtf'.
+       * modules/cbrtf-tests: New file.
+       * tests/test-cbrtf.c: New file.
+
+       New module 'cbrtf'.
+       * lib/math.in.h (cbrtf): New declaration.
+       * lib/cbrtf.c: New file.
+       * m4/cbrtf.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
+       HAVE_DECL_CBRTF.
+       * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
+       HAVE_DECL_CBRTF.
+       * modules/cbrtf: New file.
+       * tests/test-math-c++.cc: Check the declaration of cbrtf.
+       * doc/posix-functions/cbrtf.texi: Mention the new module.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       cbrt: Provide replacement on MSVC and Minix.
+       * lib/math.in.h (cbrt): New declaration.
+       * lib/cbrt.c: New file.
+       * m4/cbrt.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
+       * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
+       * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
+       (Depends-on): Add dependencies.
+       (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
+       * tests/test-math-c++.cc: Check the declaration of cbrt.
+       * doc/posix-functions/cbrt.texi: Mention that the module provides a
+       replacement.
+
 2012-02-29  Bruno Haible  <bruno@clisp.org>
 
+       hypotl-ieee: Work around test failure on OSF/1 and native Windows.
+       * m4/hypotl-ieee.m4: New file.
+       * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
+       test whether hypotl works with mixed NaN and Infinity arguments.
+       Replace it if not.
+       * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
+       * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
+       * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
+       (Depends-on): Update conditions.
+       * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
+       (Depends-on): Add hypot-ieee.
+       (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
+       * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
+
+       hypotf-ieee: Work around test failure on OSF/1 and native Windows.
+       * m4/hypotf-ieee.m4: New file.
+       * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
+       test whether hypotf works with mixed NaN and Infinity arguments.
+       Replace it if not.
+       * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
+       (Depends-on): Add hypot-ieee.
+       (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
+       * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
+
+       hypot-ieee: Work around test failure on OSF/1 and native Windows.
+       * lib/math.in.h (hypot): New declaration.
+       * lib/hypot.c: New file.
+       * m4/hypot-ieee.m4: New file.
+       * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
+       whether hypot works with mixed NaN and Infinity arguments. Replace it
+       if not.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
+       REPLACE_HYPOT.
+       * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
+       * modules/hypot (Files): Add lib/hypot.c.
+       (Depends-on): Add dependencies.
+       (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
+       * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
+       (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
+       * tests/test-math-c++.cc: Check the declaration of hypot.
+       * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
+
+       Tests for module 'hypotl-ieee'.
+       * modules/hypotl-ieee-tests: New file.
+       * tests/test-hypotl-ieee.c: New file.
+
+       New module 'hypotl-ieee'.
+       * modules/hypotl-ieee: New file.
+
        Tests for module 'hypot-ieee'.
        * modules/hypot-ieee-tests: New file.
        * tests/test-hypot-ieee.c: New file.