roundl: Simplify for platforms where 'long double' == 'double'.
[gnulib.git] / ChangeLog
index f8a5a73..a342bb0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,347 @@
+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.
+       * m4/tanhf.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
+       * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
+       * modules/tanhf: New file.
+       * tests/test-math-c++.cc: Check the declaration of tanhf.
+       * doc/posix-functions/tanhf.texi: Mention the new module.
+
+       tanh: Use a .m4 file.
+       * m4/tanh.m4: New file.
+       * modules/tanh (Files): Add it.
+       (configure.ac): Just invoke gl_FUNC_TANH.
+
 2011-10-08  Bruno Haible  <bruno@clisp.org>
 
+       Tests for module 'coshf'.
+       * modules/coshf-tests: New file.
+       * tests/test-coshf.c: New file.
+
+       New module 'coshf'.
+       * lib/math.in.h (coshf): New declaration.
+       * lib/coshf.c: New file.
+       * m4/coshf.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
+       * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
+       * modules/coshf: New file.
+       * tests/test-math-c++.cc: Check the declaration of coshf.
+       * doc/posix-functions/coshf.texi: Mention the new module.
+
+       cosh: Use a .m4 file.
+       * m4/cosh.m4: New file.
+       * modules/cosh (Files): Add it.
+       (configure.ac): Just invoke gl_FUNC_COSH.
+
+2011-10-08  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'sinhf'.
+       * modules/sinhf-tests: New file.
+       * tests/test-sinhf.c: New file.
+
+       New module 'sinhf'.
+       * lib/math.in.h (sinhf): New declaration.
+       * lib/sinhf.c: New file.
+       * m4/sinhf.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
+       * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
+       * modules/sinhf: New file.
+       * tests/test-math-c++.cc: Check the declaration of sinhf.
+       * doc/posix-functions/sinhf.texi: Mention the new module.
+
+       sinh: Use a .m4 file.
+       * m4/sinh.m4: New file.
+       * modules/sinh (Files): Add it.
+       (configure.ac): Just invoke gl_FUNC_SINH.
+
+2011-10-08  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'atan2f'.
+       * modules/atan2f-tests: New file.
+       * tests/test-atan2f.c: New file.
+
        New module 'atan2f'.
        * lib/math.in.h (atan2f): New declaration.
        * lib/atan2f.c: New file.