memchr2: port --enable-gcc-warnings to clang
[gnulib.git] / ChangeLog
index 7dac784..f637cda 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,354 @@
+2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       memchr2: port --enable-gcc-warnings to clang
+       * lib/memchr2.c (memchr2):
+       Avoid casts from looser to stricter-aligned pointers.
+
+       mbsstr: port --enable-gcc-warnings to clang
+       * lib/mbsstr.c (knuth_morris_pratt_multibyte):
+       Avoid casts from looser to stricter-aligned pointers.
+
+       malloca: port --enable-gcc-warnings to clang
+       * lib/malloca.c (struct header): New member 'magic', to avoid casts.
+       (mmalloca): Avoid casts from looser to stricter-aligned pointers.
+
+       inttostr: port --enable-gcc-warnings to clang
+       * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
+
+       warnings: port to clang
+       Problem reported by Daniel P. Berrange via Eric Blake in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
+       * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
+       (gl_WARN_ADD): Use it.
+
+2013-05-11  Jim Meyering  <meyering@fb.com>
+
+       quotearg: do not read beyond end of buffer
+       * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
+       end of an ARG for which no length was specified.  With an N-byte
+       quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
+       would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
+       via coreutils' misc/sort-debug-keys.sh test and detected by running
+       the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
+       * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
+       * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
+       Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
+       characters correctly."
+
+2013-05-11  Daiki Ueno  <ueno@gnu.org>
+
+       lock: work around pthread recursive mutexes bug in Mac OS X 10.6
+       * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
+       compilation target is Mac OS X 10.6.
+       Problem reported by parafin and Andoni Morales in
+       <http://savannah.gnu.org/bugs/?37844> and
+       <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
+
+2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       mkdir-p: remove assumptions about umask and mode
+       * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
+       umask is 0, or that MODE is a subset of MODE_BITS.
+
+2013-05-10  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: catch more abuse of HAVE_DECL in syntax-check
+       * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
+
+2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       deps: require Automake >= 1.9.6 in generated Makefile fragments
+
+       That is the same minimal version required in the DEPENDENCIES file.
+       Moreover, the old code generated a requirement of Automake >= 1.5,
+       and that is an insanely outdated version.
+
+       * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
+       * tests/havelib/rpathlx/Makefile.am: Likewise.
+       * tests/havelib/rpathly/Makefile.am: Likewise.
+       * tests/havelib/rpathlyx/Makefile.am: Likewise.
+       * tests/havelib/rpathlz/Makefile.am: Likewise.
+       * tests/havelib/rpathlzyx/Makefile.am: Likewise.
+       * tests/havelib/rpathx/Makefile.am: Likewise.
+       * tests/havelib/rpathy/Makefile.am: Likewise.
+       * tests/havelib/rpathz/Makefile.am: Likewise.
+
+2013-05-08  Eric Blake  <eblake@redhat.com>
+
+       bootstrap: AC_INIT may have more than four parameters
+       * build-aux/bootstrap (extract_package_name): Correctly extract
+       non-empty tarname field.  Avoid range in regex.
+       Based on a report by Sami Kerola <kerolasa@iki.fi>.
+
+2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       qacl: port to MS-Windows port of GNU Emacs
+       * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
+       Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
+       port of GNU Emacs.  Problem reported by Eli Zaretskii in
+       <http://bugs.gnu.org/14295#14>.
+
+2013-05-07  Mike Frysinger  <vapier@gentoo.org>
+
+       acl: include quote.h
+       * lib/copy-acl.c: Include quote.h.
+       * lib/set-acl.c: Likewise.
+
+2013-05-06  Mike Frysinger  <vapier@gentoo.org>
+
+       fchownat, renameat, unlinkat: update statat dependencies
+       These modules use statat and lstatat, not fstatat; so depend on
+       the statat module, which was split out recently from fstatat.
+       * modules/fchownat, modules/unlinkat: Change fstatat to statat.
+       * modules/renameat: Likewise.  Also delete fstat.
+       URL: http://bugs.gentoo.org/468790
+
+2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       Assume gnulib is checked out from Git, not CVS
+
+       In fact, access to the gnulib repository through CVS has been
+       disabled, or more precisely, got broken and was never restored; see:
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
+
+       Note that support for CVS is not removed completely and unthinkingly
+       by this change: only support for CVS checkouts of gnulib itself is
+       removed.  For example, the 'bootstrap' script still cater to .cvsingore
+       files and CVS directories, for the benefit of those poor gnulib clients
+       still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
+
+       * gnulib-tool: Simplify accordingly.
+       * posix-modules: Likewise.
+       * MODULES.html.sh: Likewise.
+       * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
+       repository.
+       * doc/gnulib-intro.texi: Likewise.
+       * doc/gnulib-readme.texi: Likewise.
+       * doc/gnulib-tool.texi: In the examples and explanations, refer to a
+       sample '.gitignore' file rather than a sample '.cvsignore'.
+       * NEWS: Update.
+       * m4/extensions.m4: While at it, remove a comment mistakenly referring
+       to "CVS Autoconf" rather than "git Autoconf".
+
+2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       utimensat-tests, etc.: try to fix some races
+       Problem reported by Bernhard Voelker in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
+       I don't know whether this patch fixes that race condition, but it
+       fixes *some* race conditions, so it should be a win.
+       * modules/chown-tests (Depends-on):
+       * modules/fchownat-tests (Depends-on):
+       * modules/fdutimensat-tests (Depends-on):
+       * modules/futimens-tests (Depends-on):
+       * modules/lchown-tests (Depends-on):
+       * modules/stat-time-tests (Depends-on):
+       * modules/utimens-tests (Depends-on):
+       * modules/utimensat-tests (Depends-on):
+       Depend on nanosleep, not usleep.
+       * modules/chown-tests (test_chown_LDADD):
+       * modules/lchown-tests (test_lchown_LDADD):
+       * modules/stat-time-tests (test_stat_time_LDADD):
+       New macro.
+       * modules/fchownat-tests (test_fchownat_LDADD):
+       * modules/fdutimensat-tests (test_fdutimensat_LDADD):
+       * modules/futimens-tests (test_futimens_LDADD):
+       * modules/utimens-tests (test_utimens_LDADD):
+       * modules/utimensat-tests (test_utimensat_LDADD):
+       Add $(LIB_NANOSLEEP).
+       * modules/stat-time-tests (Files): Add tests/nap.h.
+       * tests/nap.h: Include <limits.h>, for INT_MAX.
+       (lt_mtime): Remove.
+       (diff_timespec): New function.
+       (get_stat): Rename from get_mtime.  All callers changed.
+       (nap_works): Determine the needed delay by inspecting the
+       file system's timestamp jumps; this should be more reliable.
+       Look at both mtime and ctime, and take the maximum of the two jumps.
+       (nap_works, guess_delay):
+       Return a nanosecond cound, not a microsecond count.
+       All callers changed.
+       (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
+       failure.
+       (nap): Multiply the guess by 1.125, to accommodate the case where
+       the file system's clock is a bit slower than nanosleep's clock.
+       * tests/test-stat-time.c (BASE): New macro.
+       Include nap.h.
+       (nap): Remove; nap.h now defines this.  This removes a duplicate
+       implementation of 'nap'.
+
+       utimens, utimensat: work around Solaris UTIME_OMIT bug
+       Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
+       Linux kernel 2.6.32 does.  Work around it in the same way.
+       * doc/posix-functions/futimens.texi (futimens):
+       * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
+       * lib/utimens.c (fdutimens, lutimens):
+       * lib/utimensat.c (rpl_utimensat): Work around the bug.
+
+       gettext: now it's your responsibility to add -I$(top_builddir)/intl
+       Formerly, it was your responsibility to do this for all Makefile.ams
+       other than Gnulib's.  Now it's your responsibility to do it for
+       Gnulib's Makefile.am, too.
+       * NEWS: Document this.
+       * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
+
+       acl: include errno.h to get errno
+       Reported by Daiki Ueno in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
+       * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
+
+2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tests: don't assume getdtablesize () <= 10000000
+       * modules/cloexec-tests:
+       * modules/dup2-tests:
+       * modules/dup3-tests:
+       * modules/nonblocking-tests:
+       * modules/posix_spawn_file_actions_addclose-tests:
+       * modules/posix_spawn_file_actions_adddup2-tests:
+       * modules/posix_spawn_file_actions_addopen-tests:
+       * modules/unistd-safer-tests:
+       Depend on the getdtablesize module.
+       * tests/test-cloexec.c:
+       * tests/test-dup-safer.c:
+       * tests/test-dup2.c:
+       * tests/test-dup3.c:
+       * tests/test-fcntl.c:
+       * tests/test-nonblocking.c:
+       * tests/test-posix_spawn_file_actions_addclose.c:
+       * tests/test-posix_spawn_file_actions_adddup2.c:
+       * tests/test-posix_spawn_file_actions_addopen.c:
+       Don't assume getdtablesize () <= 10000000.
+
+2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       extern-inline: work around bug in Sun c99
+       * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
+       Work around bug in Sun C 5.12 c99's implementation of 'inline'.
+
+2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       qacl: new module, broken out from the acl module
+       This is for GNU Emacs, which wants the acl functions but does
+       not want 'error' invoked when they fail.
+       * lib/acl-internal.h: Do not include error.h, quote.h.
+       (ENOSYS, ENOTSUP): Remove; no longer needed.
+       (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
+       * lib/acl.h: Include <stdbool.h>.
+       (acl_errno_valid): New function.
+       * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
+       * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
+       * lib/set-acl.c: Rename from lib/set-mode-acl.c.
+       (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
+       (ACL_INTERNAL_INLINE): Remove; no longer needed.
+       * lib/file-has-acl.c (file_has_acl):
+       * lib/qcopy-acl.c (qcopy_acl):
+       * lib/qset-acl.c (qset_acl):
+       Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
+       * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
+       lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
+       lib/file-has-acl.c, m4/acl.m4 to qacl module.
+       Add lib/set-acl.c.
+       (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
+       Add qacl.
+       (configure.ac): Move gl_FUNC_ACL to qacl module.
+       (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
+       Rename set-mode-acl.c to set-acl.c.
+       * lib/acl-errno-valid.c: New file.
+       * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
+       copy_acl function remains in copy-acl.c.
+       * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
+       (_): Remove; not needed.
+       * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
+       set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
+       * modules/qacl: New file, moved from the old modules/acl.
+       (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
+       Remove set-mode-acl.c, copy-acl.c.
+       (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
+
+       alignof, intprops, malloca: port better to IBM's C compiler
+       * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
+       * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
+       * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
+
+2013-04-25  Daiki Ueno  <ueno@gnu.org>
+
+       wctype-h: fix gettext link error on mingw
+       Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
+       <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
+       * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
+       rpl_towupper and rpl_towupper.
+
+2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+       regex-tests, regex: allow glibc re_search behavior
+       * tests/test-regex.c (main): In test for glibc bug 15078, reformat
+       re_search input data to make the multi-character collating element
+       in it clearly visible, and treat re_search return code 0 as valid.
+       * m4/regex.m4 (gl_REGEX): Likewise.
+
+2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdalign: doc fix
+       * doc/posix-headers/stdalign.texi (stdalign.h):
+       Gnulib doesn't support '_Alignof expr'.
+
+2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stdalign: port to stricter ISO C11
+       ISO C11 says that _Alignof's operand must be a parenthesized type.
+       Problem reported by Eli Zaretskii in
+       <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
+       * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
+       * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
+
+2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
+       Problem reported by Marco Atzeri in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
+       * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
+       Simply delegate to the system <sys/select.h> in this case too.
+       Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
+       if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
+       be needed on Solaris either.
+       * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
+       Simply delgate to the system <sys/time.h> in this case.
+
+2013-03-19  Karl Berry  <karl@gnu.org>
+
+       * build-aux/gnupload: check for erroneous (with gnupload) use of
+       ftp-upload.gnu.org, tweak help.
+
+2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       copy-file, rpmatch: fix problems found by cppcheck
+       Reported by Arno Onken in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
+       * lib/rpmatch.c (try): Fix memory leak.
+       * lib/copy-file.c: Include "ignore-value.h".
+       (qcopy_file_preserving): Ignore chown value.
+       * modules/copy-file (Depends-on): Add ignore-value.
+
+2013-01-27  Jim Meyering  <jim@meyering.net>
+
+       prefix-gnulib-mk: give better diagnostics
+       * build-aux/prefix-gnulib-mk: Don't just "die".
+       Give better diagnostics upon failure.
+
+2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       putenv: port to Solaris 10
+       * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
+       HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
+       is not what is wanted here.
+       * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
+       declaration, not for its existence.
+
+2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       mktime: fix configure typo
+       * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
+
 2013-03-12  Eric Blake  <eblake@redhat.com>
 
        regex-tests: skip UTF-8 test on mingw
        * lib/c-vasnprintf.h: New file.
 
        New module 'c-snprintf'.
-        * modules/c-snprintf: New file.
-        * modules/c-snprintf-tests: New file.
-        * lib/c-snprintf.c: New file.
-        * lib/c-snprintf.h: New file.
-        * tests/test-c-snprintf.c: New file.
-        * tests/test-c-snprintf.sh: New file.
+       * modules/c-snprintf: New file.
+       * modules/c-snprintf-tests: New file.
+       * lib/c-snprintf.c: New file.
+       * lib/c-snprintf.h: New file.
+       * tests/test-c-snprintf.c: New file.
+       * tests/test-c-snprintf.sh: New file.
 
        New module 'c-vsnprintf'.
-        * modules/c-vsnprintf: New file.
-        * modules/c-vsnprintf-tests: New file.
-        * lib/c-vsnprintf.c: New file.
-        * lib/c-vsnprintf.h: New file.
-        * tests/test-c-vsnprintf.c: New file.
-        * tests/test-c-vsnprintf.sh: New file.
+       * modules/c-vsnprintf: New file.
+       * modules/c-vsnprintf-tests: New file.
+       * lib/c-vsnprintf.c: New file.
+       * lib/c-vsnprintf.h: New file.
+       * tests/test-c-vsnprintf.c: New file.
+       * tests/test-c-vsnprintf.sh: New file.
 
        New module 'c-vasprintf'.
-        * modules/c-vasprintf: New file.
-        * modules/c-vasprintf-tests: New file.
-        * lib/c-asprintf.c: New file.
-        * lib/c-vasprintf.c: New file.
-        * lib/c-vasprintf.h: New file.
-        * tests/test-c-vasprintf.c  +: New file.
-        * tests/test-c-vasprintf.sh: New file.
+       * modules/c-vasprintf: New file.
+       * modules/c-vasprintf-tests: New file.
+       * lib/c-asprintf.c: New file.
+       * lib/c-vasprintf.c: New file.
+       * lib/c-vasprintf.h: New file.
+       * tests/test-c-vasprintf.c  +: New file.
+       * tests/test-c-vasprintf.sh: New file.
 
        New module 'c-xvasprintf'.
-        * modules/c-xvasprintf: New file.
-        * modules/c-xvasprintf-tests: New file.
-        * lib/c-xasprintf.c: New file.
-        * lib/c-xvasprintf.c: New file.
-        * lib/c-xvasprintf.h: New file.
-        * tests/test-c-xvasprintf.c: New file.
-        * tests/test-c-xvasprintf.sh: New file.
+       * modules/c-xvasprintf: New file.
+       * modules/c-xvasprintf-tests: New file.
+       * lib/c-xasprintf.c: New file.
+       * lib/c-xvasprintf.c: New file.
+       * lib/c-xvasprintf.h: New file.
+       * tests/test-c-xvasprintf.c: New file.
+       * tests/test-c-xvasprintf.sh: New file.
 
 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>