+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ remainder: Support for MSVC.
+ * lib/math.in.h (remainder): New declaration.
+ * lib/remainder.c: New file.
+ * m4/remainder.m4: New file.
+ * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
+ (Depends-on): Add math, round, fma.
+ (configure.ac): Use results of gl_FUNC_REMAINDER.
+ * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
+ HAVE_DECL_REMAINDER.
+ * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
+ HAVE_REMAINDER, HAVE_DECL_REMAINDER.
+ * tests/test-math-c++.cc: Check the declaration of remainder.
+ * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
+ problems are fixed.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'fmodl'.
+ * modules/fmodl-tests: New file.
+ * tests/test-fmodl.c: New file.
+ * tests/test-math-c++.cc: Check the declaration of fmodl.
+
+ New module 'fmodl'.
+ * lib/math.in.h (fmodl): New declaration.
+ * lib/fmodl.c: New file.
+ * m4/fmodl.m4: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
+ REPLACE_FMODL.
+ * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
+ REPLACE_FMODL.
+ * modules/fmodl: New file.
+ * doc/posix-functions/fmodl.texi: Mention the new module.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'modfl'.
+ * modules/modfl-tests: New file.
+ * tests/test-modfl.c: New file.
+ * tests/test-math-c++.cc: Check the declaration of modfl.
+
+ New module 'modfl'.
+ * lib/math.in.h (modfl): New declaration.
+ * lib/modfl.c: New file.
+ * m4/modfl.m4: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
+ * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
+ * modules/modfl: New file.
+ * doc/posix-functions/modfl.texi: Mention the new module.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'fabsl'.
+ * modules/fabsl-tests: New file.
+ * tests/test-fabsl.c: New file.
+ * tests/test-math-c++.cc: Check the declaration of fabsl.
+
+ New module 'fabsl'.
+ * lib/math.in.h (fabsl): New declaration.
+ * lib/fabsl.c: New file.
+ * m4/fabsl.m4: New file.
+ * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
+ (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
+ REPLACE_FABSL.
+ * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
+ REPLACE_FABSL.
+ * modules/fabsl: New file.
+ * doc/posix-functions/fabsl.texi: Mention the new module.
+
+2012-02-25 Bruno Haible <bruno@clisp.org>
+
+ fabs tests: More tests.
+ * tests/test-fabs.c: Include <string.h>, minus-zero.h.
+ (zero): New variable.
+ (main): Add tests for signed zero.
+ * modules/fabs-tests (Files): Add tests/minus-zero.h.
+
+ fabsf tests: More tests.
+ * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
+ (zero): New variable.
+ (main): Add tests for signed zero.
+ * modules/fabsf-tests (Files): Add tests/minus-zero.h.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ atanl: Provide function definition on MSVC.
+ * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
+ function pointer.
+ * lib/math.in.h (atanl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ acosl: Provide function definition on MSVC.
+ * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
+ function pointer.
+ * lib/math.in.h (acosl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ asinl: Provide function definition on MSVC.
+ * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
+ function pointer.
+ * lib/math.in.h (asinl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ tanl: Provide function definition on MSVC.
+ * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
+ function pointer.
+ * lib/math.in.h (tanl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ cosl: Provide function definition on MSVC.
+ * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
+ function pointer.
+ * lib/math.in.h (cosl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ sinl: Provide function definition on MSVC.
+ * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
+ function pointer.
+ * lib/math.in.h (sinl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ logl: Provide function definition on MSVC.
+ * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
+ function pointer.
+ * lib/math.in.h (logl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ expl: Provide function definition on MSVC.
+ * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
+ function pointer.
+ * lib/math.in.h (expl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ sqrtl: Provide function definition on MSVC.
+ * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
+ a function pointer.
+ * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ ceill: Provide function definition on MSVC.
+ * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
+ used as a function pointer.
+ * lib/math.in.h (ceill): Undefine if it is not declared as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ floorl: Provide function definition on MSVC.
+ * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
+ used as a function pointer.
+ * lib/math.in.h (floorl): Undefine if it is not declared as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ ceilf: Provide function definition on MSVC.
+ * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
+ used as a function pointer.
+ * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ floorf: Provide function definition on MSVC.
+ * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
+ used as a function pointer.
+ * lib/math.in.h (floorf): Undefine if it is not declared as a function.
+
+2012-02-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdnoreturn: new module
+ This implements a replacement for C11's <stdnoreturn.h>.
+ * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
+ * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
+ * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
+ * tests/test-stdnoreturn.c: New files.
+
+2012-02-24 Stanislav Brabec <sbrabec@suse.cz> (tiny change)
+
+ regex: fix false multibyte matches in some regular expressions
+ See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
+ and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
+ * lib/regex_internal.c (re_string_skip_chars):
+ Fix miscomputation of remain_len that may cause incomplete
+ multi-byte character and false match.
+
+2012-02-24 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
+ * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
+ uses with "==" *before* the call, e.g., 0 == strcmp (...)
+ Remove now-unnecessary str''cmp obfuscation.
+ Suggested by Akim Demaille.
+
+2012-02-24 Bruno Haible <bruno@clisp.org>
+
+ streq: Rename macro.
+ * lib/streq.h (STREQ_OPT): Renamed from STREQ.
+ * NEWS: Mention the change.
+ * lib/mbrtowc.c (mbrtowc): Update.
+ * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
+ * lib/wcwidth.c (wcwidth): Update.
+ Suggested by Akim Demaille and Jim Meyering.
+
+2012-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ regex: fix typo in definition of MIN
+ * lib/regex_internal.h (MIN): Fix typo. Problem reported by Thomas
+ Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
+
+2012-02-19 Paul Eggert <eggert@cs.ucla.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ acl: Don't use ACL_CNT and similar ops, since they are unreliable.
+ * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
+ entries into a stack-allocated buffer directly.
+ * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
+
+2012-02-19 Paul Eggert <eggert@cs.ucla.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ acl: Don't use GETACLCNT and similar ops, since they are unreliable.
+
+ - There were several instances of this pattern:
+
+ for (;;) {
+ n = acl (f, GETACLCNT, 0, NULL);
+ [ allocate an array A of size N ]
+ if (acl (f, GETACL, n, a) == n)
+ break;
+ }
+
+ This loop might never terminate if some other process is constantly
+ manipulating the file's ACL. The loop should be rewritten to
+ terminate.
+
+ - The acl (... GETACLNT ...) call is merely an optimization; its value
+ is merely a hint as to how big to make the array. A better
+ optimization is to avoid the acl (... GETACLNT ...) call entirely,
+ and just guess a reasonably-big size, growing the size and trying
+ again if it's not large enough. This guarantees termination, and
+ saves a system call.
+
+ * lib/acl-internal.h: Include <limits.h>.
+ (MIN, SIZE_MAX): New macros.
+ * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
+ a stack-allocated buffer, and use malloc if it does not fit. Don't
+ use GETACLCNT.
+ * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
+
+2012-02-19 Bruno Haible <bruno@clisp.org>
+
+ acl: Fix endless loop on Solaris with vxfs.
+ * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
+ acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
+ * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
+ * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
+ * tests/test-sameacls.c (main)[Solaris]: Likewise.
+ Reported by Bill Jones in
+ <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
+
+2012-02-19 Bruno Haible <bruno@clisp.org>
+
+ acl: Fix copy-acl test failure on Solaris 11 2011-11.
+ * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
+ (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
+ that this function returns 0 in some more cases.
+
2012-02-19 Bruno Haible <bruno@clisp.org>
acl: Update doc references.