More tests of printf %f.
[gnulib.git] / ChangeLog
index b0bc1bb..4e630f5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,104 @@
+2007-05-18  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
+       (strmatch): New function.
+       (test_function): Test the %f directive on numbers of various exponents.
+       * tests/test-vasprintf-posix.c (SIZEOF): New macro.
+       (strmatch): New function.
+       (test_function): Test the %f directive on numbers of various exponents.
+       * tests/test-snprintf-posix.h (strmatch): New function.
+       (test_function): Test the %f directive on numbers of various exponents.
+       * tests/test-sprintf-posix.h (strmatch): New function.
+       (test_function): Test the %f directive on numbers of various exponents.
+       * tests/test-snprintf-posix.c (SIZEOF): New macro.
+       * tests/test-sprintf-posix.c (SIZEOF): New macro.
+       * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
+       * tests/test-vsprintf-posix.c (SIZEOF): New macro.
+
+2007-05-18  Bruno Haible  <bruno@clisp.org>
+
+       Add support for 'long double' number output.
+       * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
+       * lib/vasnprintf.c: Include math.h and float+.h.
+       (mp_limb_t): New type.
+       (GMP_LIMB_BITS): New macro.
+       (mp_twolimb_t): New type.
+       (GMP_TWOLIMB_BITS): New macro.
+       (mpn_t): New type.
+       (multiply, divide, convert_to_decimal, decode_long_double,
+       scale10_round_long_double, scale10_round_decimal_long_double,
+       floorlog10l): New functions.
+       (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
+       for the %f, %F, %e, %E, %g, %G directives.
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
+       * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
+       gl_PRINTF_LONG_DOUBLE and test its result. Invoke
+       gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
+       * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
+       * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
+       * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
+       * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
+       * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
+       * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
+       * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
+       * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
+       * modules/snprintf-posix (Depends-on): Likewise.
+       * modules/sprintf-posix (Depends-on): Likewise.
+       * modules/vasnprintf-posix (Depends-on): Likewise.
+       * modules/vasprintf-posix (Depends-on): Likewise.
+       * modules/vfprintf-posix (Depends-on): Likewise.
+       * modules/vsnprintf-posix (Depends-on): Likewise.
+       * modules/vsprintf-posix (Depends-on): Likewise.
+       * modules/vasnprintf (Files): Add lib/float+.h.
+       * doc/functions/fprintf.texi: Update.
+       * doc/functions/printf.texi: Update.
+       * doc/functions/snprintf.texi: Update.
+       * doc/functions/sprintf.texi: Update.
+       * doc/functions/vfprintf.texi: Update.
+       * doc/functions/vprintf.texi: Update.
+       * doc/functions/vsnprintf.texi: Update.
+       * doc/functions/vsprintf.texi: Update.
+
+2007-05-18  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
+
+2007-05-18  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
+       for printing 64-bit integers. Needed for mingw.
+
+2007-05-18  Bruno Haible  <bruno@clisp.org>
+
+       * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
+       gl_FUNC_FREXPL_WORKS.
+       * modules/printf-frexpl (Files): Add m4/frexpl.m4.
+
+2007-05-18  Bruno Haible  <bruno@clisp.org>
+
+       * modules/frexpl-nolibm-tests: New file.
+
+       * modules/frexpl-nolibm: New file.
+       * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
+
+2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/dirent_.h: Prefer #include_next <foo.h> to #include
+       @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
+       GCC 4.2, which otherwise issues a lot of warnings.
+       * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
+       * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
+       Likewise.
+       * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
+       * modules/iconv_open (iconv.h): Likewise.
+       * modules/locale (locale.h): Likewise.
+       * modules/netinet_in (netinet/in.h): Likewise.
+       * modules/sys_select (sys_select.h): Likewise.
+       * modules/sys_socket (sys/socket.h): Likewise.
+       * modules/sys_stat (sys/stat.h): Likewise.
+       * modules/sysexits (sysexits.h): Likewise.
+       * modules/unistd (unistd.h): Likewise.
+
 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * modules/closein-tests (Makefile.am): Distribute