Fix bugs in round modules reported by Bruno Haible.
[gnulib.git] / ChangeLog
index e2ec18d..d9170af 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,405 @@
+2007-10-21  Ben Pfaff  <blp@gnu.org>
+
+       * m4/check-libm-func.m4: Removed.
+       * m4/check-math-lib.m4: New file.
+       * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
+       * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
+       definition and lack of AC_LIBOBJ([roundf]).
+       * m4/roundl.m4: Ditto, and similarly for roundl.
+       * modules/round: Reference new m4 file.
+       * modules/roundf: Ditto.
+       * modules/roundl: Ditto.
+       * tests/test-round2.c (main): Use ROUND instead of round.
+       Bug report from Bruno Haible.
+
+2007-10-21  Bruno Haible  <bruno@clisp.org>
+
+       * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
+       context.
+
+2007-10-21  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-wcwidth.c (main): Allow negative result for some control
+       characters.
+
+       * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
+       Needed on OSF/1 5.1.
+
+2007-10-21  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-floorf1.c: Include isnanf.h.
+       (main): Use isnanf() instead of isnan().
+       * tests/test-ceilf1.c: Include isnanf.h.
+       (main): Use isnanf() instead of isnan().
+       * tests/test-truncf1.c: Include isnanf.h.
+       (main): Use isnanf() instead of isnan().
+       * tests/test-roundf1.c: Include isnanf.h.
+       (main): Use isnanf() instead of isnan().
+
+2007-10-21  Eric Blake  <ebb9@byu.net>
+
+       * users.txt: Update URL for m4.
+
+2007-10-21  Bruno Haible  <bruno@clisp.org>
+
+       * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
+
+2007-10-21  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
+       Git's management files if the CVS files are not present.
+
+2007-10-20  Bruno Haible  <bruno@clisp.org>
+
+       * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
+       gcc-3.4.x.
+
+2007-10-20  Ben Pfaff  <blp@gnu.org>
+
+       * lib/math.in.h: Declare round, roundf, roundl if we are providing
+       implementations.
+       * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
+       * lib/round.c: New file.
+       * lib/roundf.c: New file.
+       * lib/roundl.c: New file.
+       * m4/round.m4: New file.
+       * m4/roundf.m4: New file.
+       * m4/roundl.m4: New file.
+       * m4/check-libm-func-m4: New file.
+       * modules/math: Replace round, roundf, roundl related @VARS@ in
+       math.in.h.
+       * modules/round: New file.
+       * modules/round-tests: New file.
+       * modules/roundf: New file.
+       * modules/roundf-tests: New file.
+       * modules/roundl: New file.
+       * modules/roundl-tests: New file.
+       * tests/test-round1.c: New file.
+       * tests/test-round2.c: New file.
+       * tests/test-roundf1.c: New file.
+       * tests/test-roundf2.c: New file.
+       * tests/test-roundl.c: New file.
+       * doc/functions/round.texi: Mention round module.
+       * doc/functions/roundf.texi: Mention roundf module.
+       * doc/functions/roundl.texi: Mention roundl module.
+       * MODULES.html.sh: Mention new modules.
+       Thanks to Bruno Haible for suggestions.
+
+2007-10-20  Jim Meyering  <meyering@redhat.com>
+
+       * lib/xprintf.c: Include <config.h> unconditionally.
+
+       Change xprintf's license to GPL.
+       * modules/xprintf (License): s/LGPL/GPL/, since this module
+       depends on modules (exit and exitfail) which are GPL.
+       Suggestion from Bruno Haible.
+
+       xprintf fixes.
+       * lib/xprintf.c (xprintf, xfprintf): Use va_end.
+       Use a clearer diagnostic.
+       Patch from Bruno Haible.
+
+2007-10-20  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
+       length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
+       Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2007-10-20  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-floorf2.c (correct_result_p): Don't rely on excess
+       precision in the comparison result > x - 1 or similar.
+       * tests/test-ceilf2.c (correct_result_p): Likewise.
+       * tests/test-truncf2.c (correct_result_p): Likewise.
+       * tests/test-trunc2.c (correct_result_p): Likewise.
+       Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2007-10-20  Bruno Haible  <bruno@clisp.org>
+
+       * modules/ceil: New file.
+       * m4/ceil.m4: New file.
+       * doc/functions/ceil.texi: Mention the 'ceil' module.
+
+2007-10-20  Bruno Haible  <bruno@clisp.org>
+
+       * modules/floor: New file.
+       * m4/floor.m4: New file.
+       * doc/functions/floor.texi: Mention the 'floor' module.
+
+2007-10-20  Bruno Haible  <bruno@clisp.org>
+
+       * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
+       of %a.
+       * modules/floorf-tests (Depends-on): Likewise.
+       * modules/truncf-tests (Depends-on): Likewise.
+       * modules/trunc-tests (Depends-on): Likewise.
+       Reported by Ben Pfaff.
+
+2007-10-19  Jim Meyering  <meyering@redhat.com>
+
+       * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
+       Don't bother testing specific errno values.  Just test ferror.
+
+       New module: xprintf
+       * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
+
+2007-10-19  Bruno Haible  <bruno@clisp.org>
+
+       * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
+       syntax.
+       * modules/javaexec (Makefile.am): Likewise.
+       * modules/relocatable-prog (Makefile.am): Likewise.
+       Suggested by Jim Meyering.
+
+2007-10-18  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
+       Reported by Jim Meyering.
+
+2007-10-18  Eric Blake  <ebb9@byu.net>
+
+       * modules/filenamecat-tests (Makefile.am): Link against -lintl.
+
+2007-10-18  Bruno Haible  <bruno@clisp.org>
+
+       * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
+       the format string into writable memory. Needed in Fortify conditions.
+
+2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
+           Bruno Haible  <bruno@clisp.org>
+
+       * lib/trim.c: Include config.h unconditionally. Include trim.h always.
+       Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
+       * modules/trim (Depends-on): Add mbchar.
+       (configure.ac): Add gl_FUNC_MBRTOWC.
+       (Makefile.am): Augment lib_SOURCES.
+
+2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Modify glob.c to use fstatat and dirfd, to simplify it.
+       Suggested by Eric Blake.
+       * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
+       Don't include <stdbool.h>; not used.
+       (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
+       (link_exists_p): Simplify implementation, since we can now assume
+       dirfd and fstatat.
+       * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
+
+2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gnulib-tool (func_get_dependencies): Fix sed script to
+       match only tests.
+
+2007-10-17  Bruno Haible  <bruno@clisp.org>
+
+       * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
+       allow locale names without encoding suffix.
+       * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
+       * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
+
+2007-10-16  Bruno Haible  <bruno@clisp.org>
+
+       * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
+       * lib/getgroups.c (getgroups): Likewise.
+       * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
+
+2007-10-16  Bruno Haible  <bruno@clisp.org>
+
+       * modules/absolute-header (License): Change from LGPL to LGPLv2+.
+       * modules/malloc-posix (License): Likewise.
+       * modules/realloc-posix (License): Likewise.
+       * modules/calloc-posix (License): Likewise.
+       * modules/intprops (License): Change from GPL to LGPL, with
+       Paul Eggert's approval.
+
+2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge glibc changes into lib/glob.c.
+
+       * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
+       2007-10-15 04:59:03 UTC.  Here are the changes:
+
+       2007-10-14  Ulrich Drepper  <drepper@redhat.com>
+
+       * lib/glob.c: Reimplement link_exists_p to use fstatat64.
+
+       * lib/glob.c: Add some branch prediction throughout.
+
+       2007-10-07  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #5103]
+       * lib/glob.c (glob): Recognize patterns starting \/.
+
+       2007-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+       [BZ #3996]
+       * lib/glob.c (attribute_hidden): Define if not defined.
+       (glob): Unescape dirname, filename or username when needed and not
+       GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
+       is NULL.  Handle unescaped [ in pattern without closing ].
+       Don't pass GLOB_CHECK down to recursive glob for directories.
+       (__glob_pattern_type): New function.
+       (__glob_pattern_p): Implement using __glob_pattern_type.
+       (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
+       characters and backslashes if not GLOB_NOESCAPE or unterminated [.
+       Remove unreachable code.
+
+       2006-09-30  Ulrich Drepper  <drepper@redhat.com>
+
+       * lib/glob.c (glob_in_dir): Add some comments and asserts to
+       explain why there are no leaks.
+
+       2006-09-25  Jakub Jelinek  <jakub@redhat.com>
+
+       [BZ #3253]
+       * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
+       time, rather allocate increasingly bigger arrays of pointers, if
+       possible with alloca, if too large with malloc.
+
+2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Check for 64-bit int errors in HP-UX 10.20 preprocessor.
+       Problem reported by H.Merijn Brand in
+       <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
+       * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
+       * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
+
+2007-10-15  Bruno Haible  <bruno@clisp.org>
+
+       * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
+       with explicit rpl_ prefix.
+       * lib/fopen.c (fopen): Likewise.
+       * lib/freopen.c (freopen): Likewise.
+       * lib/iconv.c (iconv): Likewise.
+       * lib/iconv_close.c (iconv_close): Likewise.
+
+2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
+
+2007-10-15  Bruno Haible  <bruno@clisp.org>
+
+       * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
+       <stddef.h> instead of <stdlib.h> since we only need NULL.
+       Reported by Ben Pfaff <blp@cs.stanford.edu>.
+
+2007-10-15  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
+       Replace paragraph talking about LIBOBJS.
+       Reported by Colin Watson <cjwatson@debian.org>.
+
+2007-10-15  Bruno Haible  <bruno@clisp.org>
+
+       * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
+       <stdlib.h> before using NULL.
+
+2007-10-15  Simon Josefsson  <simon@josefsson.org>
+
+       * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
+       Reported by Albert Chin <china@thewrittenword.com>.
+
+2007-10-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/iconv_open-utf-tests: New file.
+       * tests/test-iconv-utf.c: New file.
+
+       Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
+       * modules/iconv_open-utf: New file.
+       * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
+       (iconv, iconv_close): New declarations.
+       * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
+       be defined.
+       (iconv_open): Add special handling of conversion between UTF-8 and
+       UTF-{16,32}{BE,LE}.
+       * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
+       * lib/iconv_close.c: New file.
+       * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
+       gl_FUNC_ICONV_OPEN.
+       (gl_FUNC_ICONV_OPEN): Use it.
+       (gl_FUNC_ICONV_OPEN_UTF): New macro.
+       * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
+       and REPLACE_ICONV_UTF.
+       * modules/iconv_open (Depends-on): Add c-strcase.
+       (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
+       ICONV_CONST.
+       * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
+
+2007-10-13  Albert Chin  <china@thewrittenword.com>
+           Bruno Haible  <bruno@clisp.org>
+
+       * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
+       through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
+
+2007-10-13  Bruno Haible  <bruno@clisp.org>
+
+       * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
+       defined, use the ISO C99 inline semantics.
+       * lib/argp.h (ARGP_EI): Likewise.
+
+2007-10-13  Bruno Haible  <bruno@clisp.org>
+
+       Handle 'inline' change in gcc 4.3.0.
+       * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
+       argp_fmtstream_write, argp_fmtstream_set_lmargin,
+       argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
+       argp_fmtstream_point): Disable 'extern' declaration if the function
+       definition is going to be provided inline.
+       (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
+       semantics, not the ISO C99 inline semantics.
+       * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
+       'extern' declaration if the function definition is going to be provided
+       inline.
+       (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
+       the GNU C inline semantics, not the ISO C99 inline semantics. With
+       GCC 4.2, avoid a warning.
+
+2007-10-13  Bruno Haible  <bruno@clisp.org>
+
+       * lib/freading.h (freading): Enable the use of __freading for
+       glibc >= 2.7.
+       * lib/freading.c (freading): Likewise.
+
+2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
+       "warning: C99 inline functions are not supported; using GNU89".
+
 2007-10-12  Bruno Haible  <bruno@clisp.org>
 
+       * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
+       of 2.
+       * tests/test-ceilf2.c: New file.
+       * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
+
+       * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
+       * modules/ceilf-tests: Update.
+
+2007-10-12  Bruno Haible  <bruno@clisp.org>
+
+       * lib/floor.c (FUNC): Avoid rounding errors for values near a power
+       of 2.
+       * tests/test-floorf2.c: New file.
+       * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
+
+       * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
+       * modules/floorf-tests: Update.
+
+2007-10-12  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-trunc2.c: New file.
+       * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
+
+       * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
+       * modules/trunc-tests: Update.
+
+2007-10-12  Bruno Haible  <bruno@clisp.org>
+
+       * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
+       of 2.
+       * tests/test-truncf2.c: New file.
+       * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
+
        * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
        * modules/truncf-tests: Update.
 
        * m4/uintmax_t.m4: New file.
        * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
 
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
-  Free Software Foundation, Inc.
+Copyright (C) 1997-2007 Free Software Foundation, Inc.
 Copying and distribution of this file, with or without modification,
 are permitted provided the copyright notice and this notice are preserved.