extern-inline: also ignore -Wmissing-declarations
[gnulib.git] / ChangeLog
index c642230..774cdb1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,320 @@
+2012-08-05  Jim Meyering  <meyering@redhat.com>
+
+       extern-inline: also ignore -Wmissing-declarations
+       * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
+       required with gcc-4.8.0-to-be.
+
+       maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
+       * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
+       for /error ?([^,]*)/.  This avoids false-positives for strings like
+       "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
+
+2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       gnumakefile: better interaction with Automake-NG
+       * modules/gnumakefile [Makefile.am]: The makefiles generated by
+       Automake-NG always contain a definition of VPATH, even in non-VPATH
+       builds (its value being simply '.' in that case).  So, in the
+       'clean-GNUmakefile' rule, to determine whether running under a
+       VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
+       '$(VPATH)' expands to the empty string.
+
+2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
+
+       base64: Use extern C scope in header file, for C++.
+       * lib/base64.h: Add C++ namespace protection.
+
+2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       stat-time, timespec, u64: support naive out-of-dir builds
+       * lib/stat-time.c, lib/timespec.c, lib/u64.c:
+       Use '#include "foo.h"', not '#include <foo.h>', when including
+       one's own interface.  This works better when configuring with
+       out-of-directory builds, since packages need not add an
+       otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
+
+2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       utimens: use extern-inline
+       * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
+       * lib/utimens.h: Add copyright notice, since this is now large enough
+       to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
+       * modules/utimens (Depends-on): Add extern-inline.
+
+       u64: use extern-inline
+       * lib/u64.c: New file.
+       * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
+       * modules/u64 (Files): Add lib/u64.c.
+       (Depends-on): Add extern-inline.
+       (configure.ac): No need to require AC_C_INLINE, since extern-inline
+       does that now.
+       (lib_SOURCES): Add u64.c.
+
+       timespec: use extern-inline
+       * lib/timespec.c: New file.
+       * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
+       * modules/timespec (Files): Add lib/timespec.c.
+       (Depends-on): Add extern-inline.
+       (lib_SOURCES): Add timespec.c.
+
+       stat-time: use extern-inline
+       * lib/stat-time.c: New file.
+       * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
+       * modules/stat-time (Files): Add lib/stat-time.c.
+       (Depends-on): Add extern-inline.
+       (lib_SOURCES): Add stat-time.c.
+
+       extern-inline: new module
+       * modules/extern-inline, m4/extern-inline.m4: New files.
+       This is for better support of 'extern inline' a la ISO C99,
+       with a portable alternative on compilers that do not support
+       C99-style 'extern inline'.  Using 'extern inline' shrinks the size
+       of the Emacs executable, when compiled with debugging disabled,
+       which is a typical way that Emacs is built while developing.
+
+2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
+       * build-aux/do-release-commit-and-tag: Move variable definitions
+       together.
+       ($branch): Instead of defaulting to "master", default to the current
+       branch (as gnu-web-doc-update does).
+       (help): Display the current values of the option arguments.
+       * top/maint.mk (release-commit): New.
+       * top/README-release: Simplify the corresponding step.
+
+2012-07-30  Eric Blake  <eblake@redhat.com>
+
+       passfd: fix comment on recvfd
+       * lib/passfd.c (recvfd): Fix comment.
+       Reported by Jann Horn <jannhorn@googlemail.com>.
+
+2012-07-30  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: avoid a sub-shell
+       * top/maint.mk (release-prep): Remove unneeded sub-shell.
+
+2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: use silent-rules support from Automake
+       * top/maint.mk (news-check, vc-diff-check, announcement)
+       (no-submodule-changes, alpha beta stable, release-prep)
+       (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
+
+2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: provide a web-manual-update target
+       * top/maint.mk: here.
+       * top/README-release: Use it to simplify the web manual update step.
+
+2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
+
+       README-release: shorten the circuit to post a news
+       * top/README-release: Point directly to the news submission form.
+
+2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
+
+       gnu-web-doc-update: fix --help
+       * build-aux/gnu-web-doc-update: The information "top level" was written
+       twice.
+
+2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: absolute VPATH issue
+       * top/maint.mk (release-prep): Help Git find .git/.
+       From Jim Meyering.
+
+2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
+
+       gitlog-to-changelog: fix previous change
+       * build-aux/gitlog-to-changelog: Fix condition.
+       Add missing ";".
+
+2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
+
+       gitlog-to-changelog: don't expect .git to be in $srcdir
+       Reported by Bruno Haible.
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
+       * build-aux/gitlog-to-changelog (&git_dir_option): New.
+       Use it.
+
+2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: absolute VPATH build fix
+       * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
+       $(srcdir) is not a parent of $(builddir).
+
+2012-07-28  John Darrington  <john@darrington.wattle.id.au>
+
+       clean-temp: Fix memory leak.
+       * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
+       'files' members of tmpdir.
+
+2012-07-27  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: new rule: refresh-gnulib-patches
+       I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
+       Use this rule to refresh them.
+       * top/maint.mk (refresh-gnulib-patches): New rule.
+
+2012-07-24  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix handling of inctests variable.
+       * gnulib-tool: Canonicalize $inctests also in 'update' mode.
+       Reported by Nick Bowler <nbowler@elliptictech.com>.
+
+2012-07-22  Bruno Haible  <bruno@clisp.org>
+
+       getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
+       * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
+       * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
+       Remove exemption for getpass.h.
+       Suggested by Eric Blake.
+
+2012-07-20  Eric Blake  <eblake@redhat.com>
+
+       verify: document conflict with -Wnested-externs
+       * lib/verify.h: Give hint about usage when gcc warnings are enabled.
+
+       maint.mk: forbid exit(-1)
+       * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
+
+2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fsusage: port back to Solaris
+       * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
+       error (fsd not declared) on Solaris 10.  Reported privately by
+       Andrew Borodin.
+
+2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
+
+       gnu-web-doc-update: fix error messages
+       * build-aux/gnu-web-doc-update: Don't pass $ME to die.
+
+       gnu-web-doc-update: check the requirements.
+       * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
+       ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
+       * build-aux/bootstrap (find_tool): Comment change.
+
+2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: minor simplication.
+       * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
+       for default values.
+
+2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
+
+       gitlog-to-changelog: VPATH build issues
+       If builddir is not a subdirectory of srcdir, running git from it will
+       fail.
+       * build-aux/gitlog-to-changelog (--srcdir): New option.
+
+2012-07-15  Bruno Haible  <bruno@clisp.org>
+
+       fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
+       * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
+       * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
+       Remove exemption for fpending.h.
+       Suggested by Eric Blake.
+
+2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       pthread_sigmask: fix bug on FreeBSD 9
+       * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
+       Include string.h.
+       (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
+       When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
+       this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
+       but pthread_sigmask (1729, NULL, NULL) returns zero.
+       See <http://bugs.gnu.org/11884>.
+       Avoid the need to call pthread_sigmask (1729, ...) in most cases,
+       by inspecting whether the main call changed the old mask.
+
+2012-07-15  Reuben Thomas  <rrt@sc3d.org>
+
+       README-release: make it more legible
+       * top/README-release: Improve typography slightly.
+
+2012-07-15  Jim Meyering  <meyering@redhat.com>
+
+       maint: require that each sc_... command start with "@"
+       * Makefile (sc_prohibit_sc_omitted_at): New rule so that
+       "make sc_maint" helps us avoid this nit.
+
+2012-07-15  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: add leading "@" to quiet new "make syntax-check" rule
+       * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
+
+2012-07-13  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: new syntax check for HAVE_DECL checks
+       * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
+       * cfg.mk
+       (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
+       Exempt some false positives.
+       Based on a report by Karel Zak.
+
+       argp: make HAVE_DECL usage consistent
+       * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
+       macros, not whether they are defined.
+       * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
+       convention with other declaration checks.
+       Reported by Karel Zak, with suggestions from Paul Eggert.
+
+       stat-time: relax license to LGPLv2+
+       * modules/stat-time (License): Relax, with consent of all authors.
+
+       strndup: fix m4 usage error
+       * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
+       defined, to either 0 or 1.
+       Reported by Karel Zak.
+
+2012-07-11  Jim Meyering  <meyering@redhat.com>
+
+       maint: enable the sc_avoid_if_before_free syntax-check rule
+       * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
+       (if_before_free_offenders_): Define.
+       (if_before_free_basename_re_): Define.
+       Exempt current files with useless if-before-free.
+
+2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       gettext: do not assume '#define ... defined ...' behavior
+       * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
+       Do not use '#define FOO ... defined BAR ...', as the C standard says
+       it's not portable to expect that this works after macro expansion.
+       Problem reported for gzip by Steven M. Schweda in
+       <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
+
+2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       getloadavg: clean out old Emacs and Autoconf cruft
+       See Glenn Morris in <http://bugs.gnu.org/11905>.
+       * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
+       Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
+       (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
+       * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
+
+2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
+
+       bootstrap: let warn be like tests/init.sh's warn_
+       Reported by Jim Meyering.
+       * build-aux/bootstrap (warn): Remove, replaced by...
+       (warnf_, warn_): these.
+       Adjust callers.
+       Shorten messages that no longer fit in 80 columns.
+
+2012-07-09  Bruno Haible  <bruno@clisp.org>
+
+       getopt: Simplify after Emacs changed.
+       * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
+       (gl_GETOPT_IFELSE): Remove macro.
+
 2012-07-09  Jim Meyering  <meyering@redhat.com>
 
        maint.mk: add sc_vulnerable_makefile_CVE-2012-3386