X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=3d8f7a3084d3007f75e3ec0d75be9728a3aba358;hb=45ab0165ccb83927281978a447898b554929fc51;hp=7d09ceffd77874c18fc3495cf92aef196abb386f;hpb=844a4da8483610b921cb017679848ceaf47a7b2e;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 7d09ceffd..3d8f7a308 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,423 @@ +2012-04-01 Bruno Haible + + log10l: Work around log10l-ieee test failure on IRIX 6.5. + * lib/log10l.c: Include + (log10l): On IRIX, normalize the +Infinity value. + * modules/log10l (Depends-on): Add 'float'. + * doc/posix-functions/log10l.texi: Mention the IRIX problem with + +Infinity. + + log10f-ieee: Work around test failure on NetBSD 5.1. + * m4/log10f-ieee.m4: New file. + * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present, + test whether log10f works with a negative argument. Replace it if not. + * lib/log10f.c (log10f): For negative arguments, return NaN. + * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4. + (configure.ac): Invoke gl_FUNC_LOG10F_IEEE. + * doc/posix-functions/log10f.texi: Mention the log10f-ieee module. + + log10f-ieee: Work around test failure on Solaris 9. + * modules/log10f-ieee (Depends-on): Add log10-ieee. + (configure.ac): Require gl_FUNC_LOG10F. + + log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11. + * m4/log10-ieee.m4: New file. + * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test + whether log10 works with a negative argument. Replace it if not. + * lib/log10.c (log10): For negative arguments, return NaN. + * modules/log10-ieee (Files): Add m4/log10-ieee.m4. + (configure.ac): Invoke gl_FUNC_LOG10_IEEE. + * doc/posix-functions/log10.texi: Mention the log10-ieee module. + + Tests for module 'log10l-ieee'. + * modules/log10l-ieee-tests: New file. + * tests/test-log10l-ieee.c: New file. + + New module 'log10l-ieee'. + * modules/log10l-ieee: New file. + + Tests for module 'log10-ieee'. + * modules/log10-ieee-tests: New file. + * tests/test-log10-ieee.c: New file. + + New module 'log10-ieee'. + * modules/log10-ieee: New file. + + Tests for module 'log10f-ieee'. + * modules/log10f-ieee-tests: New file. + * tests/test-log10f-ieee.c: New file. + * tests/test-log10-ieee.h: New file. + + New module 'log10f-ieee'. + * modules/log10f-ieee: New file. + +2012-04-01 Bruno Haible + + log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug. + * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1. + * lib/log10l.c (log10l): If log10l exists, use it and provide just the + workaround. + * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro. + (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L. + * modules/math (Makefile.am): Substitute REPLACE_LOG10L. + * modules/log10l (configure.ac): Consider REPLACE_LOG10L. + (Depends-on): Update conditions. + * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1, + IRIX 6.5, OSF/1 5.1 problems. + +2012-04-01 Bruno Haible + + log10f: Work around OSF/1 5.1 bug. + * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1. + * lib/log10f.c (log10f): If logf exists, use it and provide just the + workaround. + * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro. + (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F. + * modules/math (Makefile.am): Substitute REPLACE_LOG10F. + * modules/log10f (configure.ac): Consider REPLACE_LOG10F. + (Depends-on): Update conditions. + * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem. + +2012-04-01 Bruno Haible + + log10: Work around OSF/1 5.1 bug. + * lib/math.in.h (log10): New declaration. + * lib/log10.c: New file. + * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro. + (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10. + * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10. + * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10. + * modules/log10 (Files): Add lib/log10.c. + (Depends-on): Add math. + (configure.ac): If REPLACE_LOG10 is 1, compile an override. + * tests/test-math-c++.cc: Check the declaration of log10. + * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem. + +2012-03-31 Bruno Haible + + log10l tests: More tests. + * modules/log10l-tests (Files): Add tests/test-log10l.h, + tests/minus-zero.h, tests/randoml.c. + (Makefile.am): Add randoml.c to test_log10l_SOURCES. + * tests/test-log10l.c: Include , minus-zero.h, test-log10l.h. + (main): Invoke test_function. + + log10f tests: More tests. + * modules/log10f-tests (Files): Add tests/test-log10.h, + tests/minus-zero.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_log10f_SOURCES. + * tests/test-log10f.c: Include , minus-zero.h, test-log10.h. + (main): Invoke test_function. + + log10 tests: More tests. + * tests/test-log10.h: New file. + * modules/log10-tests (Files): Add tests/test-log10.h, + tests/minus-zero.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_log10_SOURCES. + * tests/test-log10.c: Include , minus-zero.h, test-log10.h. + (main): Invoke test_function. + +2012-03-31 Simon Josefsson + + fflush: Fix syntax error. + * lib/fflush.c: Include unused-parameter.h, needed for + _GL_UNUSED_PARAMETER. + * modules/fflush (Depends-on): Add snippet/unused-parameter. + +2012-03-30 Paul Eggert + + regex: pacify GCC when compiling GRUB + * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid + a diagnostic. Reported by Vladimir Serbinenko in + . + +2012-03-29 Eric Blake + + stdio: don't assume gets any more + * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets + support. + * modules/stdio (Makefile.am): Likewise. + * lib/stdio-read.c (gets): Likewise. + * tests/test-stdio-c++.cc: Likewise. + * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. + * lib/stdio.in.h (gets): Make warning occur in more places. + * doc/posix-functions/gets.texi (gets): Update documentation. + Reported by Christer Solskogen. + + maint.mk: fix syntax checks without exclusions + * top/maint.mk (_sc_search_regexp): Allow for empty variable. + Reported by Daniel P. Berrange. + + strerror_r: avoid compiler warning + * lib/strerror_r.c (strerror_r): Hoist extern declaration to top + level. + + fflush: avoid compiler warning + * lib/fflush.c (update_fpos_cache): Mark variables that are + potentially unused. + +2012-03-25 Bruno Haible + + Tests for module 'localeconv'. + * modules/localeconv-tests: New file. + * tests/test-localeconv.c: New file. + + New module 'localeconv'. + * lib/locale.in.h (localeconv): New declaration. + * lib/localeconv.c: New file. + * m4/localeconv.m4: New file. + * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV, + REPLACE_LOCALECONV. + * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV, + REPLACE_LOCALECONV. + * modules/localeconv: New file. + * modules/nl_langinfo (Depends-on): Add localeconv. + * modules/human (Depends-on): Likewise. + * doc/posix-functions/localeconv.texi: Mention the new module. + +2012-03-25 Bruno Haible + + locale: Provide a complete 'struct lconv'. + * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if + 'struct lconv' does not contain int_p_cs_precedes. + * tests/test-locale.c (main): Check that 'struct lconv' is complete. + * doc/posix-headers/locale.texi: Update. + + locale: Provide a complete 'struct lconv' on Solaris 10, 11. + * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99. + * doc/posix-headers/locale.texi: Update. + + locale: Provide a working 'struct lconv'. + * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1. + * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if + 'struct lconv' does not even contain decimal_point. + (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV. + * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV. + * tests/test-locale.c (main): Check that 'struct lconv' is complete. + * doc/posix-headers/locale.texi: Mention the problems with + 'struct lconv'. + Reported by Gianluigi Tiesi . + +2012-03-24 Bruno Haible + + Enable common subexpression optimization in GCC. + * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New + macros. + * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with + GCC attribute 'const'. + (uc_locale_language): Declare with GCC attribute 'pure'. + * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare + with GCC attribute 'const'. + * lib/unictype.in.h (uc_is_general_category_withtable, + uc_combining_class, uc_combining_class_name, + uc_combining_class_long_name, uc_bidi_class_name, + uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class, + uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category, + uc_decimal_value, uc_digit_value, uc_numeric_value, + uc_joining_type_name, uc_joining_type_long_name, uc_joining_type, + uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script, + uc_block, uc_is_c_whitespace, uc_is_java_whitespace, + uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha, + uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print, + uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank): + Declare with GCC attribute 'const'. + (uc_general_category_name, uc_general_category_long_name, + uc_general_category_byname, uc_general_category, + uc_is_general_category, uc_combining_class_byname, + uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname, + uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block): + Declare with GCC attribute 'pure'. + * lib/unigbrk.in.h (uc_graphemeclusterbreak_property, + uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next, + u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev, + u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare + with GCC attribute 'pure'. + * lib/uninorm.in.h (uc_composition): Declare with GCC attribute + 'const'. + (uninorm_decomposing_form): Declare with GCC attribute 'pure'. + * lib/unistr.in.h (): Declare with GCC attribute 'const'. + (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen, + u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr, + u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen, + u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen, + u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp, + u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp, + u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr, + u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn, + u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk, + u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith, + u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with + GCC attribute 'pure'. + * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute + 'const'. + * lib/uniwidth.in.h (uc_width): Simplify declaration. + (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth, + u32_strwidth): Declare with GCC attribute 'pure'. + + Enable common subexpression optimization in GCC. + * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h. + (alphasort): Declare with GCC attribute 'pure'. + * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h. + (atoll): Declare with GCC attribute 'pure'. + * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr, + mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk, + mbsspn, strverscmp): Declare with GCC attribute 'pure'. + * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h. + (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp, + wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn, + wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'. + +2012-03-24 Bruno Haible + + gnulib-tool: Avoid unintended error output from 'cmp'. + * gnulib-tool (func_add_file, func_update_file, func_import): Use + "cmp -s", not "cmp > /dev/null". + +2012-03-23 Stefano Lattarini + + gnulib-tool: fix imprecise comments w.r.t. an automake bug + + It's not just Automake versions < 1.9b that creates an empty + pkgdatadir at installation time if pkgdata_DATA is specified + to empty; modern automake versions do this as well, at least + until automake 1.11.4 (not yet released at the moment of writing, + but soon to appear). That behaviour was generally considered a + feature rather than a bug, at least until this discussion: + + + See also automake bugs #10997 and #11030. + + * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments. Add + reference to relevant automake bug numbers. + (func_emit_tests_Makefile_am): Likewise. + +2012-03-20 Reuben Thomas + + announce-gen: use Digest::SHA when possible + * build-aux/announce-gen: Use Digest::SHA when possible, falling + back to Digest::SHA1 if necessary. + +2012-03-20 Jim Meyering + + tests: avoid gcc warnings about argv vs. const initializers + * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two + warnings about discarding 'const' qualifier from pointer target type. + * tests/test-posix_spawn2.c (main): Likewise. + +2012-03-20 Reuben Thomas + + README-release: simplify slightly + * top/README-release: Run "git checkout master" only once. + +2012-03-15 Mark Wielaard + + git-merge-changelog: add specific example on how to use with hg. + * lib/git-merge-changelog.c: Add example on how to use in .hgrc. + +2012-03-18 Mark Wielaard + + lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org. + +2012-03-18 Andreas Oberritter + + git-version-gen: don't let "prefix" envvar cause trouble + * build-aux/git-version-gen (prefix): Initialize properly, + so as not to use a value specified via the environment. + Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810 + +2012-03-16 Paul Eggert + + regex: diagnose too-large repeat counts in EREs + Previously, the code did not diagnose the too-large repeat count + in EREs like 'b{1000000000}'; instead, it silently treated the ERE + as if it were 'b\{1000000000}', which is unexpected. + * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count + is too large. REG_ESIZE is used nowhere else, and the diagnostic + is a reasonable one for this problem. Another option would be to + create a new REG_OVERFLOW error for repeat counts that are too large. + (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat + count is too large, so that the caller can distinguish the two cases. + * lib/regex.h (_REG_ESIZE): Document that this is now a generic + "Too large" return code, and that repeat counts are one example of this. + +2012-03-16 Paul Eggert + + doc: some glibc x32 integer width issues + * doc/posix-headers/sys_types.texi (sys/types.h): + * doc/posix-headers/time.texi (time.h): + Mention that glibc x32 does not conform to POSIX in a couple of + areas related to integer widths. + +2012-03-15 Bruno Haible + + fmal: Avoid test failure on OpenBSD 5.1/SPARC64. + * lib/fma.c (VOLATILE): New macro. + (FUNC): Use it to work around a GCC compiler bug. + +2012-03-13 Bruno Haible + + hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC. + * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro. + (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set + REPLACE_HYPOTL to 1. + * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug. + +2012-03-13 Bruno Haible + + remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro. + (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set + REPLACE_REMAINDERL to 1. + * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC + bug. + +2012-03-13 Bruno Haible + + sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC. + * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1. + * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro. + (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces + too big rounding errors. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL. + * modules/math (Makefile.am): Substitute REPLACE_SQRTL. + * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL. + (Depends-on): Update conditions. + * tests/test-sqrtl.c (my_ldexpl): New function. + (main): Add test of a particular value. + * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug. + +2012-03-13 Pádraig Brady + + doc: Update timer_* platform portability notes. + * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9) + that always return ENOSYS. + * doc/posix-functions/timer_delete.texi: Likewise. + * doc/posix-functions/timer_gettime.texi: Likewise. + * doc/posix-functions/timer_settime.texi: Likewise. + +2012-03-13 Bruno Haible + + cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC. + * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro. + (gl_FUNC_CBRTL): Invoke it. If the function does not work, set + REPLACE_CBRTL to 1. + * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug. + +2012-03-13 Bruno Haible + + remainderl: Avoid compilation error on AIX >= 5.2. + * lib/math.in.h (remainderl): Undefine macro from the system header. + +2012-03-13 Bruno Haible + + Avoid compilation errors with MSVC option -fp:strict. + * lib/cbrt.c: Use MSVC specific pragma fenv_access. + * lib/cbrtf.c: Likewise. + Reported by Michael Goffioul . + 2012-03-12 Bruno Haible uninorm: Don't crash in out-of-memory conditions. @@ -399,7 +819,7 @@ logl: Work around OSF/1 5.1 bug. * lib/math.in.h (logl): Override if REPLACE_LOGL is 1. - * lib/logl.c (logl): If logf exists, use it and provide just the + * lib/logl.c (logl): If logl exists, use it and provide just the workaround. * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro. (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.