X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=fde59290bb947dcc368a376668ce139d50d316bc;hb=70ab9a61a4dc68cc088b6ea2fb60d4ebe28caa40;hp=9171da19f62c0bd399d89384c85aa92cff927c4a;hpb=5a460138e9cb595387de6db5a86a63c12d63d181;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 9171da19f..1a5c1e812 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4343 @@ +2012-06-10 Bruce Korb + + parse-duration: Relicense under LGPLv2+. + * modules/parse-duration (License): Change to LGPLv2+. + +2012-06-10 Jim Meyering + + maint.mk: prohibit common grammar error: "all these" + * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to + the list of prohibited word sequences. It should be "all of these". + * lib/tempname.c (__gen_tempname): Fix one of them. + +2012-06-07 Akim Demaille + + do-release-commit-and-tag: support VPATH builds + * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`. + (noteworthy): Defined earlier to factor its value. + (noteworthy_stub): New. + Use it to factor. + (help_version): Split into... + (help, version): these. + Adjust the option processing part. + Support "--option=value" in addition to "--option value". + (builddir): New. + (--builddir): New option. + * top/README-release: Document this. + Reword slightly so that the reader cannot understand that he + has to do these steps before calling do-release-commit-and-tag. + +2012-06-07 Akim Demaille + + readme-release: also require announce-gen and maintainer-makefile + * modules/readme-release (Depends-on): here. + * modules/announce-gen, modules/do-release-commit-and-tag, + modules/gnu-web-doc-update, modules/maintainer-makefile + (Description): Point to readme-release. + +2012-06-07 Akim Demaille + + maint.mk: fix VPATH issues. + * top/maint.mk (news-check): GNU Make understand $< very well. + (release-prep): NEWS is in $(srcdir). + +2012-06-05 Akim Demaille + + readme-release: require the promoted modules. + * modules/readme-release (Depends-on): Add + do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used + in this text. + +2012-05-21 Paolo Bonzini + Bruno Haible + + error, strerror-override: Support mingw64 from Fedora 17. + * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator + for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to + EINPROGRESS. + * lib/strerror-override.h (strerror_override): Test it. + * lib/strerror-override.c (strerror_override): Likewise. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY. + +2012-05-21 Paolo Bonzini + Bruno Haible + + error, strerror-override: Support mingw64 from Fedora 17. + * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different + indicator for ENOTRECOVERABLE, compared to EOWNERDEAD. + * lib/strerror-override.h (strerror_override): Test it. + * lib/strerror-override.c (strerror_override): Likewise. + +2012-06-03 Bruno Haible + + error, strerror-override: Support new errno values from POSIX:2008. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and + ENOTRECOVERABLE. + * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all + platforms. + * lib/strerror-override.c (strerror_override): Conditionalize the + EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD. + * lib/strerror-override.h (strerror_override): Declare also if + GNULIB_defined_EOWNERDEAD is defined. + * tests/test-errno.c (e130, e131): New variables. + * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD, + ENOTRECOVERABLE. + Reported by Paolo Bonzini. + +2012-05-31 Jim Meyering + + savewd: add missing dependency on sys_wait module + * modules/savewd (Depends-on): Add sys_wait, needed at least + for MSVC. Report and suggested change by Michael Goffioul. + +2012-05-29 Paul Eggert + + system-quote-tests: port to CentOS 5 + Problem reported by Tom G. Christensen in + . + * tests/test-system-quote-child.c (fclose, fprintf): Undef. + +2012-05-29 Jim Meyering + + maint: fix typos in comments and ChangeLog + Culprits identified and fixed mostly automatically using these commands: + git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \ + 's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/' + using http://github.com/lyda/misspell-check + * ChangeLog: Fix typos. + * doc/solaris-versions: Likewise. + * lib/regexec.c (re_search_stub): Likewise. + * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise. + +2012-05-27 Paul Eggert + + manywarnings: remove duplicate -Wmultichar entry + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate + entry for -Wmultichar. -Wno-multichar is in the GCC 4.7.0 manual, + so keep the entry marked as documented. + +2012-05-27 Karl Berry + + * config/srclist.txt (mktime.c): remove last libc sync, + perhaps just temporarily. + +2012-05-26 Paul Eggert + + regex: don't assume uint64_t or uint32_t + * lib/regcomp.c (init_word_char): Don't assume that the types + uint64_t and uint32_t exist. The C standard doesn't guarantee + them, and on some 32-bit compilers there is no uint64_t. + Problem reported by Gianluigi Tiesi in + . + +2012-05-25 Jim Meyering + + maint.mk: add strncpy-prohibiting syntax-check rule + * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils. + +2012-05-24 Jim Meyering + + maint.mk: compute $(gpg_key_ID) more portably + * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'. + That use of sed is not portable to some fringe systems. + Reported by Paul Eggert in + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802 + +2012-05-23 Paul Eggert + + mktime: sync from glibc + * config/srclist.txt: Uncomment mktime.c. + * lib/mktime.c: Sync from glibc master. This incorporates 3 changes. + First, indent with tabs, since glibc uses tabs and doesn't want to + change and we'd rather be identical to glibc. Also, two small + coding changes: + (isdst_differ): Use &&, not &, as && is the usual style. + (__mktime_internal): Rename local var from abs_diff to approx_abs_diff + for clarity. + +2012-05-23 Akim Demaille + + announce-gen: du -h is more portable than du --human + * build-aux/announce-gen (sizes): Invoke du with -h instead + of --human. Accept leading white space in its output. + +2012-05-23 Akim Demaille + + announce-gen: Improve diagnostics. + * build-aux/announce-gen: When parsing command line options, + prefer "announce-gen: option --release-type requires an argument" + to "Option release-type requires an argument". + +2012-05-23 Akim Demaille + + maint.mk: gpg_key_ID: use sed more portably + * top/maint.mk (gpg_key_ID): End sed block with a semicolon before + the closing brace. + (refresh-po): Fuse two sed invocations into one. + +2012-05-15 Akim Demaille + + gitlog-to-changelog: support the log message format used in Bison. + * build-aux/gitlog-to-changelog: Support --strip-tab and + --strip-cherry-picked. + +2012-05-21 Paolo Bonzini + + poll/select: prevent busy-waiting. SwitchToThread() only gives away + the rest of the current time slice to another thread in the current + process. So if the thread that feeds the file decscriptor we're + polling is not in the current process, we get busy-waiting. + * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread(). + Patch from Theodore Leblond. + * lib/select.c: Split polling out of the loop that sets the output + fd_sets. Check for zero result and loop if the wait timeout is + infinite. + +2012-05-21 Simon Josefsson + + select: Fix build error on IRIX 6.5. + * lib/select.c: Include stddef.h for NULL. + +2012-05-21 Simon Josefsson + + gc: fix libgcrypt detection on older machines. + * m4/gc.m4: Reject libgcrypt earlier than 1.4.4. Collapse + copyright years because the file has been distributed every year + since it was created. + +2012-05-18 Paul Eggert + + crypto: fix bug in large buffer handling + Problem reported by Serge Belyshev for glibc in + and for gnulib in + . + * lib/md4.c (md4_process_block): + * lib/md5.c (md5_process_block): + * lib/sha1.c (sha1_process_block): + * lib/sha256.c (sha256_process_block): + Don't assume the buffer length is less than 2**32. + * lib/sha512.c (sha512_process_block): Likewise. + Here, the bug is present only in the rare case where the host does + not support uint64_t or where size_t is wider than 64 bits. + Use u64size to work around the problems. + * lib/u64.h (u64size): New macro. + +2012-05-15 Pádraig Brady + + fsusage: fix block size returned on older Linux 2.6 + + * lib/fsusage.c: Fall back to (struct statfs).f_frsize + which is available since Linux 2.6. + * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define + when the member is available so it can be used as a fallback. + * doc/posix-functions/statvfs.texi: Mention the hang issue + on Linux < 2.6.36. + +2012-05-14 Paul Eggert + + bootstrap: suppress stderr chatter + * build-aux/bootstrap (insert_sorted_if_absent, main program): + Omit unnecessary chatter to stderr. The main program chatter + was there only inadvertantly. + + bootstrap: .gitignore files created by autopoint, libtool + I ran into this problem when bootstrapping the latest diffutils. + After './bootstrap', 'git status' reported lots of untracked files + m4/codeset.m4, m4/gettext.m4, etc. These files were created by + autopoint and do not need to be version-controlled. + * build-aux/bootstrap: Put into .gitignore the files that + autopoint and libtool create, by keeping track of files that exist + after but not before these programs are run. + (version_controlled_file): Move up. 2nd arg is now full file + name, not base name; this is more convenient. Put CVS at the end, + as it's now somewhat deprecated. + +2012-05-14 Jim Meyering + + ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition + * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused + definition. Reported by Bruno Haible. + +2012-05-13 Bruno Haible + Paul Eggert + + binary-io: Define set_binary_mode function. + * lib/binary-io.h (set_binary_mode): New function. + (SET_BINARY): Define in terms of set_binary_mode. + * modules/binary-io (configure.ac): Require AC_C_INLINE. + * tests/test-binary-io.c (main): Accept an argument, and test either + set_binary_mode or SET_BINARY depending on the argument. + * tests/test-binary-io.sh: Invoke test-binary-io twice, with an + argument. Clean up also t-bin-out0.tmp. + +2012-05-13 Stefano Lattarini + + bootstrap: take advantage of POSIX shell features + + The 'bootstrap' script offered by Gnulib script already uses POSIX + shell features (like $((...)) arithmetic expansions) that are not + supported by legacy Bourne shells like Solaris 10 /bin/sh. This + means that bootstrap must already be run using a proper POSIX shell, + which will thus provide more features, like ${var#pattern} parameter + expansion or inversion of a command exit status with '!'. We can + thus use these features to improve the clarity and the performances + of the bootstrap script. + + Suggested by Eric Blake. + + * build-aux/bootstrap: Prefer xpg4 parameter expansions over use + of sed/expr plus command substitutions, to save some forks. While + we are at it, prefer the POSIX $(...) form of command substitution, + rather than the legacy form `...` (since the former is visually + clearer and interacts better with quoting), and prefer the idiom: + "if ! CMD; then ACTION ..." + over the idiom: + "if CMD; then :; else ACTION ..." + which was required by legacy Bourne shells not supporting '!'. + +2012-05-12 Bruno Haible + + system-quote: Add more comments. + * lib/system-quote.h: Add more comments about wilcards and limitations. + Suggested by Eli Zaretskii . + + sh-quote, system-quote: Add comments about wildcards. + * lib/sh-quote.h: Clarify what happens with wildcard characters. + * lib/system-quote.h: Likewise. + Reported by Eli Zaretskii . + +2012-05-11 Paul Eggert + + fsusage: check for GNU/Linux statvfs problem dynamically + * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]: + Define STAT_STATFS2_BSIZE too, since in this case the code now + checks dynamically whether statvfs is reliable, falling back on + Linux-style statfs otherwise. + (statvfs_works): New function, for dynamically testing statvfs. + (get_fs_usage) [STAT_STATVFS]: Use it. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for + statvfs on GNU/Linux hosts, since it's now done dynamically. + +2012-05-10 Bruno Haible + + system-quote, execute, spawn-pipe: Escape '?' on Windows. + * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the + '?' character. + * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise. + * tests/test-system-quote-main.c (check_all): Check also strings like + "??????????". + Reported by Eli Zaretskii . + +2012-05-10 Paul Eggert + + _Noreturn: port config.h to gcc -Wundef + * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is + defined before using it, for gcc -Wundef. Reported by Akim Demaille in + . + +2012-05-10 Bruno Haible + + system-quote: Refactor. + * lib/system-quote.h (system_quote_copy): Fix comment. + * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote): + New functions, extracted from system_quote_copy. + (system_quote_length, system_quote_copy): Use these functions. + Reported by Paul Eggert. + +2012-05-08 Bruno Haible + + execute, spawn-pipe: Escape '*' characters in arguments on Windows. + * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character. + +2012-05-08 Bruno Haible + + Tests for module 'system-quote'. + * modules/system-quote-tests: New file. + * tests/test-system-quote.sh: New file. + * tests/test-system-quote-main.c: New file. + * tests/test-system-quote-child.c: New file. + + New module 'system-quote'. + * lib/system-quote.h: New file. + * lib/system-quote.c: New file. + * modules/system-quote: New file. + +2012-05-08 Bruno Haible + + sh-quote: Make C++ safe and allow multiple inclusion. + * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function + declarations in extern "C". + +2012-05-08 Bruno Haible + + sh-quote tests: Make tests stricter. + * tests/test-sh-quote.c (check_one): Check the return value of + shell_quote_copy. + (main): Check a string with a CR character. Check a string that + contains UCHAR_MAX. + +2012-05-08 Akim Demaille + + warnings.m4: provide a means to specify the program to compile. + * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from... + (gl_WARN_ADD): here. + Use gl_AS_VAR_APPEND. + Support an argument to specify the program to compile. + (gl_WARN_ADD): Accept an argument to specify the program to compile. + AC_SUBST the WARN_CFLAGS when they are used. + * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS, + leave this to gl_WARN_ADD. + +2012-05-08 Eric Blake + + doc: recommendations on gettext version + * doc/gnulib-tool.texi (gettextize and autopoint): Document the + choice between versions. + * DEPENDENCIES (gettext): Cover both approaches. + +2012-05-08 Jim Meyering + + init.sh: explain why EXEEXT support uses aliases rather than functions + * tests/init.sh: Add a comment. + + init.sh: don't let bash aliases interfere with tests + * tests/init.sh: Undefine any pre-defined aliases if the selected shell + is bash. This avoids problems for those who alias standard commands to + non-conforming uses, like those reported in http://bugs.gnu.org/11256. + Suggested by Tim Mooney . + +2012-05-07 Paul Eggert + + stdint: be more consistent with glibc, SunOS libc + * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t) + (gl_int_fast16_t, gl_uint_fast16_t) + (gl_int_fast32_t, gl_uint_fast32_t) + (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX) + (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX) + (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX): + Be consistent with glibc by default, and with SunOS 5.10 and later + if __sun is defined. This lessens the likelihood of clashes if + code compiled for older hosts is combined with code compiled for + newer ones. Problem reported by Niels Möller in + . + +2012-05-07 Eric Blake + + isatty: relax license to LGPLv2+ + * modules/isatty (License): Relax license. + +2012-05-06 Paul Eggert + + stat-size: comment fix + * lib/stat-size.h: Remove obsolete comment about indenting. + +2012-05-06 Bruno Haible + + Tests for module 'sh-quote'. + * modules/sh-quote-tests: New file. + * tests/test-sh-quote.c: New file. + +2012-05-06 Bruno Haible + + sh-quote: Improve shell_quote_argv's signature. + * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'. + * lib/sh-quote.c (shell_quote_argv): Likewise. + +2012-05-06 Paul Eggert + + stdint: document issues with int_fast8_t etc. + * doc/posix-headers/stdint.texi (stdint.h): Say that other + stdint.h substitutes may define these types differently. See + . + +2012-05-05 Bruno Haible + + nanosleep: Avoid guessing wrong when cross-compiling to Linux. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When + cross-compiling, set gl_cv_func_nanosleep to either 'guessing no' + or 'guessing no (mishandles large arguments)'. + +2012-05-05 Bruno Haible + + link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux. + * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require + AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform, + set gl_cv_func_link_follows_symlink to "guessing no". + +2012-05-05 Bruno Haible + + tzset: Avoid guessing wrong when cross-compiling to glibc systems. + * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When + cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to + "guessing no". + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update. + +2012-05-05 Bruno Haible + + d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems. + * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require + AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform, + set gl_cv_struct_dirent_d_ino to "guessing yes". + +2012-05-05 Bruno Haible + + fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling. + * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When + cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to + "guessing yes". + +2012-05-05 Bruno Haible + + signbit: Avoid "guessing no" when cross-compiling to glibc systems. + * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross- + compiling to a glibc system, set gl_cv_func_signbit and + gl_cv_func_signbit_gcc to "guessing yes". + +2012-05-05 Bruno Haible + + strerror: Avoid "guessing no" when cross-compiling to glibc systems. + * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When + cross-compiling to a glibc platform, set gl_cv_func_working_strerror + to "guessing yes". + (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling + to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes". + +2012-05-05 Bruno Haible + + canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc. + * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require + AC_CANONICAL_HOST. When cross-compiling to a glibc system, set + gl_cv_func_realpath_works to "guessing yes". + +2012-05-05 Bruno Haible + + gettimeofday: Avoid bad guess when cross-compiling to glibc systems. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require + AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms. + +2012-05-04 Bruno Haible + + Tweak last commit. + * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments. + * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. + +2012-05-04 Paul Eggert + + unistd_h: make it easier to avoid sys_types_h + This is useful for Emacs, which has its own method of porting to + Windows, and which therefore does not need the sys_types_h module. + * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains + code moved here from gl_SYS_TYPES_H. + * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of + using the code directly. + * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not + gl_SYS_TYPES_H. + * modules/sys_types (Files): + * modules/unistd (Files): Add m4/off_t.m4. + +2012-05-03 Bruno Haible + + lstat: Avoid "guessing no" when cross-compiling to glibc systems. + * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross- + compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to + "guessing yes" or "guessing no". + (gl_FUNC_LSTAT): Update. + * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update. + * m4/openat.m4 (gl_FUNC_OPENAT): Update. + * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update. + +2012-05-03 Bruno Haible + + *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc. + * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70. + * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70. + * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When + cross-compiling, choose the first alternative on glibc systems. + * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4. + +2012-05-03 Bruno Haible + + getgroups: Avoid "guessing no" when cross-compiling to glibc systems. + * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70. + (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works. + +2012-05-03 Bruno Haible + + chown: Avoid "guessing no" when cross-compiling to glibc systems. + * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70. + +2012-05-03 Bruno Haible + + Avoid "guessing no" guesses when cross-compiling to glibc systems. + * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes". + * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes". + * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes". + * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes". + * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_chown_slash_works, + gl_cv_func_chown_ctime_works to "guessing yes". + * m4/lchown.m4 (gl_FUNC_LCHOWN): Update. + * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes". + * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes". + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_open_directory_works to + "guessing yes". + * m4/fstat.m4 (gl_FUNC_FSTAT): Update. + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to + "guessing yes". + * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes". + * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_floorf_ieee to + "guessing yes". + * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes". + * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes". + * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes". + * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_getgroups_works to + "guessing yes". + * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes". + * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_hypotf_ieee to + "guessing yes". + * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_hypotl_ieee to + "guessing yes". + * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_link_works to "guessing yes". + * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes". + * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes". + * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes". + * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log10f_ieee to + "guessing yes". + * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes". + * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log1pf_ieee to + "guessing yes". + * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log1pl_ieee to + "guessing yes". + * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes". + * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes". + * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works, + gl_cv_func_mkdir_trailing_dot_works to "guessing yes". + * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_mkfifo_works to + "guessing yes". + * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_mknod_works to + "guessing yes". + * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to + "guessing yes". + * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes". + * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes". + * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes". + * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_svid_putenv to + "guessing yes". + * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_readlink_works to + "guessing yes". + * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to + "guessing yes". + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST. + When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee + to "guessing yes". + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST. + When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee + to "guessing yes". + * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_rmdir_works to + "guessing yes". + * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_unlink_honors_slashes, + gl_cv_func_unlink_parent_fails to "guessing yes". + * m4/remove.m4 (gl_FUNC_REMOVE): Update. + * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_rename_slash_dst_works, + gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works, + gl_cv_func_rename_dest_works to "guessing yes". + * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes". + * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_roundf_ieee to + "guessing yes". + * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_roundl_ieee to + "guessing yes". + * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_setenv_works to + "guessing yes". + (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_unsetenv_works to + "guessing yes". + * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_sleep_works to + "guessing yes". + * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_stat_file_slash to + "guessing yes". + * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When + cross-compiling to glibc systems, set gl_cv_func_symlink_works to + "guessing yes". + * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes". + * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_truncf_ieee to + "guessing yes". + * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_truncl_ieee to + "guessing yes". + * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_usleep_works to + "guessing yes". + * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross- + compiling to glibc systems, set gl_cv_func_futimesat_works to + "guessing yes". + +2012-05-03 Bruno Haible + + Say "guessing yes" or "guessing no" when cross-compiling. + * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set + gl_cv_func_dup2_works to "guessing yes" or "guessing no". + * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set + gl_cv_func_working_getdelim to "guessing yes" or "guessing no". + * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set + am_cv_func_working_getline to "guessing yes" or "guessing no". + * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set + gl_cv_func_memmem_works_always to "guessing yes" or "guessing no". + (gl_FUNC_MEMMEM): When cross-compiling, set + gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no". + * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set + gl_cv_func_stpncpy to "guessing yes" or "guessing no". + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling, + set gl_cv_func_strcasestr_works_always to "guessing yes" or + "guessing no". + (gl_FUNC_STRCASESTR): When cross-compiling, set + gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no". + * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set + gl_cv_func_strstr_works_always to "guessing yes" or "guessing no". + (gl_FUNC_STRSTR): When cross-compiling, set + gl_cv_func_strstr_linear to "guessing yes" or "guessing no". + * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set + gl_cv_func_strtod_works to "guessing yes" or "guessing no". + * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set + gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no". + +2012-05-01 Bruno Haible + + relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD. + * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux. + * build-aux/reloc-ldflags: Likewise. + Suggested by Steven Chamberlain . + +2012-05-01 Bruno Haible + + gnulib-tool: Remove transitional code. + * gnulib-tool: Don't warn about --import with 0 arguments any more. + Reported by Dmitriy Selyutin . + +2012-05-01 Bruno Haible + + getcwd: Fix misindentation. + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation. + +2012-04-29 Paul Eggert + + exclude: process exclude and include directives in order + This restores the pre-2009 behavior, and is part of a fix of a + grep bug reported by Quentin Arce in + . + * lib/exclude.c (struct exclude): Remove 'tail' member. + (new_exclude_segment): Prepend the new segment instead of appending. + Return void, since that's now more convenient. + (file_pattern_matches): Renamed from excluded_file_pattern_p. + (file_name_matches): Renamed from excluded_file_name_p. + (file_pattern_matches, file_name_matches): + Return true if the pattern matches, not if it excludes. + All callers changed. + (excluded_file_name): Process the list in reverse order; + since the list is now reversed this restores the pre-2009 behavior. + (add_exclude): Adjust to new reversed-order list. Use local var + rather than macro, for clarity. + * tests/test-exclude7.sh: Adjust to corrected behavior. + + exclude: handle wildcards with FNM_NOESCAPE and with trailing \ + * lib/exclude.c (unescape_pattern): Don't worry about unescaped [; + it's not possible here. Handle the case of \ at end of pattern + without dumping core. + (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used. + + _Noreturn: future-proof non-GNU and non-MSVC compilers + * build-aux/snippet/_Noreturn.h (_Noreturn): + * m4/gnulib-common.m4 (gl_COMMON_BODY): + Do not define _Noreturn if __STDC_VERSION__ indicates this is + C11 or later. This is more likely to work with random future C + compilers that are neither GNUish nor MSVCish. See Vincent Lefevre in + . + + exclude: handle wildcards with FNM_EXTMATCH + * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(', + '+@', '!(' as wildcards, if FNM_EXTMATCH. Make it clear in a + comment that "has wildcards" really means "has or may have + wildcards". Simplify by avoiding the need to call strcspn. + +2012-04-29 Bruno Haible + + gnulib-tool: Fix list of authors. + * gnulib-tool (func_version): Add Paul Eggert to list of authors. + +2012-04-26 Stefano Lattarini + + bootstrap: support Automake-NG in $buildreq + * bootstrap (check_versions): Handle automake and aclocal from + Automake-NG specially. They can be specified as respectively + the "automake-ng" and "aclocal-ng" requirements. + +2012-04-25 Eric Blake + + bootstrap: only force latest Makefile.in.in for gettext module + * build-aux/bootstrap (with_gettext): Only install latest + Makefile.in.in for projects requesting bleeding edge gettext. + +2012-04-22 Bruno Haible + + doc: Mention reason for replacement on glibc/Linux systems. + * doc/posix-functions/dprintf.texi: Mention the problem with special + 'long double' values. + * doc/posix-functions/fprintf.texi: Likewise. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/snprintf.texi: Likewise. + * doc/posix-functions/sprintf.texi: Likewise. + * doc/posix-functions/vdprintf.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + * doc/posix-functions/vsnprintf.texi: Likewise. + * doc/posix-functions/vsprintf.texi: Likewise. + * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of + platforms with F_DUPFD_CLOEXEC problems. + * doc/posix-functions/glob.texi: Mention which platforms are affected + by the problem with symbolic links. + * doc/posix-functions/linkat.texi: Mention the problem with + AT_SYMLINK_FOLLOW on Linux. + +2012-04-22 Bruno Haible + + pwrite: Don't replace on all platforms. + * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program. + +2012-04-22 Bruno Haible + + rint* tests: Avoid gcc warnings. + * tests/test-rint.c (INFINITY, NAN): Undefine before redefining. + * tests/test-rintf.c (INFINITY, NAN): Likewise. + * tests/test-rintl.c (INFINITY, NAN): Likewise. + +2012-04-21 Bruno Haible + + users.txt: Update. + * users.txt: Add freedink, wdiff. Update URLs for projects that have + switched from CVS to git, bzr, or svn. + +2012-04-21 Bruno Haible + + Large File Support for native Windows platforms. + + * m4/largefile.m4 (gl_LARGEFILE): New macro. + * modules/largefile (configure.ac): Require gl_LARGEFILE. + + * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit + type. + * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T. + * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T. + * doc/posix-headers/sys_types.texi: Mention the effect of the + 'largefile' module. + + * lib/fcntl.in.h: Add comments about off_t. + * modules/fcntl-h (Depends-on): Add sys_types. + + * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include . + (ftruncate): Replace it if REPLACE_FTRUNCATE is 1. + * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H. + (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE. + * modules/unistd (Depends-on): Add sys_types. + (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE. + + * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64 + instead of lseek. + * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set + REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1. + * modules/lseek (Depends-on): Add sys_types. + + * lib/ftruncate.c: Put under GPLv3+. Include , + msvc-nothrow.h. + (SetFileSize): New function. + (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation. + * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows + if Large File Support is requested. + * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE. + (Depends-on): Add sys_types, msvc-nothrow. Update conditions. + + * lib/stdio.in.h: Add comments about off_t. + * modules/stdio (Depends-on): Add sys_types. + + * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64 + instead of ftello. + * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set + REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1. + (gl_PREREQ_FTELLO): New macro. + * modules/ftello (Depends-on): Add sys_types. + (configure.ac): Incoke gl_PREREQ_FTELLO. + + * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64 + instead of fseeko. + * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set + REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1. + (gl_PREREQ_FSEEKO): New macro. + * modules/fseeko (Depends-on): Add sys_types. + (configure.ac): Invoke gl_PREREQ_FSEEKO. + + * lib/sys_stat.in.h: Add comments about off_t. + (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a + 64-bit integer for st_size in 'struct stat'. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE. + Define _GL_WINDOWS_64_BIT_ST_SIZE. + * modules/sys_stat (Depends-on): Add sys_types. + (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE. + + * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64 + instead of stat or _stat. + + * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and + 'struct _stati64' instead of fstat and 'struct stat'. + * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set + REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1. + + Reported by Ray Satiro . + +2012-04-19 Eric Blake + + bootstrap: accommodate older libtool + * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22. + Reported by Daniel P. Berrange. + +2012-04-19 Jim Meyering + + announce-gen: avoid failure due to lack of Digest::SHA1 + Even with the preferred Digest::SHA available, this script + would fail when the backup module, Digest::SHA1, was not installed. + * build-aux/announce-gen: Quote the conditional use of "use". + Reported by Reuben Thomas in: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444 + + bootstrap: don't let a user's CDPATH setting affect this script + When CDPATH is set, cd will sometimes generate output. + When "cd" is run in a subshell whose output matters, that + surprising-to-some output can cause malfunction. + Unsetting CDPATH turns off this shell "feature." + * build-aux/bootstrap (CDPATH): Unset. + Reported by Reuben Thomas in: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435 + and inspired by his patch here: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440 + +2012-04-16 Akim Demaille + and Jim Meyering + + maint.mk: catch "see @xref{}" and similar + * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also + prohibit "See also @xref{", "Also see @pxref{", and similar. + +2012-04-16 Jim Meyering + + bootstrap: really use gnulib's po/Makefile.in.in + * build-aux/bootstrap: Correct the source file name in previous change. + Reported by Akim Demaille. + + configmake: correct minor inconsistency in Makefile rule + * modules/configmake (Makefile.am): All other rules like this one + run the final "mv -f ..." in the same backslash-continued command + as the one that does everything else. This one put the mv -f ... + command on a separate, non-backslash-continued line. + Make it like the others. + + bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext + * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not + the one from gettext. Reported by Akim Demaille. + +2012-04-16 Joel E. Denny + + Fix recursion of install-* into po directories. + Bison's install-pdf bug reported by Hans Aberg at + . + * build-aux/po/Makefile.in.in (install-dvi, install-html) + (install-info, install-pdf, install-ps): New targets. + +2012-04-16 Jim Meyering + + maint: avoid spurious "make sc_maint" failure + * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also + exempt all *.class file names, for lib/javaversion.class. + +2012-04-15 Bruno Haible + + lseek: Make configure test independent of environment. + * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native + Windows, we know that lseek() on pipes is broken; skip the runtime + test. + +2012-04-14 Bruno Haible + + stat: Bypass buggy override in mingw64. + * m4/stat.m4 (gl_FUNC_STAT): Update comments. + * lib/stat.c (stat) [mingw64]: Define to _stat. + * doc/posix-functions/stat.texi: Mention mingw64 bug. + +2012-04-14 Bruno Haible + + pathmax: Fix compilation error on MSVC 9. + * modules/pathmax (Depends-on): Add unistd. + +2012-04-12 Paul Eggert + + README: document pointer comparison assumption + * README (Portability guidelines): Document assumption about + pointer comparisons, in response to a recent bug-gnulib comment by + Jeffrey Kegler. + +2012-04-12 Bruno Haible + + Tests for module 'getrusage'. + * modules/getrusage-tests: New file. + * tests/test-getrusage.c: New file. + + New module 'getrusage'. + * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h, + warn-on-use.h. + (getrusage): New declaration. + * lib/getrusage.c: New file. + * m4/getrusage.m4: New file. + * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage + is declared. + (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE, + HAVE_GETRUSAGE. + * modules/sys_resource (Depends-on): Add snippet/arg-nonnull, + snippet/c++defs, snippet/warn-on-use. + (Makefile.am): Update generation of sys/resource.h. Substitute + GNULIB_GETRUSAGE, HAVE_GETRUSAGE. + * modules/getrusage: New file. + * doc/posix-functions/getrusage.texi: Mention the new module. + +2012-04-12 Bruno Haible + + Tests for module 'sys_resource'. + * modules/sys_resource-tests: New file. + * tests/test-sys_resource.c: New file. + + New module 'sys_resource'. + * lib/sys_resource.in.h: New file. + * m4/sys_resource_h.m4: New file. + * modules/sys_resource: New file. + * doc/posix-headers/sys_resource.texi: Mention the new module. + +2012-04-12 LRN (tiny change) + + ioctl: Fix compilation error on mingw. + * lib/ioctl.c: Include . + Also reported by Ray Satiro . + +2012-04-04 Jim Meyering + + regex: correct #pragma guard expression + * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6, + not 4.3. Correct its cpp guard expression. + +2012-04-04 Paul Eggert + + regex: remove unnecessary type punning + Problem reported by Vladimir Serbinenko in + . + * lib/regex.h (struct re_pattern_buffer): Change the type of + __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *. + Fix comment to match code. + * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree) + (re_compile_internal, free_workarea_compile, analyze, lower_subexp) + (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp): + * lib/regexec.c (regexec, re_search_stub, re_search_internal) + (set_regs): + Omit no-longer-necessary casts. + +2012-04-03 Bruno Haible + + Tests for module 'ilogbl'. + * modules/ilogbl-tests: New file. + * tests/test-ilogbl.c: New file. + + New module 'ilogbl'. + * lib/math.in.h (ilogbl): New declaration. + * lib/ilogbl.c: New file. + * m4/ilogbl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL. + * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL. + Split sed invocation, to avoid the limit of 100 substitutions of + HP-UX 'sed'. + * modules/ilogbl: New file. + * tests/test-math-c++.cc: Check the declaration of ilogbl. + * doc/posix-functions/ilogbl.texi: Mention the new module. + +2012-04-03 Bruno Haible + + Tests for module 'ilogbf'. + * modules/ilogbf-tests: New file. + * tests/test-ilogbf.c: New file. + + New module 'ilogbf'. + * lib/math.in.h (ilogbf): New declaration. + * lib/ilogbf.c: New file. + * m4/ilogbf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF, + REPLACE_ILOGBF. + * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF, + REPLACE_ILOGBF. + * modules/ilogbf: New file. + * tests/test-math-c++.cc: Check the declaration of ilogbf. + * doc/posix-functions/ilogbf.texi: Mention the new module. + +2012-04-03 Bruno Haible + + Tests for module 'ilogb'. + * modules/ilogb-tests: New file. + * tests/test-ilogb.c: New file. + * tests/test-ilogb.h: New file, based on tests/test-logb.h and + tests/test-logb-ieee.h. + + New module 'ilogb'. + * lib/math.in.h (ilogb): New declaration. + * lib/ilogb.c: New file. + * m4/ilogb.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB, + REPLACE_ILOGB. + * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB, + REPLACE_ILOGB. + * modules/ilogb: New file. + * tests/test-math-c++.cc: Check the declaration of ilogb. + * doc/posix-functions/ilogb.texi: Mention the new module. + +2012-04-03 Bruno Haible + + math: Provide FP_ILOGB0 and FP_ILOGBNAN. + * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback. + * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined. + (main): Check their values. + * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN + problem. + +2012-04-03 Bruno Haible + + Tests for module 'logbl-ieee'. + * modules/logbl-ieee-tests: New file. + * tests/test-logbl-ieee.c: New file. + + New module 'logbl-ieee'. + * modules/logbl-ieee: New file. + + Tests for module 'logb-ieee'. + * modules/logb-ieee-tests: New file. + * tests/test-logb-ieee.c: New file. + + New module 'logb-ieee'. + * modules/logb-ieee: New file. + + Tests for module 'logbf-ieee'. + * modules/logbf-ieee-tests: New file. + * tests/test-logbf-ieee.c: New file. + * tests/test-logb-ieee.h: New file. + + New module 'logbf-ieee'. + * modules/logbf-ieee: New file. + +2012-04-03 Bruno Haible + + Tests for module 'logbl'. + * modules/logbl-tests: New file. + * tests/test-logbl.c: New file. + + New module 'logbl'. + * lib/math.in.h (logbl): New declaration. + * lib/logbl.c: New file. + * m4/logbl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL, + REPLACE_LOGBL. + * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL, + REPLACE_LOGBL. + * modules/logbl: New file. + * tests/test-math-c++.cc: Check the declaration of logbl. + * doc/posix-functions/logbl.texi: Mention the new module. + +2012-04-02 Bruno Haible + + Tests for module 'logbf'. + * modules/logbf-tests: New file. + * tests/test-logbf.c: New file. + + New module 'logbf'. + * lib/math.in.h (logbf): New declaration. + * lib/logbf.c: New file. + * m4/logbf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF, + REPLACE_LOGBF. + * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF, + REPLACE_LOGBF. + * modules/logbf: New file. + * tests/test-math-c++.cc: Check the declaration of logbf. + * doc/posix-functions/logbf.texi: Mention the new module. + +2012-04-02 Bruno Haible + + logb tests: More tests. + * tests/test-logb.h: New file, based on tests/test-logb.c and + tests/test-frexp.h. + * tests/test-logb.c: Include minus-zero.h, test-logb.h. + (main): Just invoke test_function. + * modules/logb-tests (Files): Add tests/test-logb.h, + tests/minus-zero.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_logb_SOURCES. + + logb: Provide replacement and workarounds. + * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB + is 1. + * lib/logb.c: New file. + * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro. + (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB. + * modules/math (Makefile.am): Substitute REPLACE_LOGB. + * modules/logb (Files): Add lib/logb.c. + (Depends-on): Add isfinite, frexp, isnand. + (configure.ac): Compile the replacement code logb.c if needed. + * tests/test-math-c++.cc: Check the declaration of logb. + * doc/posix-functions/logb.texi: Mention the replacement and the bug + with subnormal numbers. + +2012-04-02 Bruno Haible + + log10* tests: Speed up. + * tests/test-log10.h (test_function): Reduce amount of random numbers + to test. + +2012-04-01 Bruno Haible + + logf-ieee: Fix test whether logf works. + * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program. + +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. + * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure + gracefully. + * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise. + Based on a report and patch by Stephen Gallagher . + +2012-03-13 Akim Demaille + + quote: fix syntax-check + * top/maint.mk (sc_prohibit_quote_without_use): quote.h + also exports quote_quoting_options. + +2012-03-12 Simon Josefsson + + Collapse list of copyright years to ranges. See + . + * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in, + build-aux/csharpexec.sh.in, build-aux/gnupload, + build-aux/install-reloc, build-aux/javacomp.sh.in, + build-aux/javaexec.sh.in, build-aux/ldd.sh.in, + build-aux/move-if-change, build-aux/reloc-ldflags, + build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright. + +2012-03-11 Bruno Haible + + log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10. + * m4/log2f-ieee.m4: New file. + * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test + whether log2f works with a minus zero argument. Replace it if not. + * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4. + (Depends-on): Add log2-ieee. + (configure.ac): Invoke gl_FUNC_LOG2F_IEEE. + * doc/posix-functions/log2f.texi: Mention the log2f-ieee module. + + log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10. + * m4/log2-ieee.m4: New file. + * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test + whether log2 works with a minus zero argument. Replace it if not. + * modules/log2-ieee (Files): Add m4/log2-ieee.m4. + (configure.ac): Invoke gl_FUNC_LOG2_IEEE. + * doc/posix-functions/log2.texi: Mention the log2-ieee module. + + Tests for module 'log2l-ieee'. + * modules/log2l-ieee-tests: New file. + * tests/test-log2l-ieee.c: New file. + + New module 'log2l-ieee'. + * modules/log2l-ieee: New file. + + Tests for module 'log2-ieee'. + * modules/log2-ieee-tests: New file. + * tests/test-log2-ieee.c: New file. + + New module 'log2-ieee'. + * modules/log2-ieee: New file. + + Tests for module 'log2f-ieee'. + * modules/log2f-ieee-tests: New file. + * tests/test-log2f-ieee.c: New file. + * tests/test-log2-ieee.h: New file. + + New module 'log2f-ieee'. + * modules/log2f-ieee: New file. + +2012-03-11 Bruno Haible + + Tests for module 'log2l'. + * modules/log2l-tests: New file. + * tests/test-log2l.c: New file. + + New module 'log2l'. + * lib/math.in.h (log2l): New declaration. + * lib/log2l.c: New file. + * m4/log2l.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L, + REPLACE_LOG2L. + * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L, + REPLACE_LOG2L. + * modules/log2l: New file. + * tests/test-math-c++.cc: Check the declaration of log2l. + * doc/posix-functions/log2l.texi: Mention the new module and the IRIX + and OSF/1 problems. + +2012-03-11 Bruno Haible + + Tests for module 'log2f'. + * modules/log2f-tests: New file. + * tests/test-log2f.c: New file. + + New module 'log2f'. + * lib/math.in.h (log2f): New declaration. + * lib/log2f.c: New file. + * m4/log2f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F, + REPLACE_LOG2F. + * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F, + REPLACE_LOG2F. + * modules/log2f: New file. + * tests/test-math-c++.cc: Check the declaration of log2f. + * doc/posix-functions/log2f.texi: Mention the new module and the IRIX + and OSF/1 and Cygwin problems. + +2012-03-11 Bruno Haible + + Tests for module 'log2'. + * modules/log2-tests: New file. + * tests/test-log2.c: New file. + * tests/test-log2.h: New file. + + New module 'log2'. + * lib/math.in.h (log2): New declaration. + * lib/log2.c: New file. + * m4/log2.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2, + REPLACE_LOG2. + * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2, + REPLACE_LOG2. + * modules/log2: New file. + * tests/test-math-c++.cc: Check the declaration of log2. + * doc/posix-functions/log2.texi: Mention the new module and the IRIX + and OSF/1 and Cygwin problems. + +2012-03-11 Bruno Haible + + exp2* tests: More tests. + * tests/test-exp2.h (test_function): Test all integral arguments that + don't need to overflow or denormalized numbers. + * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros. + * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise. + * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise. + +2012-03-10 Bruno Haible + + log1pl-ieee: Work around test failure on AIX 7.1. + * modules/log1pl-ieee (Depends-on): Add log1p-ieee. + + log1pl-ieee: Work around test failure on IRIX 6.5. + * m4/log1pl-ieee.m4: New file. + * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present, + test whether log1pl works with a minus zero argument. Replace it if + not. + * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL. + * modules/math (Makefile.am): Substitute REPLACE_LOG1PL. + * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL. + (Depends-on): Update conditions. + * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE. + * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module. + + log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1. + * m4/log1pf-ieee.m4: New file. + * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present, + test whether log1pf works with a minus zero argument. Replace it if + not. + * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE. + * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module. + + log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11. + * modules/log1pf-ieee (Depends-on): Add log1p-ieee. + (configure.ac): Require gl_FUNC_LOG1PF. + + log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11. + * m4/log1p-ieee.m4: New file. + * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test + whether log1p works with a minus zero argument. Replace it if not. + * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P. + * modules/math (Makefile.am): Substitute REPLACE_LOG1P. + * modules/log1p (configure.ac): Consider REPLACE_LOG1P. + (Depends-on): Update conditions. + * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_LOG1P_IEEE. + * doc/posix-functions/log1p.texi: Mention the log1p-ieee module. + + Tests for module 'log1pl-ieee'. + * modules/log1pl-ieee-tests: New file. + * tests/test-log1pl-ieee.c: New file. + + New module 'log1pl-ieee'. + * modules/log1pl-ieee: New file. + + Tests for module 'log1p-ieee'. + * modules/log1p-ieee-tests: New file. + * tests/test-log1p-ieee.c: New file. + + New module 'log1p-ieee'. + * modules/log1p-ieee: New file. + + Tests for module 'log1pf-ieee'. + * modules/log1pf-ieee-tests: New file. + * tests/test-log1pf-ieee.c: New file. + * tests/test-log1p-ieee.h: New file. + + New module 'log1pf-ieee'. + * modules/log1pf-ieee: New file. + +2012-03-10 Bruno Haible + + Tests for module 'log1pl'. + * modules/log1pl-tests: New file. + * tests/test-log1pl.c: New file. + + New module 'log1pl'. + * lib/math.in.h (log1pl): New declaration. + * lib/log1pl.c: New file. + * m4/log1pl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL. + * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL. + * modules/log1pl: New file. + * tests/test-math-c++.cc: Check the declaration of log1pl. + * doc/posix-functions/log1pl.texi: Mention the new module. + +2012-03-10 Bruno Haible + + Tests for module 'log1pf'. + * modules/log1pf-tests: New file. + * tests/test-log1pf.c: New file. + + New module 'log1pf'. + * lib/math.in.h (log1pf): New declaration. + * lib/log1pf.c: New file. + * m4/log1pf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF, + REPLACE_LOG1PF. + * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF, + REPLACE_LOG1PF. + * modules/log1pf: New file. + * tests/test-math-c++.cc: Check the declaration of log1pf. + * doc/posix-functions/log1pf.texi: Mention the new module. + +2012-03-10 Bruno Haible + + log1p tests: More tests. + * tests/test-log1p.h: New file. + * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_log1p_SOURCES. + * tests/test-log1p.c: Include and test-log1p.h. + (main): Invoke test_function. + + log1p: Provide replacement for Minix and MSVC. + * lib/math.in.h (log1p): New declaration. + * lib/log1p.c: New file. + * m4/log1p.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P. + * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P. + * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4. + (Depends-on): Add math, isnand, log, round. + (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if + HAVE_LOG1P is 0. + * tests/test-math-c++.cc: Check the declaration of log1p. + * doc/posix-functions/log1p.texi: Mention the replacement. + +2012-03-10 Bruno Haible + + math tests: Small simplification. + * tests/test-exp.h (test_function): Use the same err_bound for + 'double' on platforms with sizeof (long double) == sizeof (double) + than on platforms with sizeof (long double) > sizeof (double). + * tests/test-exp2.h (test_function): Likewise. + * tests/test-expm1.h (test_function): Likewise. + * tests/test-log.h (test_function): Likewise. + +2012-03-10 Bruno Haible + + Fix some comments. + * lib/expl.c: Fix an ambiguous comment. + * lib/expm1.c: Likewise. + * lib/expm1l.c: Likewise. + * lib/exp2.c: Likewise. + * lib/exp2l.c: Likewise. + +2012-03-10 Paul Eggert + + regex: allow inclusion of before + Without this patch, portable programs had to include before + if they wanted a consistent value for RE_DUP_MAX. + I ran into this problem with a test version of GNU grep on Solaris 8. + * lib/regex.h: Include if _REGEX_INCLUDE_LIMITS_H. + This is done conditionally so that this change can be merged + back to glibc. + * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if + using the included regex. + + fts: depend on fdopendir + * modules/fts (Depends-on): Depend on fdopendir. This is needed + on Solaris 8, at least, since it lacks fdopendir. Evidently the + problem was introduced when fdopendir was split out. + +2012-03-10 Bruno Haible + + Remove unused variables. + * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise. + +2012-03-10 Bruno Haible + + isnanf-nolibm: Fix last commit. + * lib/isnanf-nolibm.h [IRIX]: Don't include . Declare isnanf. + + isnanf-nolibm: Make it work on IRIX 6.5 with cc. + * lib/isnanf-nolibm.h [IRIX]: Include . + +2012-03-10 Bruno Haible + + logf-ieee: Work around test failure on NetBSD 5.1. + * m4/logf-ieee.m4: New file. + * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test + whether logf works with a negative argument. Replace it if not. + * lib/logf.c (logf): For negative arguments, return NaN. + * modules/logf-ieee (Files): Add m4/logf-ieee.m4. + (configure.ac): Invoke gl_FUNC_LOGF_IEEE. + * doc/posix-functions/logf.texi: Mention the logf-ieee module. + + logf-ieee: Work around test failure on Solaris 9. + * modules/logf-ieee (Depends-on): Add log-ieee. + (configure.ac): Require gl_FUNC_LOGF. + + log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11. + * m4/log-ieee.m4: New file. + * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether + log works with a negative argument. Replace it if not. + * lib/log.c (log): For negative arguments, return NaN. + * modules/log-ieee (Files): Add m4/log-ieee.m4. + (configure.ac): Invoke gl_FUNC_LOG_IEEE. + * doc/posix-functions/log.texi: Mention the log-ieee module. + + Tests for module 'logl-ieee'. + * modules/logl-ieee-tests: New file. + * tests/test-logl-ieee.c: New file. + + New module 'logl-ieee'. + * modules/logl-ieee: New file. + + Tests for module 'log-ieee'. + * modules/log-ieee-tests: New file. + * tests/test-log-ieee.c: New file. + + New module 'log-ieee'. + * modules/log-ieee: New file. + + Tests for module 'logf-ieee'. + * modules/logf-ieee-tests: New file. + * tests/test-logf-ieee.c: New file. + * tests/test-log-ieee.h: New file. + + New module 'logf-ieee'. + * modules/logf-ieee: New file. + +2012-03-10 Bruno Haible + + log: Fix bug introduced on 2012-03-09. + * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS. + +2012-03-10 Pádraig Brady + + timer-time: link explicitly with pthreads on glibc + * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread + to support static linking, when newer glibc is + detected, as that contains pthread emulation of + POSIX timer functions where required. + * modules/timer-time: Depend on threadlib to + pull in the appropriate library to link. + +2012-03-10 Bruno Haible + + log* tests: More tests. + * tests/test-log.h: New file. + * tests/test-log.c: Include , minus-zero.h, test-log.h. + (main): Invoke test_function. + * tests/test-logf.c: Include , minus-zero.h, test-log.h. + (main): Invoke test_function. + * tests/test-logl.c: Include , minus-zero.h, test-log.h. + (main): Invoke test_function. + * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h, + tests/randomd.c. + (Makefile.am): Add randomd.c to test_log_SOURCES. + * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h, + tests/randomf.c. + (Makefile.am): Add randomf.c to test_logf_SOURCES. + * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h, + tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_logl_SOURCES. + +2012-03-09 Bruno Haible + + logl: Work around OSF/1 5.1 bug. + * lib/math.in.h (logl): Override if REPLACE_LOGL is 1. + * 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. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL. + * modules/math (Makefile.am): Substitute REPLACE_LOGL. + * modules/logl (configure.ac): Consider REPLACE_LOGL. + (Depends-on): Update conditions. + * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem. + +2012-03-09 Bruno Haible + + logf: Work around OSF/1 5.1 bug. + * lib/math.in.h (logf): Override if REPLACE_LOGF is 1. + * lib/logf.c (logf): If logf exists, use it and provide just the + workaround. + * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro. + (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF. + * modules/math (Makefile.am): Substitute REPLACE_LOGF. + * modules/logf (configure.ac): Consider REPLACE_LOGF. + (Depends-on): Update conditions. + * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem. + +2012-03-09 Bruno Haible + + log: Work around OSF/1 5.1 bug. + * lib/math.in.h (log): New declaration. + * lib/log.c: New file. + * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro. + (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG. + * m4/math_h.m4 (gl_MATH_H): Test whether log is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG. + * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG. + * modules/log (Files): Add lib/log.c. + (Depends-on): Add math. + (configure.ac): If REPLACE_LOG is 1, compile an override. + * tests/test-math-c++.cc: Check the declaration of log. + * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem. + +2012-03-09 Jim Meyering + + readtokens.c: adjust wording in a comment + * lib/readtokens.c: Insert omitted "that" in a comment. + +2012-03-08 Paul Eggert + + modechange: add notations +40, 00440, etc. + * lib/modechange.c (mode_compile): Support new notations + +40, -40, =440, 00440. See . + +2012-03-08 Bruno Haible + + exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5. + * m4/exp2l-ieee.m4: New file. + * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present, + test whether exp2l works with a NaN argument and with a negative + infinity argument. Replace it if not. + * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L. + * modules/math (Makefile.am): Substitute REPLACE_EXP2L. + * modules/exp2l (configure.ac): Consider REPLACE_EXP2L. + (Depends-on): Update conditions. + * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4. + (configure.ac): Invoke gl_FUNC_EXP2L_IEEE. + * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module. + + Tests for module 'exp2l-ieee'. + * modules/exp2l-ieee-tests: New file. + * tests/test-exp2l-ieee.c: New file. + + New module 'exp2l-ieee'. + * modules/exp2l-ieee: New file. + + Tests for module 'exp2-ieee'. + * modules/exp2-ieee-tests: New file. + * tests/test-exp2-ieee.c: New file. + + New module 'exp2-ieee'. + * modules/exp2-ieee: New file. + + Tests for module 'exp2f-ieee'. + * modules/exp2f-ieee-tests: New file. + * tests/test-exp2f-ieee.c: New file. + * tests/test-exp2-ieee.h: New file. + + New module 'exp2f-ieee'. + * modules/exp2f-ieee: New file. + +2012-03-08 Bruno Haible + + Tests for module 'exp2l'. + * modules/exp2l-tests: New file. + * tests/test-exp2l.c: New file. + + New module 'exp2l'. + * lib/math.in.h (exp2l): New declaration. + * lib/exp2l.c: New file. + * lib/expl-table.c: New file, extracted from lib/expl.c. + * lib/expl.c (gl_expl_table): New declaration. + (expl): Remove expl_table. Update reference. + * m4/exp2l.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L. + * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L. + * modules/exp2l: New file. + * modules/expl (Files): Add lib/expl-table.c. + (configure.ac): Compile also expl-table.c. + * tests/test-math-c++.cc: Check the declaration of exp2l. + * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX + problem. + +2012-03-08 Bruno Haible + + Tests for module 'exp2f'. + * modules/exp2f-tests: New file. + * tests/test-exp2f.c: New file. + + New module 'exp2f'. + * lib/math.in.h (exp2f): New declaration. + * lib/exp2f.c: New file. + * m4/exp2f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F. + * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F. + * modules/exp2f: New file. + * tests/test-math-c++.cc: Check the declaration of exp2f. + * doc/posix-functions/exp2f.texi: Mention the new module and the + IRIX problem. + +2012-03-08 Bruno Haible + + Tests for module 'exp2'. + * modules/exp2-tests: New file. + * tests/test-exp2.c: New file. + * tests/test-exp2.h: New file. + + New module 'exp2'. + * lib/math.in.h (exp2): New declaration. + * lib/exp2.c: New file. + * m4/exp2.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2, + REPLACE_EXP2. + * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2, + REPLACE_EXP2. + * modules/exp2: New file. + * tests/test-math-c++.cc: Check the declaration of exp2. + * doc/posix-functions/exp2.texi: Mention the new module and the IRIX + and OpenBSD problems. + +2012-03-08 Paul Eggert + + savedir: fix comment typo + * lib/savedir.c (savedirstream): Fix typo in comment. + +2012-03-08 Bruno Haible + + test-readtokens.c: use const; remove unwarranted cast + * tests/test-readtokens.c: Declare delim to be const, to avoid a cast. + +2012-03-08 Bruno Haible + + fmal: Avoid compilation error on AIX. + * lib/math.in.h (fmal): Undefine macro before declaration. Needed on + AIX 5.2..7.1. + +2012-03-08 Bruno Haible + + fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5. + * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared, + arrange to set REPLACE_FMA=1, not HAVE_FMA=0. + * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared, + arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0. + * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared, + arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0. + +2012-03-08 Bruno Haible + + remainderf: Override buggy system function on IRIX 6.5. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro. + (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared + when it exists. + * doc/posix-functions/remainderf.texi: Mention the IRIX problems. + +2012-03-08 Jim Meyering + + test-readtokens.c: avoid const-related compilation warnings + * tests/test-readtokens.c: Avoid const-related compilation warnings. + +2012-03-07 Jim Meyering + Bruno Haible + + frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03. + * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h, + tests/randomd.c. + (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES. + * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h, + tests/randoml.c. + (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES. + +2012-03-07 Bruno Haible + + expm1l: Avoid compilation error on AIX. + * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on + AIX 5.2..7.1. + +2012-03-07 Bruno Haible + + expm1l: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L. + * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when + it exists. Set HAVE_DECL_EXPM1L. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not + HAVE_EXPM1L. + * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not + HAVE_EXPM1L. + * doc/posix-functions/expm1l.texi: Mention missing declaration problem. + +2012-03-07 Bruno Haible + + remainderl: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not + HAVE_REMAINDERL. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is + declared when it exists. Set HAVE_DECL_REMAINDERL. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL, + not HAVE_REMAINDERL. + * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not + HAVE_REMAINDERL. + * doc/posix-functions/remainderl.texi: Mention missing declaration + problem. + +2012-03-07 Bruno Haible + + rintf: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF. + * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it + exists. Set HAVE_DECL_RINTF. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not + HAVE_RINTF. + * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not + HAVE_RINTF. + * doc/posix-functions/rintf.texi: Mention missing declaration problem. + +2012-03-07 Bruno Haible + + roundl: Avoid compilation error on AIX. + * lib/math.in.h (roundl): Undefine macro before declaration. Needed on + AIX 5.2..7.1. + +2012-03-07 Bruno Haible + + roundl: Don't override undeclared system function on IRIX 6.5. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries + also when it is not declared. Set HAVE_ROUNDL. For replacement code, + test HAVE_ROUNDL, not HAVE_DECL_ROUNDL. + * modules/roundl (configure.ac): For replacement code, test + HAVE_ROUNDL, not HAVE_DECL_ROUNDL. + (Depends-on): Update conditions. + * doc/posix-functions/roundl.texi: Mention the IRIX problem. + +2012-03-07 Bruno Haible + + roundf: Don't override undeclared system function on IRIX 6.5. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries + also when it is not declared. Set HAVE_ROUNDF. For replacement code, + test HAVE_ROUNDF, not HAVE_DECL_ROUNDF. + * modules/roundf (configure.ac): For replacement code, test + HAVE_ROUNDF, not HAVE_DECL_ROUNDF. + (Depends-on): Update conditions. + * modules/roundf-ieee (Depends-on): Update conditions. + * doc/posix-functions/roundf.texi: Mention the IRIX problem. + +2012-03-07 Bruno Haible + + round: Don't override undeclared system function on IRIX 6.5. + * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third + argument. + * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries + also when it is not declared. Set HAVE_ROUND. For replacement code, + test HAVE_ROUND, not HAVE_DECL_ROUND. + * modules/round (configure.ac): For replacement code, test HAVE_ROUND, + not HAVE_DECL_ROUND. + (Depends-on): Update conditions. + * modules/round-ieee (Depends-on): Update conditions. + * doc/posix-functions/round.texi: Mention the IRIX problem. + +2012-03-07 Bruno Haible + + copysignf: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not + HAVE_COPYSIGNF. + * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is + declared when it exists. Set HAVE_DECL_COPYSIGNF. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF, + not HAVE_COPYSIGNF. + * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not + HAVE_COPYSIGNF. + * doc/posix-functions/copysignf.texi: Mention missing declaration + problem. + +2012-03-07 Jim Meyering + + readtokens: add tests + * modules/readtokens-tests: New file. + * tests/test-readtokens.c: New file. + +2012-03-07 Jim Meyering + + quotearg: the module must now include quote.h + With commit v0.0-7133-g6417476, quotearg.c includes "quote.h". + So must the module. + * modules/quotearg (Files): Add quote.h. + +2012-03-06 Paul Eggert + + readtokens: avoid core dumps with unusual calling patterns + Reported by Xu Zhongxing in . + * lib/readtokens.c: Include limits.h. + (word, bits_per_word, get_nth_bit, set_nth_bit): New. + (readtoken): Don't cache the delimiters; the cache code was buggy + if !delim && saved_delim, or if the new n_delim differs from the old. + Also, it wasn't thread-safe. + +2012-03-07 Bruno Haible + + quote: Adhere to common module description layout. + * modules/quote (Makefile.am): Add back empty section. + +2012-03-06 Akim Demaille + + quote: fuse into quotearg + This patch is made for the benefit of Bison. + quote does not leave the choice of the quoting style to the user. + quoting_style provides poor customizability, yet quoting_options, + which is very rich, is hidden inside quotearg.c. So in order to + allow quote customization, move its implementation to quotearg.c. + * lib/quote.c: Remove. + * modules/quote: Adjust. + * lib/quotearg.c (quoting_options_from_style): Fix a compiler + warning: provide all the members of literal structs. + (quote_quoting_options): New. + (quote, quote_n): Import implementation from quote.c. + * lib/quote.h: Import the comments from quote.c. + (quote_quoting_options): New. + +2012-03-06 Bruno Haible + + Tests for module 'expm1l-ieee'. + * modules/expm1l-ieee-tests: New file. + * tests/test-expm1l-ieee.c: New file. + + New module 'expm1l-ieee'. + * modules/expm1l-ieee: New file. + + Tests for module 'expm1f-ieee'. + * modules/expm1f-ieee-tests: New file. + * tests/test-expm1f-ieee.c: New file. + + New module 'expm1f-ieee'. + * modules/expm1f-ieee: New file. + + Tests for module 'expm1-ieee'. + * modules/expm1-ieee-tests: New file. + * tests/test-expm1-ieee.c: New file. + * tests/test-expm1-ieee.h: New file. + + New module 'expm1-ieee'. + * modules/expm1-ieee: New file. + * m4/expm1-ieee.m4: New file. + * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test + whether expm1 works with a minus zero argument. Replace it if not. + * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1. + * modules/math (Makefile.am): Substitute REPLACE_EXPM1. + * modules/expm1 (configure.ac): Consider REPLACE_EXPM1. + (Depends-on): Update conditions. + * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the + AIX problem. + +2012-03-06 Bruno Haible + + Work around expm1f bug on IRIX 6.5. + * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1. + * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro. + (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does + not work. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F. + * modules/math (Makefile.am): Substitute REPLACE_EXPM1F. + * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F. + (Depends-on): Update conditions. + * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug. + +2012-03-06 Bruno Haible + + Tests for module 'expm1l'. + * modules/expm1l-tests: New file. + * tests/test-expm1l.c: New file. + + New module 'expm1l'. + * lib/math.in.h (expm1l): New declaration. + * lib/expm1l.c: New file. + * m4/expm1l.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L. + * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L. + * modules/expm1l: New file. + * tests/test-math-c++.cc: Check the declaration of expm1l. + * doc/posix-functions/expm1l.texi: Mention the new module. + +2012-03-06 Bruno Haible + + Tests for module 'expm1f'. + * modules/expm1f-tests: New file. + * tests/test-expm1f.c: New file. + + New module 'expm1f'. + * lib/math.in.h (expm1f): New declaration. + * lib/expm1f.c: New file. + * m4/expm1f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F. + * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F. + * modules/expm1f: New file. + * tests/test-math-c++.cc: Check the declaration of expm1f. + * doc/posix-functions/expm1f.texi: Mention the new module. + +2012-03-06 Bruno Haible + + Tests for module 'expm1'. + * modules/expm1-tests: New file. + * tests/test-expm1.c: New file. + * tests/test-expm1.h: New file. + + New module 'expm1'. + * lib/math.in.h (expm1): New declaration. + * lib/expm1.c: New file. + * m4/expm1.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1. + * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1. + * modules/expm1: New file. + * tests/test-math-c++.cc: Check the declaration of expm1. + * doc/posix-functions/expm1.texi: Mention the new module. + +2012-03-06 Bruno Haible + + math: Ensure declarations of math functions. + * modules/acosf (Depends-on): Add 'extensions'. + * modules/asinf (Depends-on): Likewise. + * modules/atan2f (Depends-on): Likewise. + * modules/atanf (Depends-on): Likewise. + * modules/cbrt (Depends-on): Likewise. + * modules/cbrtf (Depends-on): Likewise. + * modules/cbrtl (Depends-on): Likewise. + * modules/copysignf (Depends-on): Likewise. + * modules/copysignl (Depends-on): Likewise. + * modules/cosf (Depends-on): Likewise. + * modules/coshf (Depends-on): Likewise. + * modules/expf (Depends-on): Likewise. + * modules/fabsf (Depends-on): Likewise. + * modules/fabsl (Depends-on): Likewise. + * modules/fmaf (Depends-on): Likewise. + * modules/fmal (Depends-on): Likewise. + * modules/fmodf (Depends-on): Likewise. + * modules/fmodl (Depends-on): Likewise. + * modules/frexpf (Depends-on): Likewise. + * modules/frexpl (Depends-on): Likewise. + * modules/hypot (Depends-on): Likewise. + * modules/hypotf (Depends-on): Likewise. + * modules/hypotl (Depends-on): Likewise. + * modules/ldexpf (Depends-on): Likewise. + * modules/ldexpl (Depends-on): Likewise. + * modules/log10f (Depends-on): Likewise. + * modules/log10l (Depends-on): Likewise. + * modules/log1p (Depends-on): Likewise. + * modules/logb (Depends-on): Likewise. + * modules/logf (Depends-on): Likewise. + * modules/modff (Depends-on): Likewise. + * modules/modfl (Depends-on): Likewise. + * modules/powf (Depends-on): Likewise. + * modules/remainderf (Depends-on): Likewise. + * modules/remainderl (Depends-on): Likewise. + * modules/rintf (Depends-on): Likewise. + * modules/rintl (Depends-on): Likewise. + * modules/sinf (Depends-on): Likewise. + * modules/sinhf (Depends-on): Likewise. + * modules/sqrtf (Depends-on): Likewise. + * modules/tanf (Depends-on): Likewise. + * modules/tanhf (Depends-on): Likewise. + * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS. + * m4/asinf.m4 (gl_FUNC_ASINF): Likewise. + * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise. + * m4/atanf.m4 (gl_FUNC_ATANF): Likewise. + * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise. + * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise. + * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise. + * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise. + * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise. + * m4/cosf.m4 (gl_FUNC_COSF): Likewise. + * m4/coshf.m4 (gl_FUNC_COSHF): Likewise. + * m4/expf.m4 (gl_FUNC_EXPF): Likewise. + * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise. + * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise. + * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise. + * m4/fmal.m4 (gl_FUNC_FMAL): Likewise. + * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise. + * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise. + * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise. + * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise. + * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise. + * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise. + * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise. + * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise. + * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise. + * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise. + * m4/logb.m4 (gl_FUNC_LOGB): Likewise. + * m4/logf.m4 (gl_FUNC_LOGF): Likewise. + * m4/modff.m4 (gl_FUNC_MODFF): Likewise. + * m4/modfl.m4 (gl_FUNC_MODFL): Likewise. + * m4/powf.m4 (gl_FUNC_POWF): Likewise. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise. + * m4/rintf.m4 (gl_FUNC_RINTF): Likewise. + * m4/rintl.m4 (gl_FUNC_RINTL): Likewise. + * m4/sinf.m4 (gl_FUNC_SINF): Likewise. + * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise. + * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise. + * m4/tanf.m4 (gl_FUNC_TANF): Likewise. + * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise. + +2012-03-06 Bruno Haible + + math: Update module names in warnings. + * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, + tanl): Use specific module name in warn-on-use warning. + +2012-03-06 Bruno Haible + + expl: Simplify computation. + * lib/expl.c (expl): Simplify computation of exp_y. Fix comment. + +2012-03-05 Bruno Haible + + exp* tests: More tests. + * tests/test-exp.h: New file. + * tests/test-exp.c: Include and test-exp.h. + (main): Invoke test_function. + * tests/test-expf.c: Include and test-exp.h. + (main): Invoke test_function. + * tests/test-expl.c: Include and test-exp.h. + (main): Invoke test_function. + * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_exp_SOURCES. + * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_expf_SOURCES. + * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_expl_SOURCES. + + expl: Fix precision of computed result. + * lib/expl.c: Completely rewritten. + * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl. + (Maintainer): Add me. + * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM. + +2012-03-05 Bruno Haible + + cbrt* tests: More tests. + * tests/test-cbrt.h: New file. + * tests/test-cbrt.c: Include and test-cbrt.h. + (main): Invoke test_function. + * tests/test-cbrtf.c: Include and test-cbrt.h. + (main): Invoke test_function. + * tests/test-cbrtl.c: Include and test-cbrt.h. + (main): Invoke test_function. + * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_cbrt_SOURCES. + * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_cbrtf_SOURCES. + * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_cbrtl_SOURCES. + +2012-03-05 Bruno Haible + + hypot* tests: More tests. + * tests/test-hypot.h: New file, partially extracted from + tests/test-hypotl.c. + * tests/test-hypot.c: Include test-hypot.h. + (main): Invoke test_function. + * tests/test-hypotf.c: Include test-hypot.h. + (main): Invoke test_function. + * tests/test-hypotl.c: Include fpucw.h and test-hypot.h. + (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function. + * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_hypot_SOURCES. + * modules/hypotf-tests (Files): Add tests/test-hypot.h, + tests/randomf.c. + (Makefile.am): Add randomf.c to test_hypotf_SOURCES. + * modules/hypotl-tests (Files): Add tests/test-hypot.h, + tests/randoml.c. + (Depends-on): Add 'fpucw', 'float'. + (Makefile.am): Add randoml.c to test_hypotl_SOURCES. + +2012-03-05 Bruno Haible + + fpucw: Doc about FreeBSD. + * lib/fpucw.h: Mention FreeBSD in comments. + +2012-03-04 Bruno Haible + + sqrt* tests: More tests. + * tests/test-sqrt.h: New file. + * tests/test-sqrt.c: Include and test-sqrt.h. + (main): Invoke test_function. + * tests/test-sqrtf.c: Include and test-sqrt.h. + (main): Invoke test_function. + * tests/test-sqrtl.c: Include and test-sqrt.h. + (main): Invoke test_function. + * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_sqrt_SOURCES. + * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_sqrtf_SOURCES. + * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_sqrtl_SOURCES. + +2012-03-04 Bruno Haible + + remainder* tests: More tests. + * tests/test-remainder.h: New file, based on tests/test-fmod.h. + * tests/test-remainder.c: Include and test-remainder.h. + (main): Invoke test_function. + * tests/test-remainderf.c: Include and test-remainder.h. + (main): Invoke test_function. + * tests/test-remainderl.c: Include and test-remainder.h. + (main): Invoke test_function. + * modules/remainder-tests (Files): Add tests/test-remainder.h, + tests/randomd.c. + (Makefile.am): Add randomd.c to test_remainder_SOURCES. + * modules/remainderf-tests (Files): Add tests/test-remainder.h, + tests/randomf.c. + (Makefile.am): Add randomf.c to test_remainderf_SOURCES. + * modules/remainderl-tests (Files): Add tests/test-remainder.h, + tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_remainderl_SOURCES. + +2012-03-04 Bruno Haible + + remainder, remainderf, remainderl: Fix computation for large quotients. + * lib/remainder.c: Completely rewritten. + * lib/remainderf.c (remainderf): Use implementation of remainder.c with + USE_FLOAT. + * lib/remainderl.c (remainderl): Use implementation of remainder.c with + USE_LONG_DOUBLE. + * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod, + isnand, isinf. Remove round, fma. + * modules/remainderf (Files): Add lib/remainder.c. + (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf. + Remove roundf, fmaf. + * modules/remainderl (Files): Add lib/remainder.c. + (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl, + isinf. Remove roundl, fmal. + * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of + REMAINDER_LIBM. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of + REMAINDERF_LIBM. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of + REMAINDERL_LIBM. + +2012-03-04 Bruno Haible + + fmod* tests: More tests. + * tests/test-fmod.h (my_ldexp): New function. + (test_function): Reduce amount of random numbers to test. Add tests + of very large quotients x / y. + * tests/test-fmod.c (MAX_EXP): New macro. + * tests/test-fmodf.c (MAX_EXP): Likewise. + * tests/test-fmodl.c (MAX_EXP): Likewise. + +2012-03-04 Bruno Haible + + fmod, fmodl: Fix computation for large quotients x / y. + * lib/fmod.c: Completely rewritten. + * lib/fmodl.c (fmodl): Use implementation of fmod.c with + USE_LONG_DOUBLE. + * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp, + isnand. Remove fma. + * modules/fmodl (Files): Add lib/fmod.c. + (Depends-on): Add float, isfinite, signbit, fabsl, + frexpl, ldexpl, isnanl. Remove fma. + * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM. + * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM. + +2012-03-03 Bruno Haible + + fmod* tests: More tests. + * tests/test-fmod.h: New file. + * tests/test-fmod.c: Include and test-fmod.h. + (main): Invoke test_function. + * tests/test-fmodf.c: Include and test-fmod.h. + (main): Invoke test_function. + * tests/test-fmodl.c: Include and test-fmod.h. + (main): Invoke test_function. + * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_fmod_SOURCES. + * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_fmodf_SOURCES. + * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_fmodl_SOURCES. + +2012-03-03 Bruno Haible + + rint* tests: More tests. + * tests/test-rint.h: New file, partially extracted from + tests/test-rintl.c. + * tests/test-rint.c: Include test-rint.h. + (main): Invoke test_function. + * tests/test-rintf.c: Include test-rint.h. + (main): Invoke test_function. + * tests/test-rintl.c: Include test-rint.h. + (main): Invoke test_function. + * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_rint_SOURCES. + * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_rintf_SOURCES. + * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c. + (Makefile.am): Add randoml.c to test_rintl_SOURCES. + +2012-03-03 Bruno Haible + + modf* tests: More tests. + * tests/test-modf.h: New file. + * tests/test-modf.c: Include and test-modf.h. + (main): Invoke test_function. + * tests/test-modff.c: Include and test-modf.h. + (main): Invoke test_function. + * tests/test-modfl.c: Include and test-modf.h. + (main): Invoke test_function. + * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_modf_SOURCES. + * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_modff_SOURCES. + * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_modfl_SOURCES. + +2012-03-03 Bruno Haible + + fabs* tests: More tests. + * tests/test-fabs.h: New file, partially extracted from + tests/test-fabsl.c. + * tests/test-fabs.c (RANDOM): New macro. + * tests/test-fabsf.c (RANDOM): New macro. + * tests/test-fabsl.c (RANDOM): New macro. + * modules/fabs-tests (Files): Add tests/randomd.c. + (Makefile.am): Add randomd.c to test_fabs_SOURCES. + * modules/fabsf-tests (Files): Add tests/randomf.c. + (Makefile.am): Add randomf.c to test_fabsf_SOURCES. + * modules/fabsl-tests (Files): Add tests/randoml.c. + (Makefile.am): Add randoml.c to test_fabsl_SOURCES. + +2012-03-03 Bruno Haible + + ldexp* tests: More tests. + * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests. + * tests/test-ldexp.c (RANDOM): New macro. + * tests/test-ldexpf.c (RANDOM): New macro. + * tests/test-ldexpl.c (RANDOM): New macro. + * modules/ldexp-tests (Files): Add tests/randomd.c. + (Makefile.am): Add randomd.c to test_ldexp_SOURCES. + * modules/ldexpf-tests (Files): Add tests/randomf.c. + (Makefile.am): Add randomf.c to test_ldexpf_SOURCES. + * modules/ldexpl-tests (Files): Add tests/randoml.c. + (Makefile.am): Add randoml.c to test_ldexpl_SOURCES. + +2012-03-03 Bruno Haible + + frexp* tests: More tests. + * tests/test-frexp.h (test_function): Add some pseudo-randomized tests. + * tests/test-frexp.c (RANDOM): New macro. + * tests/test-frexpf.c (RANDOM): New macro. + * tests/test-frexpl.c (RANDOM): New macro. + * modules/frexp-tests (Files): Add tests/randomd.c. + (Makefile.am): Add randomd.c to test_frexp_SOURCES. + * modules/frexpf-tests (Files): Add tests/randomf.c. + (Makefile.am): Add randomf.c to test_frexpf_SOURCES. + * modules/frexpl-tests (Files): Add tests/randoml.c. + (Makefile.am): Add randoml.c to test_frexpl_SOURCES. + +2012-03-03 Bruno Haible + + Support for pseudo-random numbers in tests. + * tests/randomf.c: New file. + * tests/randomd.c: New file. + * tests/randoml.c: New file. + * tests/macros.h (randomf, randomd, randoml): New declarations. + +2012-03-03 Bruno Haible + + frexp* tests: Refactor. + * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c. + * tests/test-frexp.c: Include and use it. + * tests/test-frexpf.c: Likewise. + * tests/test-frexpl.c: Likewise. + * modules/frexp-tests (Files): Add tests/test-frexp.h. + * modules/frexpf-tests (Files): Likewise. + * modules/frexpl-tests (Files): Likewise. + +2012-03-02 Jim Meyering + + maint: don't specify XZ_OPT=-9ev in dist-related rule + Using xz's -9 option is warranted only if you have a very large + tarball (see xz's documentation for the sizes vs. presets), and + requires 64MiB of memory at decompression time. + * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev. + Automake's default of just "-e" is fine. Override on a + per-package basis by setting XZ_OPT e.g., in cfg.mk. + +2012-03-01 Eric Blake + + maint.mk: allow announcement for non-gnulib project + * maint.mk (announcement): Skip gnulib version if not used. + +2012-03-01 Jim Meyering + + maint.mk: avoid spurious failure of _sc_search_regexp-using tests + * top/maint.mk: Initialize _sc_search_regexp parameters, so that + envvar settings cannot interfere. Otherwise, setting envvars like + prohibit=foo require=bar, etc. would cause spurious test failures. + +2012-03-01 Eric Blake + + maint.mk: add per-line exclusions to prohibitions + * maint.mk (_sc_search_regexp): Add $exclude parameter. + (sc_prohibit_strcmp, sc_unmarked_diagnostics) + (sc_const_long_option): Use it. + +2012-03-01 Bruno Haible + + Tests for module 'expl-ieee'. + * modules/expl-ieee-tests: New file. + * tests/test-expl-ieee.c: New file. + + New module 'expl-ieee'. + * modules/expl-ieee: New file. + + Tests for module 'exp-ieee'. + * modules/exp-ieee-tests: New file. + * tests/test-exp-ieee.c: New file. + + New module 'exp-ieee'. + * modules/exp-ieee: New file. + + Tests for module 'expf-ieee'. + * modules/expf-ieee-tests: New file. + * tests/test-expf-ieee.c: New file. + * tests/test-exp-ieee.h: New file. + + New module 'expf-ieee'. + * modules/expf-ieee: New file. + +2012-02-29 Bruno Haible + + cbrtl-ieee: Work around test failure on IRIX 6.5. + * m4/cbrtl-ieee.m4: New file. + * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present, + test whether cbrtl works with a minus zero argument. Replace it if not. + * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL. + * modules/math (Makefile.am): Substitute REPLACE_CBRTL. + * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL. + (Depends-on): Update conditions. + * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_CBRTL_IEEE. + * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition. + * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module. + + Tests for module 'cbrtl-ieee'. + * modules/cbrtl-ieee-tests: New file. + * tests/test-cbrtl-ieee.c: New file. + + New module 'cbrtl-ieee'. + * modules/cbrtl-ieee: New file. + + Tests for module 'cbrt-ieee'. + * modules/cbrt-ieee-tests: New file. + * tests/test-cbrt-ieee.c: New file. + + New module 'cbrt-ieee'. + * modules/cbrt-ieee: New file. + + Tests for module 'cbrtf-ieee'. + * modules/cbrtf-ieee-tests: New file. + * tests/test-cbrtf-ieee.c: New file. + * tests/test-cbrt-ieee.h: New file. + + New module 'cbrtf-ieee'. + * modules/cbrtf-ieee: New file. + +2012-02-29 Bruno Haible + + cbrtf: Work around bug in IRIX 6.5 system function. + * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1. + * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro. + (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not + work. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF. + * modules/math (Makefile.am): Substitute REPLACE_CBRTF. + * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF. + (Depends-on): Update conditions. + * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem. + +2012-02-29 Bruno Haible + + Tests for module 'cbrtl'. + * modules/cbrtl-tests: New file. + * tests/test-cbrtl.c: New file. + + New module 'cbrtl'. + * lib/math.in.h (cbrtl): New declaration. + * lib/cbrtl.c: New file. + * m4/cbrtl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL, + HAVE_DECL_CBRTL. + * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL, + HAVE_DECL_CBRTL. + * modules/cbrtl: New file. + * tests/test-math-c++.cc: Check the declaration of cbrtl. + * doc/posix-functions/cbrtl.texi: Mention the new module. + +2012-02-29 Bruno Haible + + Tests for module 'cbrtf'. + * modules/cbrtf-tests: New file. + * tests/test-cbrtf.c: New file. + + New module 'cbrtf'. + * lib/math.in.h (cbrtf): New declaration. + * lib/cbrtf.c: New file. + * m4/cbrtf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF, + HAVE_DECL_CBRTF. + * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF, + HAVE_DECL_CBRTF. + * modules/cbrtf: New file. + * tests/test-math-c++.cc: Check the declaration of cbrtf. + * doc/posix-functions/cbrtf.texi: Mention the new module. + +2012-02-29 Bruno Haible + + cbrt: Provide replacement on MSVC and Minix. + * lib/math.in.h (cbrt): New declaration. + * lib/cbrt.c: New file. + * m4/cbrt.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT. + * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT. + * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4. + (Depends-on): Add dependencies. + (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0. + * tests/test-math-c++.cc: Check the declaration of cbrt. + * doc/posix-functions/cbrt.texi: Mention that the module provides a + replacement. + +2012-02-29 Bruno Haible + + hypotl-ieee: Work around test failure on OSF/1 and native Windows. + * m4/hypotl-ieee.m4: New file. + * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present, + test whether hypotl works with mixed NaN and Infinity arguments. + Replace it if not. + * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL. + * modules/math (Makefile.am): Substitute REPLACE_HYPOTL. + * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL. + (Depends-on): Update conditions. + * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4. + (Depends-on): Add hypot-ieee. + (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE. + * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module. + + hypotf-ieee: Work around test failure on OSF/1 and native Windows. + * m4/hypotf-ieee.m4: New file. + * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present, + test whether hypotf works with mixed NaN and Infinity arguments. + Replace it if not. + * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4. + (Depends-on): Add hypot-ieee. + (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE. + * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module. + + hypot-ieee: Work around test failure on OSF/1 and native Windows. + * lib/math.in.h (hypot): New declaration. + * lib/hypot.c: New file. + * m4/hypot-ieee.m4: New file. + * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test + whether hypot works with mixed NaN and Infinity arguments. Replace it + if not. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT, + REPLACE_HYPOT. + * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT. + * modules/hypot (Files): Add lib/hypot.c. + (Depends-on): Add dependencies. + (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1. + * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4. + (configure.ac): Invoke gl_FUNC_HYPOT_IEEE. + * tests/test-math-c++.cc: Check the declaration of hypot. + * doc/posix-functions/hypot.texi: Mention the hypot-ieee module. + + Tests for module 'hypotl-ieee'. + * modules/hypotl-ieee-tests: New file. + * tests/test-hypotl-ieee.c: New file. + + New module 'hypotl-ieee'. + * modules/hypotl-ieee: New file. + + Tests for module 'hypot-ieee'. + * modules/hypot-ieee-tests: New file. + * tests/test-hypot-ieee.c: New file. + + New module 'hypot-ieee'. + * modules/hypot-ieee: New file. + + Tests for module 'hypotf-ieee'. + * modules/hypotf-ieee-tests: New file. + * tests/test-hypotf-ieee.c: New file. + * tests/test-hypot-ieee.h: New file. + + New module 'hypotf-ieee'. + * modules/hypotf-ieee: New file. + +2012-02-29 Bruno Haible + + Remove unused variables. + * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'. + * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise. + * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise. + +2012-02-29 Eric Blake + + termios: fix pid_t always, not just for tcgetsid + * doc/posix-headers/termios.texi (termios.h): Mention problem. + * lib/termios.in.h (include): Ensure pid_t on all platforms, not + just when building tcgetsid. + +2012-02-29 Bruno Haible + + Tests for module 'hypotl'. + * modules/hypotl-tests: New file. + * tests/test-hypotl.c: New file. + + New module 'hypotl'. + * lib/math.in.h (hypotl): New declaration. + * lib/hypotl.c: New file. + * m4/hypotl.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL. + * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL. + * modules/hypotl: New file. + * tests/test-math-c++.cc: Check the hypotl declaration. + * doc/posix-functions/hypotl.texi: Mention the new module. + +2012-02-29 Eric Blake + + tcgetsid: fix cygwin header bug + * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined. + + docs: update cygwin progress + * doc/posix-functions/llround.texi (llround): Added in cygwin + 1.7.8. + * doc/posix-functions/llroundf.texi (llroundf): Likewise. + * doc/glibc-functions/program_invocation_name.texi + (program_invocation_name): Likewise. + * doc/glibc-functions/program_invocation_short_name.texi + (program_invocation_short_name): Likewise. + * doc/glibc-functions/madvise.texi (madvise): Likewise. + * doc/glibc-functions/pthread_yield.texi (pthread_yield): + Likewise. + * doc/posix-functions/pthread_spin_destroy.texi + (pthread_spin_destroy): Added in cygwin 1.7.10. + * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init): + Likewise. + * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock): + Likewise. + * doc/posix-functions/pthread_spin_trylock.texi + (pthread_spin_trylock): Likewise. + * doc/posix-functions/pthread_spin_unlock.texi + (pthread_spin_unlock): Likewise. + * doc/posix-functions/pthread_setschedprio.texi + (pthread_setschedprio): Likewise. + * doc/posix-functions/pthread_attr_getstack.texi + (pthread_attr_getstack): Likewise. + * doc/pastposix-functions/pthread_attr_getstackaddr.texi + (pthread_attr_getstackaddr): Likewise. + * doc/glibc-functions/pthread_getattr_np.texi + (pthread_getattr_np): Likewise. + * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise. + * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise. + * doc/posix-functions/clock_settime.texi (clock_settime): + Likewise. + * doc/posix-functions/pthread_attr_getguardsize.texi + (pthread_attr_getguardsize): Likewise. + * doc/posix-functions/pthread_attr_setguardsize.texi + (pthread_attr_setguardsize): Likewise. + * doc/posix-functions/pthread_attr_setstack.texi + (pthread_attr_setstack): Likewise. + * doc/pastposix-functions/pthread_attr_setstackaddr.texi + (pthread_attr_setstackaddr): Likewise. + * doc/posix-functions/clock_getcpuclockid.texi + (clock_getcpuclockid): Likewise. + * doc/posix-functions/pthread_getcpuclockid.texi + (pthread_getcpuclockid): Likewise. + * doc/glibc-functions/error.texi (error): Likewise. + * doc/glibc-functions/error_at_line.texi (error_at_line): + Likewise. + * doc/glibc-functions/error_message_count.texi + (error_message_count): Likewise. + * doc/glibc-functions/error_one_per_line.texi + (error_one_per_line): Likewise. + * doc/glibc-functions/error_print_progname.texi + (error_print_progname): Likewise. + * doc/posix-functions/pthread_condattr_getclock.texi + (pthread_condattr_getclock): Likewise. + * doc/posix-functions/pthread_condattr_setclock.texi + (pthread_condattr_setclock): Likewise. + * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep): + Likewise. + * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise. + * doc/glibc-functions/getpt.texi (getpt): Likewise. + * doc/glibc-functions/get_current_dir_name.texi + (get_current_dir_name): Likewise. + * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue): + Likewise. + * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with + wrong return type. + * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin + 1.7.11. + +2012-02-29 Bruno Haible + + Tests for module 'hypotf'. + * modules/hypotf-tests: New file. + * tests/test-hypotf.c: New file. + + New module 'hypotf'. + * lib/math.in.h (hypotf): New declaration. + * lib/hypotf.c: New file. + * m4/hypotf.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF, + REPLACE_HYPOTF. + * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF, + REPLACE_HYPOTF. + * modules/hypotf: New file. + * tests/test-math-c++.cc: Check the hypotf declaration. + * doc/posix-functions/hypotf.texi: Mention the new module. + + hypot: Prepare for hypotf module. + * m4/hypot.m4: New file. + * modules/hypot (Files): Add m4/hypot.m4. + (configure.ac): Invoke gl_FUNC_HYPOT. + +2012-02-29 Bruno Haible + + hypot tests: More tests. + * tests/test-hypot.c: Include . + (main): Add tests about overflow and underflow. + +2012-02-29 Bruno Haible + + math code: Add comments. + * lib/acosl.c: Add comment about related glibc source files. + * lib/asinl.c: Likewise. + * lib/atanl.c: Likewise. + * lib/expl.c: Likewise. + * lib/logl.c: Likewise. + * lib/sincosl.c: Likewise. + * lib/sinl.c: Likewise. + * lib/tanl.c: Likewise. + * lib/trigl.c: Likewise. + * lib/cosl.c: Likewise. Fix comments. + +2012-02-28 Bruno Haible + + math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined. + * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks. + * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF, + HUGE_VALL are defined. + (numeric_equald): Renamed from numeric_equal. + (numeric_equalf, numeric_equall): New functions. + (main): Check also HUGE_VALF, HUGE_VALL. + * modules/math-tests (Files): Add tests/macros.h. + * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and + HUGE_VALL. + +2012-02-28 Bruno Haible + + doc: Move ISO C11 feature notes into POSIX chapters. + * doc/posix-functions/aligned_alloc.texi: Renamed from + doc/glibc-functions/aligned_alloc.texi. + * doc/posix-functions/quick_exit.texi: Renamed from + doc/glibc-functions/quick_exit.texi. + * doc/posix-headers/uchar.texi: Renamed from + doc/glibc-headers/uchar.texi. + * doc/posix-functions/c16rtomb.texi: Renamed from + doc/glibc-functions/c16rtomb.texi. + * doc/posix-functions/c32rtomb.texi: Renamed from + doc/glibc-functions/c32rtomb.texi. + * doc/posix-functions/mbrtoc16.texi: Renamed from + doc/glibc-functions/mbrtoc16.texi. + * doc/posix-functions/mbrtoc32.texi: Renamed from + doc/glibc-functions/mbrtoc32.texi. + * doc/gnulib.texi: Update. + (Glibc uchar.h): Remove section. + Suggested by Eric Blake. + +2012-02-29 Paul Eggert + + stdnoreturn: port to MSVC better + MSVC standard headers use __declspec(noreturn), so #define noreturn + to empty on that platform. Reported by Bruno Haible in + . + * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC. + * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this. + +2012-02-28 Bruno Haible + + doc: Mention new glibc headers and functions. + * doc/glibc-headers/uchar.texi: New file. + * doc/glibc-functions/aligned_alloc.texi: New file. + * doc/glibc-functions/c16rtomb.texi: New file. + * doc/glibc-functions/c32rtomb.texi: New file. + * doc/glibc-functions/clock_adjtime.texi: New file. + * doc/glibc-functions/fanotify_init.texi: New file. + * doc/glibc-functions/fanotify_mark.texi: New file. + * doc/glibc-functions/inet6_opt_append.texi: New file. + * doc/glibc-functions/inet6_opt_find.texi: New file. + * doc/glibc-functions/inet6_opt_finish.texi: New file. + * doc/glibc-functions/inet6_opt_get_val.texi: New file. + * doc/glibc-functions/inet6_opt_init.texi: New file. + * doc/glibc-functions/inet6_opt_next.texi: New file. + * doc/glibc-functions/inet6_opt_set_val.texi: New file. + * doc/glibc-functions/inet6_rth_add.texi: New file. + * doc/glibc-functions/inet6_rth_getaddr.texi: New file. + * doc/glibc-functions/inet6_rth_init.texi: New file. + * doc/glibc-functions/inet6_rth_reverse.texi: New file. + * doc/glibc-functions/inet6_rth_segments.texi: New file. + * doc/glibc-functions/inet6_rth_space.texi: New file. + * doc/glibc-functions/login.texi: New file. + * doc/glibc-functions/mbrtoc16.texi: New file. + * doc/glibc-functions/mbrtoc32.texi: New file. + * doc/glibc-functions/name_to_handle_at.texi: New file. + * doc/glibc-functions/ntp_gettimex.texi: New file. + * doc/glibc-functions/open_by_handle_at.texi: New file. + * doc/glibc-functions/prlimit.texi: New file. + * doc/glibc-functions/process_vm_readv.texi: New file. + * doc/glibc-functions/process_vm_writev.texi: New file. + * doc/glibc-functions/recvmmsg.texi: New file. + * doc/glibc-functions/scandirat.texi: New file. + * doc/glibc-functions/sendmmsg.texi: New file. + * doc/glibc-functions/setns.texi: New file. + * doc/glibc-functions/timespec_get.texi: New file. + * doc/gnulib.texi: Include them. + (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New + sections. + Reported by Eric Blake. + +2012-02-28 Bruno Haible + + Avoid compilation errors with MSVC option -fp:strict. + * lib/floor.c: Use MSVC specific pragma fenv_access. + * lib/ceil.c: Likewise. + * lib/trunc.c: Likewise. + * lib/round.c: Likewise. + * lib/rint.c: Likewise. + * lib/fma.c: Likewise. + * lib/integer_length.c: Likewise. + * m4/round.m4 (gl_FUNC_ROUND): Likewise. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise. + * tests/test-floor2.c: Likewise. + * tests/test-floorf2.c: Likewise. + * tests/test-ceil2.c: Likewise. + * tests/test-ceilf2.c: Likewise. + * tests/test-trunc2.c: Likewise. + * tests/test-truncf2.c: Likewise. + Reported by Michael Goffioul . + +2012-02-27 Bruno Haible + + Tests for module 'sqrtl-ieee'. + * modules/sqrtl-ieee-tests: New file. + * tests/test-sqrtl-ieee.c: New file. + + New module 'sqrtl-ieee'. + * modules/sqrtl-ieee: New file. + + Tests for module 'sqrt-ieee'. + * modules/sqrt-ieee-tests: New file. + * tests/test-sqrt-ieee.c: New file. + + New module 'sqrt-ieee'. + * modules/sqrt-ieee: New file. + + Tests for module 'sqrtf-ieee'. + * modules/sqrtf-ieee-tests: New file. + * tests/test-sqrtf-ieee.c: New file. + * tests/test-sqrt-ieee.h: New file. + + New module 'sqrtf-ieee'. + * modules/sqrtf-ieee: New file. + +2012-02-27 Bruno Haible + + remainderl-ieee: Work around test failure on OSF/1. + * m4/remainderl-ieee.m4: New file. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is + present, test whether remainderl works with a zero second argument. + Replace it if not. + * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL. + * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL. + * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL. + (Depends-on): Update conditions. + * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4. + (Depends-on): Add remainder-ieee. + (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE. + * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee + module. + + remainderf-ieee: Work around test failure on OSF/1. + * m4/remainderf-ieee.m4: New file. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is + present, test whether remainderf works with a zero second argument. + Replace it if not. + * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF. + * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF. + * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF. + (Depends-on): Update conditions. + * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4. + (Depends-on): Add remainder-ieee. + (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE. + * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee + module. + + remainder-ieee: Work around test failure on OSF/1. + * m4/remainder-ieee.m4: New file. + * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is + present, test whether remainder works with a zero second argument. + Replace it if not. + * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER. + * modules/math (Makefile.am): Substitute REPLACE_REMAINDER. + * modules/remainder (configure.ac): Consider REPLACE_REMAINDER. + (Depends-on): Update dependencies. + * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4. + (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE. + * doc/posix-functions/remainder.texi: Mention the remainder-ieee module. + + Tests for module 'remainderl-ieee'. + * modules/remainderl-ieee-tests: New file. + * tests/test-remainderl-ieee.c: New file. + + New module 'remainderl-ieee'. + * modules/remainderl-ieee: New file. + + Tests for module 'remainder-ieee'. + * modules/remainder-ieee-tests: New file. + * tests/test-remainder-ieee.c: New file. + + New module 'remainder-ieee'. + * modules/remainder-ieee: New file. + + Tests for module 'remainderf-ieee'. + * modules/remainderf-ieee-tests: New file. + * tests/test-remainderf-ieee.c: New file. + * tests/test-remainder-ieee.h: New file. + + New module 'remainderf-ieee'. + * modules/remainderf-ieee: New file. + +2012-02-27 Bruno Haible + + modff, modfl: Fix configure syntax error. + * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'. + * m4/modfl.m4 (gl_FUNC_MODFL): Likewise. + +2012-02-27 Bruno Haible + + fmodl-ieee: Work around test failures on OSF/1, MSVC 9. + * m4/fmodl-ieee.m4: New file. + * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test + whether fmodl works with zero arguments. Replace it if not. + * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4. + (Depends-on): Add fmod-ieee. + (configure.ac): Invoke gl_FUNC_FMODL_IEEE. + * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module. + + fmodf-ieee: Work around test failure on OSF/1. + * m4/fmodf-ieee.m4: New file. + * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test + whether fmodf works with zero arguments. Replace it if not. + * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF. + * modules/math (Makefile.am): Substitute REPLACE_FMODF. + * modules/fmodf (configure.ac): Consider REPLACE_FMODF. + (Depends-on): Update dependencies. + * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4. + (configure.ac): Invoke gl_FUNC_FMODF_IEEE. + * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1. + + fmodf-ieee: Work around test failure on MSVC 9. + * modules/fmodf-ieee (Depends-on): Add fmod-ieee. + * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module. + + fmod-ieee: Work around test failures on OSF/1, mingw. + * m4/fmod-ieee.m4: New file. + * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test + whether fmod works with zero arguments. Replace it if not. + * lib/math.in.h (fmod): New declaration. + * lib/fmod.c: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD. + * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD. + * modules/fmod (Files): Add lib/fmod.c. + (Depends-on): Add math, isinf, trunc, fma. + (configure.ac): Arrange to compile lib/fmod.c if needed. + * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_FMOD_IEEE. + * tests/test-math-c++.cc: Check the declaration of fmod. + * doc/posix-functions/fmod.texi: Mention the fmod-ieee module. + + fmodl-ieee: Fix test failures. + * lib/fmodl.c (fmodl): Treat Inf specially. + * modules/fmodl (Depends-on): Add isinf. + + Tests for module 'fmodl-ieee'. + * modules/fmodl-ieee-tests: New file. + * tests/test-fmodl-ieee.c: New file. + + New module 'fmodl-ieee'. + * modules/fmodl-ieee: New file. + + Tests for module 'fmod-ieee'. + * modules/fmod-ieee-tests: New file. + * tests/test-fmod-ieee.c: New file. + + New module 'fmod-ieee'. + * modules/fmod-ieee: New file. + + Tests for module 'fmodf-ieee'. + * modules/fmodf-ieee-tests: New file. + * tests/test-fmodf-ieee.c: New file. + * tests/test-fmod-ieee.h: New file. + + New module 'fmodf-ieee'. + * modules/fmodf-ieee: New file. + +2012-02-27 Bruno Haible + + Tests for module 'rintl-ieee'. + * modules/rintl-ieee-tests: New file. + * tests/test-rintl-ieee.c: New file. + + New module 'rintl-ieee'. + * modules/rintl-ieee: New file. + + Tests for module 'rint-ieee'. + * modules/rint-ieee-tests: New file. + * tests/test-rint-ieee.c: New file. + + New module 'rint-ieee'. + * modules/rint-ieee: New file. + + Tests for module 'rintf-ieee'. + * modules/rintf-ieee-tests: New file. + * tests/test-rintf-ieee.c: New file. + * tests/test-rint-ieee.h: New file. + + New module 'rintf-ieee'. + * modules/rintf-ieee: New file. + +2012-02-26 Paul Eggert + + regex: re_search etc. should return -2 when memory exhausted + This bug was uncovered when testing 'grep'. Without the fix, + re_search and friends return -1 when memory is exhausted, but -1 + means no match, and this causes grep to falsely report no-match + instead of memory-exhaustion. See + . + * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is + trouble; this can occur if re_search_internal ran out of memory. + +2012-02-26 Bruno Haible + + modfl-ieee: Work around test failures on IRIX, OSF/1, mingw. + * m4/modfl-ieee.m4: New file. + * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test + whether modfl works with Inf. Replace it if not. + * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL. + * modules/math (Makefile.am): Substitute REPLACE_MODFL. + * modules/modfl (configure.ac): Consider REPLACE_MODFL. + (Depends-on): Update dependencies. + * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_MODFL_IEEE. + * doc/posix-functions/modfl.texi: Mention the modfl-ieee module. + + modfl-ieee: Fix dependencies. + * modules/modfl-ieee (Depends-on): Add modf-ieee. + + modfl-ieee: Fix test failures. + * lib/modfl.c (modfl): Treat NaN and Inf specially. + * modules/modfl (Depends-on): Add isfinite, isinf. + + modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc. + * m4/modff-ieee.m4: New file. + * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test + whether modff works with NaN and Inf. Replace it if not. + * lib/math.in.h (modff): Override if REPLACE_MODFF is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF. + * modules/math (Makefile.am): Substitute REPLACE_MODFF. + * modules/modff (configure.ac): Consider REPLACE_MODFF. + (Depends-on): Update dependencies. + * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (Depends-on): Add modf-ieee. + (configure.ac): Invoke gl_FUNC_MODFF_IEEE. + * doc/posix-functions/modff.texi: Mention the modff-ieee module. + + modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin. + * m4/modf-ieee.m4: New file. + * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test + whether modf works with NaN and Inf. Replace it if not. + * lib/math.in.h (modf): New declaration. + * lib/modf.c: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF. + * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF. + * modules/modf (Files): Add lib/modf.c. + (Depends-on): Add math, isfinite, trunc, isinf. + (configure.ac): Addrange to compile lib/modf.c if needed. + * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4, + m4/signbit.m4. + (configure.ac): Invoke gl_FUNC_MODF_IEEE. + * tests/test-math-c++.cc: Check the declaration of modf. + * doc/posix-functions/modf.texi: Mention the modf-ieee module. + + Tests for module 'modfl-ieee'. + * modules/modfl-ieee-tests: New file. + * tests/test-modfl-ieee.c: New file. + + New module 'modfl-ieee'. + * modules/modfl-ieee: New file. + + Tests for module 'modf-ieee'. + * modules/modf-ieee-tests: New file. + * tests/test-modf-ieee.c: New file. + + New module 'modf-ieee'. + * modules/modf-ieee: New file. + + Tests for module 'modff-ieee'. + * modules/modff-ieee-tests: New file. + * tests/test-modff-ieee.c: New file. + * tests/test-modf-ieee.h: New file. + + New module 'modff-ieee'. + * modules/modff-ieee: New file. + +2012-02-26 Bruno Haible + + Tests for module 'fabsl-ieee'. + * modules/fabsl-ieee-tests: New file. + * tests/test-fabsl-ieee.c: New file. + + New module 'fabsl-ieee'. + * modules/fabsl-ieee: New file. + + Tests for module 'fabs-ieee'. + * modules/fabs-ieee-tests: New file. + * tests/test-fabs-ieee.c: New file. + + New module 'fabs-ieee'. + * modules/fabs-ieee: New file. + + Tests for module 'fabsf-ieee'. + * modules/fabsf-ieee-tests: New file. + * tests/test-fabsf-ieee.c: New file. + * tests/test-fabs-ieee.h: New file. + + New module 'fabsf-ieee'. + * modules/fabsf-ieee: New file. + +2012-02-26 Bruno Haible + + Tests for module 'fmal-ieee'. + * modules/fmal-ieee-tests: New file. + * tests/test-fmal-ieee.c: New file. + + New module 'fmal-ieee'. + * modules/fmal-ieee: New file. + + Tests for module 'fma-ieee'. + * modules/fma-ieee-tests: New file. + * tests/test-fma-ieee.c: New file. + + New module 'fma-ieee'. + * modules/fma-ieee: New file. + + Tests for module 'fmaf-ieee'. + * modules/fmaf-ieee-tests: New file. + * tests/test-fmaf-ieee.c: New file. + * tests/test-fma-ieee.h: New file. + + New module 'fmaf-ieee'. + * modules/fmaf-ieee: New file. + +2012-02-26 Bruno Haible + + Tests for module 'ldexpl-ieee'. + * modules/ldexpl-ieee-tests: New file. + * tests/test-ldexpl-ieee.c: New file. + + New module 'ldexpl-ieee'. + * modules/ldexpl-ieee: New file. + + Tests for module 'ldexp-ieee'. + * modules/ldexp-ieee-tests: New file. + * tests/test-ldexp-ieee.c: New file. + + New module 'ldexp-ieee'. + * modules/ldexp-ieee: New file. + + Tests for module 'ldexpf-ieee'. + * modules/ldexpf-ieee-tests: New file. + * tests/test-ldexpf-ieee.c: New file. + * tests/test-ldexp-ieee.h: New file. + + New module 'ldexpf-ieee'. + * modules/ldexpf-ieee: New file. + +2012-02-26 Bruno Haible + + Refactor frexp*-ieee tests. + * tests/test-frexp-ieee.h: New file. + * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h. + (main): Just call test_function. + * tests/test-frexp-ieee.c: Include test-frexp-ieee.h. + (main): Just call test_function. + * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h. + (main): Just call test_function. + * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h. + * modules/frexp-ieee-tests (Files): Likewise. + * modules/frexpl-ieee-tests (Files): Likewise. + + Tests for module 'frexpl-ieee'. + * modules/frexpl-ieee-tests: New file. + * tests/test-frexpl-ieee.c: New file. + + New module 'frexpl-ieee'. + * modules/frexpl-ieee: New file. + + Tests for module 'frexp-ieee'. + * modules/frexp-ieee-tests: New file. + * tests/test-frexp-ieee.c: New file. + + New module 'frexp-ieee'. + * modules/frexp-ieee: New file. + + Tests for module 'frexpf-ieee'. + * modules/frexpf-ieee-tests: New file. + * tests/test-frexpf-ieee.c: New file. + + New module 'frexpf-ieee'. + * modules/frexpf-ieee: New file. + +2012-02-26 Bruno Haible + + roundl-ieee tests: More tests. + * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanl-nolibm. + + round-ieee tests: More tests. + * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnand-nolibm. + + roundf-ieee tests: More tests. + * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanf-nolibm. + + truncl-ieee tests: More tests. + * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanl-nolibm. + + trunc-ieee tests: More tests. + * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnand-nolibm. + + truncf-ieee tests: More tests. + * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanf-nolibm. + + ceill-ieee tests: More tests. + * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanl-nolibm. + + ceil-ieee tests: More tests. + * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnand-nolibm. + + ceilf-ieee tests: More tests. + * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanf-nolibm. + + floorl-ieee tests: More tests. + * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanl-nolibm. + + floor-ieee tests: More tests. + * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnand-nolibm. + + floorf-ieee tests: More tests. + * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h. + (main): Add tests for [MX] shaded specification in POSIX. + * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h. + (Depends-on): Add isnanf-nolibm. + +2012-02-26 Bruno Haible + + fpieee: More comments. + * m4/fpieee.m4 (gl_FP_IEEE): Add more comments. + +2012-02-25 Bruno Haible + + Tests for module 'log10l'. + * modules/log10l-tests: New file. + * tests/test-log10l.c: New file. + * tests/test-math-c++.cc: Check the declaration of log10l. + + New module 'log10l'. + * lib/math.in.h (log10l): New declaration. + * lib/log10l.c: New file. + * m4/log10l.m4: New file. + * modules/log10l: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L, + HAVE_DECL_LOG10L. + * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L, + HAVE_DECL_LOG10L. + * doc/posix-functions/log10l.texi: Mention the new module. + +2012-02-25 Bruno Haible + + fmodl, remainder*: Avoid wrong results due to rounding errors. + * lib/fmodl.c (fmodl): Correct the result if it is not within the + expected bounds. + * lib/remainderf.c (remainderf): Likewise. + * lib/remainder.c (remainder): Likewise. + * lib/remainderl.c (remainderl): Likewise. + +2012-02-25 Bruno Haible + + Tests for module 'remainderl'. + * modules/remainderl-tests: New file. + * tests/test-remainderl.c: New file. + * tests/test-math-c++.cc: Check the declaration of remainderl. + + New module 'remainderl'. + * lib/math.in.h (remainderl): New declaration. + * lib/remainderl.c: New file. + * m4/remainderl.m4: New file. + * modules/remainderl: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL. + * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL, + HAVE_REMAINDERL. + * doc/posix-functions/remainderl.texi: Mention the new module. + +2012-02-25 Bruno Haible + + Tests for module 'remainderf'. + * modules/remainderf-tests: New file. + * tests/test-remainderf.c: New file. + * tests/test-math-c++.cc: Check the declaration of remainderf. + + New module 'remainderf'. + * lib/math.in.h (remainderf): New declaration. + * lib/remainderf.c: New file. + * m4/remainderf.m4: New file. + * modules/remainderf: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF. + * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF, + HAVE_REMAINDERF. + * doc/posix-functions/remainderf.texi: Mention the new module. + +2012-02-25 Bruno Haible + + 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 + + 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 + + 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 + + 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 + + fabs tests: More tests. + * tests/test-fabs.c: Include , 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 , 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + stdnoreturn: new module + This implements a replacement for C11's . + * 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 (tiny change) + + regex: fix false multibyte matches in some regular expressions + See + and . + * 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 + + 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 + + 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 + + regex: fix typo in definition of MIN + * lib/regex_internal.h (MIN): Fix typo. Problem reported by Thomas + Schwinge in . + +2012-02-19 Paul Eggert + Bruno Haible + + 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 + Bruno Haible + + 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 . + (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 + + 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 + , via Paul Eggert. + +2012-02-19 Bruno Haible + + 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 + + acl: Update doc references. + * doc/acl-resources.txt: Update links to Solaris documentation. + +2012-02-19 Bruno Haible + + Fix test failure in many locales on Solaris 11. + * tests/test-pipe-filter-gi1.c (main): Don't use range expression in + 'tr' arguments. + * tests/test-pipe-filter-ii1.c (main): Likewise. + * build-aux/bootstrap (check_versions): Run 'tr' command with range + expressions in the C locale. + * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise. + * m4/host-os.m4 (gl_HOST_OS): Likewise. + +2012-02-19 Bruno Haible + + gnulib-tool: Improve usage message. + * gnulib-tool (func_usage): Move doc of --help and --version to the + section "Operation modes". + +2012-02-18 Reuben Thomas + + README-release: make it easier to execute commands + * top/README-release: break commands out on to separate lines. + +2012-02-16 Stefano Lattarini + + GNUmakefile: simplify detection of unconfigured trees + * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine + whether the tree make is being run from is already configured or + not. Related simplifications. + +2012-02-13 Simon Josefsson + + * gnulib-tool (func_usage): Document --help and --version. + +2012-02-11 Jim Meyering + + bootstrap: don't exit 0 upon gnulib-tool failure + * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with + its exit status, not 0. + +2011-12-19 Reuben Thomas + + README-release: various improvements + * top/README-release: Give a command to push changes for the + release. Add "distcheck" to list of other pre-release checks. + Fix instance of "make stable" which should be "make TYPE". + +2012-02-09 Paul Eggert + + maint: replace FSF snail-mail addresses with URLs + * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h: + * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c: + * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c: + * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h: + * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h: + * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c: + * lib/check-version.c, lib/check-version.h, lib/config.charset: + * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h: + * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c: + * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c: + * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h: + * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c: + * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h: + * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c: + * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h: + * lib/glthread/thread.c, lib/glthread/thread.h: + * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c: + * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h: + * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c: + * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c: + * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c: + * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c: + * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c: + * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c: + * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c: + * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c: + * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c: + * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c: + * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h: + * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h: + * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin: + * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c: + * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c: + * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c: + * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c: + * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c: + * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c: + * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h: + * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h: + * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c: + * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h: + * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c: + * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c: + * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h: + * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h: + * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h: + * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c: + * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c: + * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h: + * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c: + * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h: + * lib/xsize.h, tests/test-closein.c, tests/test-des.c: + * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c: + * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c: + * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c: + * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c: + * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c: + * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c: + * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c: + * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c: + * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c: + * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c: + * tests/test-poll.c, tests/test-quotearg-simple.c: + * tests/test-quotearg.c, tests/test-quotearg.h: + * tests/test-round-ieee.c, tests/test-round1.c: + * tests/test-roundf-ieee.c, tests/test-roundf1.c: + * tests/test-roundl-ieee.c, tests/test-roundl.c: + * tests/test-safe-alloc.c, tests/test-sigpipe.c: + * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c: + * tests/test-strerror.c, tests/test-strerror_r.c: + * tests/test-strsignal.c, tests/test-strverscmp.c: + * tests/test-xmemdup0.c: + Replace FSF snail mail addresses with URLs, as per GNU coding + standards. See glibc bug + . + +2011-12-22 Reuben Thomas + + README-release: capitalize a word and split a line + * top/README-release: Fix punctuation and spacing. + +2012-02-08 Akim Demaille + + fatal-signal: use C prototypes (with explicit void). + * lib/fatal-signal.c (uninstall_handlers, install_handlers) + (init_fatal_signal_set, block_fatal_signals): Fix signatures. + +2012-02-07 Paul Eggert + + regex: spelling fix + * lib/regexec.c: spelling fix + + regex: rely on stdint.h for SIZE_MAX + * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now. + 2012-02-07 Paul Eggert regex: merge glibc changes @@ -17361,7 +21701,7 @@ behavior match Linux. * tests/test-c-stack.c (main): Prefer NULL for pointers. - stdbool-tests: accomodate Haiku + stdbool-tests: accommodate Haiku * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool. binary-io: fix O_TEXT on Haiku @@ -21814,7 +26154,7 @@ * tests/test-sys_wait.c (main): Relax test. * tests/test-stdlib.c (main): Likewise. - init.sh: accomodate directory with no .exes + init.sh: accommodate directory with no .exes * tests/init.sh: Accomodate directory containing only scripts. tests: avoid compiler warning @@ -34930,7 +39270,7 @@ 2009-11-14 John W. Eaton - strftime.h: wrap funtion declaration in extern "C" block + strftime.h: wrap function declaration in extern "C" block * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration. 2009-11-13 Eric Blake @@ -37677,7 +42017,7 @@ reversed sense of yes and no in prior patch. Avoid confusing compilation failure with desired semantics. - link-follow: accomodate mingw and cross-compilation + link-follow: accommodate mingw and cross-compilation * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename... (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this. Change cross-compilation results to -1, to make linkat easier to @@ -42690,7 +47030,7 @@ test-getaddrinfo: fix usage of skip return code 77 * tests/test-gettaddrinfo.c: Return skip code 77 only - for first occurance of skip (4x77 is not 77) + for first occurrence of skip (4x77 is not 77) 2009-02-25 Gary V. Vaughan @@ -55144,7 +59484,7 @@ 2007-12-01 Eric Blake * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to - accomodate fix in cygwin 1.5.25. + accommodate fix in cygwin 1.5.25. 2007-12-01 Jim Meyering @@ -63121,7 +67461,7 @@ (SIZE): New macro. (FUNC): Compare only SIZE bytes of the value. * lib/vasnprintf.c: Include float+.h. - (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only + (VASNPRINTF): When comparing against +0.0L or +0.0, compare only SIZEOF_LDBL or SIZEOF_DBL bytes. * modules/isnan-nolibm (Files): Add lib/float+.h. * modules/isnanl-nolibm (Files): Add lib/float+.h. @@ -79524,7 +83864,7 @@ (local_zone): Accumulate dsts_seen rather than relying on tm_isdst not being INT_MAX. (get_date): Initialize dsts_seen, and check that it doesn't go over 1. - Use pc_rels_seen to decide whther a date is absolute. + Use pc_rels_seen to decide whether a date is absolute. * lib/getdate.y (number): Don't overwrite year. (get_date): Initialize pc.year.digits to 0, not 4, to enable above