+2012-03-31 Bruno Haible <bruno@clisp.org>
+
+ 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 <float.h>, minus-zero.h, test-log10.h.
+ (main): Invoke test_function.
+
+2012-03-31 Simon Josefsson <simon@josefsson.org>
+
+ 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 <eggert@cs.ucla.edu>
+
+ regex: pacify GCC when compiling GRUB
+ * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
+ a diagnostic. Reported by Vladimir Serbinenko in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
+
+2012-03-29 Eric Blake <eblake@redhat.com>
+
+ 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 <bruno@clisp.org>
+
+ 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 <bruno@clisp.org>
+
+ 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 <sherpya@netfarm.it>.
+
+2012-03-24 Bruno Haible <bruno@clisp.org>
+
+ 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 <bruno@clisp.org>
+
+ 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 <stefano.lattarini@gmail.com>
+
+ 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:
+ <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
+
+ 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 <rrt@sc3d.org>
+
+ 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 <meyering@redhat.com>
+
+ 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 <rrt@sc3d.org>
+
+ README-release: simplify slightly
+ * top/README-release: Run "git checkout master" only once.
+
+2012-03-15 Mark Wielaard <mark@klomp.org>
+
+ 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 <mark@klomp.org>
+
+ lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
+
+2012-03-18 Andreas Oberritter <obi@opendreambox.org>
+
+ 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 <eggert@cs.ucla.edu>
regex: diagnose too-large repeat counts in EREs
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.