More tests of printf %f.
[gnulib.git] / ChangeLog
index 3bae344..4e630f5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,230 @@
+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
+       `test-closein.sh'.
+
+2007-05-17  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-printf-posix.output: Renamed from
+       tests/test-fprintf-posix.out.
+       * modules/fprintf-posix-tests: Update.
+       * modules/printf-posix-tests: Update.
+       * modules/vfprintf-posix-tests: Update.
+       * modules/vprintf-posix-tests: Update.
+       * tests/test-fprintf-posix.sh: Update.
+       * tests/test-printf-posix.sh: Update.
+       * tests/test-vfprintf-posix.sh: Update.
+       * tests/test-vprintf-posix.sh: Update.
+       Reported by Ralf Wildenhues.
+
+2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/fcntl_.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/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
+       * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
+       * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
+       * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
+       it should no longer be needed.
+       * lib/string_.h: Likewise.
+       * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
+       * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
+       * modules/inttypes (inttypes.h): Likewise.
+       * modules/math (math.h): Likewise.
+       * modules/search (search.h): Likewise.
+       * modules/signal (signal.h): Likewise.
+       * modules/stdint (stdint.h): Likewise.
+       * modules/stdio (stdio.h): Likewise.
+       * modules/stdlib (stdlib.h): Likewise.
+       * modules/string (string.h): Likewise.
+       * modules/sys_time (sys/time.h): Likewise.
+       * modules/time (time.h): Likewise.
+       * modules/wchar (wchar.h): Likewise.
+       * modules/wctype (wtype.h): Likewise.
+
+2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
+
+       * doc/gnulib-tool.texi (CVS Issues): Fix typo.
+
+2007-05-13  Bruno Haible  <bruno@clisp.org>
+
+       * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
+       * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
+       * strsep.m4 (gl_FUNC_STRSEP): Likewise.
+       * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
+       (gl_PREREQ_STRTOK_R): Don't require it here.
+
+2007-05-13  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
+       when used in C++ mode.
+
+2007-05-12  Bruno Haible  <bruno@clisp.org>
+
+       * lib/linebuffer.h: Tweak doc.
+       * lib/linebuffer.c: Likewise.
+
+2007-05-12  James Youngman  <jay@gnu.org>
+
+       * lib/linebuffer.c (readlinebuffer_delim): New function,
+       like readlinebuffer, but use a caller-specified delimiter.
+       (readlinebuffer): Just call readlinebuffer_delim with '\n'
+       as the delimiter.
+       * lib/linebuffer.h (readlinebuffer_delim): Declare it.
+
+2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
+       * modules/openat (Files): Remove openat-die.c.
+       (Depends-on): Add openat-die.
+       * modules/openat-die: New module.
+
+2007-05-06  Bruno Haible  <bruno@clisp.org>
+
+       * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
+       Update with info about Cygwin.
+       * 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.
+       Reported by Eric Blake.
+
+2007-05-06  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
+       padding ourselves for the floating-point directives.
+       * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
+       * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
+       gl_PRINTF_FLAG_ZERO and test its result. Invoke
+       gl_PREREQ_VASNPRINTF_FLAG_ZERO.
+       * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
+       * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_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.
+       * tests/test-snprintf-posix.h (test_function): Also check the width
+       and some flags in the %f directive.
+       * tests/test-sprintf-posix.h (test_function): Likewise.
+       * tests/test-vasnprintf-posix.c (test_function): Likewise.
+       * tests/test-vasprintf-posix.c (test_function): Likewise.
+       * 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-06  Bruno Haible  <bruno@clisp.org>
 
        * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't