33 Commits
Author SHA1 Message Date
Eric Blake fa96a1883e warnings: fix compilation with old autoconf
Autoconf older than 2.63b (such as what ships on CentOS 6) had
a bug that any AC_DEFUN'd macro name that includes shell meta-
characters causes failure due to missing shell quoting during
aclocal's use of autom4te.  We can work around the problem by
using m4_defun instead (same semantics in autom4te, but no
longer traced by aclocal, so no longer tickles the shell
quoting bug).

* m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
AC_DEFUN.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
(gl_MANYWARN_ALL_GCC(C++)): Likewise.

Reported-by: Erik Skultety <eskultet@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
2017-08-24 20:48:57 -05:00
Bruno Haible 461664a6be warnings, manywarnings: Add support for multiple languages, not just C.
* warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
gl_UNKNOWN_WARNINGS_ARE_ERRORS.
(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
(gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
(gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
of the current language. If C++ is the current language, modify
WARN_CXXFLAGS instead of WARN_CFLAGS.
* manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
gl_MANYWARN_ALL_GCC.
(gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
2017-08-07 00:40:41 +02:00
Paul Eggert a3fd683de3 version-etc: new year
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
2017-01-01 02:59:23 +00:00
Paul Eggert 71090a2a31 version-etc: new year
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
2016-01-01 00:57:21 -08:00
Paul Eggert b9bfe78424 version-etc: new year
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
* all files: Run 'make update-copyright'.
2014-12-31 17:47:54 -08:00
Eric Blake 1276a2c5f2 maint: update copyright
I ran 'make update-copyright'.

Signed-off-by: Eric Blake <eblake@redhat.com>
2014-01-01 00:07:10 -07:00
Paul Eggert cf70364d59 warnings: port --enable-gcc-warnings to Solaris Studio 12.3
Problem reported by Dagobert Michelsen via Eric Blake in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00052.html>.
* m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
not AC_COMPILE_IFELSE.
2013-09-23 10:16:39 -07:00
Eric Blake ed0ba878a2 warnings: minor optimization
Paul Eggert suggested that expr is more efficient than echo|sed.

* m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.

Signed-off-by: Eric Blake <eblake@redhat.com>
2013-08-15 13:47:26 -06:00
Eric Blake 826b63b682 warnings: check -Wfoo rather than -Wno-foo
As reported by Christophe Fergeau and others, use of the
warnings modules is awkward when probing for negative
warning flags.  For example, clang recognizes
-Wno-unused-command-line-argument, but gcc does not;
gcc silently ignores unknown warnings in isolation, but when
something else also causes a compilation problem, gcc then
compounds the overall message by also complaining about the
unrecongized command line option at that time.  The gcc manual
documents that this behavior is intentional so that someone
can add a -Wno-foo silencer to CFLAGS for a warning that older
gcc does not understand, and where the warning is undesired
under newer gcc; it also documents that probing for the -Wfoo
positive form of the error is a reliable way to tell if the
negative form will actually suppress anything.  Clang will
warn for both positive and negative forms of an unknown
option.

Since common usage includes:

for w in $list; do
  gl_WARN_ADD([$w])
done

the solution must be polymorphic to work on both m4 literals
and shell variables (similar to AS_VAR_SET polymorphism).

* m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
-Wno-, test if the compiler recognizes the positive form instead.

Signed-off-by: Eric Blake <eblake@redhat.com>
2013-08-15 13:39:28 -06:00
Paul Eggert 4c70b27d0e 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-15 00:33:37 -07:00
Eric Blake 9fc81090f6 maint: update all copyright year number ranges
Run "make update-copyright".  Compare to commit 1602f0a from last year.

Signed-off-by: Eric Blake <eblake@redhat.com>
2013-01-01 00:50:58 +00:00
Akim Demaille 2c19fe9c23 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 20:27:23 +02:00
Akim Demaille 0e9d9267fa warnings.m4: fix errors.
* m4/warnings.m4 (gl_WARN_ADD): Don't change CPPFLAGS,
but the compiler flags.
Reported by Bruno Haible.
2012-03-30 11:07:55 +02:00
Akim Demaille 4f044de87e warnings.m4: check the compiler, not the preprocessor
* m4/warnings.m4 (gl_WARN_ADD): Use the compiler, not the
preprocessor.
Depend on the current AC_LANG for the cache variables.
2012-03-29 16:07:48 -06:00
Jim Meyering 1602f0afed maint: update all copyright year number ranges
Run "make update-copyright".
2012-01-01 10:04:58 +01:00
Eric Blake 41a7841a82 warnings: add comments about previous patch
* m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
* m4/include_next.m4: Likewise.
* m4/warn-on-use.m4: Likewise.
* m4/warnings.m4: Likewise, and simplify use.
Suggested by Stefano Lattarini.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-07-26 15:55:05 -06:00
Eric Blake 336406c13c include-next, warnings: support older autoconf
Older autoconf did not know how to peer through quoting of the
m4 macro created by AS_VAR_PUSHDEF; while newer autoconf has
been patched to allow typical autoconf quoting rules to still
apply, compatibility with autoconf 2.59 requires the unquoted
use of the macro name for all uses prior to AS_VAR_POPDEF.

absolute-header.m4 and warn-on-use.m4 already got this right.

* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
AS_VAR_PUSHDEF in a way that works with older autoconf.
* m4/warnings.m4 (gl_WARN_ADD): Likewise.
Reported by Daniel P. Berrange.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-07-26 14:11:24 -06:00
Jim Meyering b2b60640be warnings.m4: don't usurp save_CPPFLAGS variable name
* m4/warnings.m4: Prefix local temporary variable name with gl_.
2011-05-17 14:10:49 +02:00
Jim Meyering d60f3b0c6b maint: update almost all copyright ranges to include 2011
Run the new "make update-copyright" rule.
2011-01-01 22:12:59 +01:00
Simon Josefsson a5cfc9e4c8 build: guarantee AS_VAR_IF
The recent addition of warn-on-use.m4 was broken with older autoconf.
2010-01-12 19:44:11 +01:00
Jim Meyering b2e2010c7c update nearly all FSF copyright year lists to include 2010
Use the same procedure as for 2009, outlined in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
2010-01-01 10:42:00 +01:00
Jim Meyering 3030c5b5e0 update nearly all FSF copyright year lists to include 2009
The files named by the following are exempted:

    grep -v '^#' config/srclist.txt|grep -v '^$' \
      | while read src dst; do
          test -f "$dst" && { echo "$dst"; continue; }
          test -d "$dst" || continue
          echo "$dst"/$(basename "$src")
        done > exempt
    git ls-files tests/unictype >> exempt

In the remaining files, convert to all-interval notation if
- there is already at least one year interval like 2000-2003
- the file is maintained by me
- the file is in lib/uni*/, where that style already prevails
Otherwise, use update-copyright's default.
2009-12-29 17:49:30 +01:00
Bruno Haible 441aa3044f Use spaces for indentation, not tabs. 2009-12-10 20:28:30 +01:00
Simon Josefsson c00c93e702 warnings: Split off some code to new module manywarnings. 2008-11-18 13:50:32 +01:00
Simon Josefsson ceb6e31c70 warnings: Improve code. 2008-11-17 22:11:30 +01:00
Simon Josefsson d7b47e91d9 warnings: Use CPPFLAGS to really check whether the parameter works. 2008-11-17 21:35:50 +01:00
Simon Josefsson c23fafe9a0 Fix last commit. 2008-11-17 18:17:11 +01:00
Simon Josefsson ae3a1999b8 warnings: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED. 2008-11-17 17:45:14 +01:00
Simon Josefsson b383aaabad warnings: Remove gl_WARN_INIT. 2008-11-12 12:19:23 +01:00
Paolo Bonzini b98fba87b0 warnings: Think right.
2008-11-11  Paolo Bonzini  <bonzini@gnu.org>

	* m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
2008-11-11 13:55:40 +01:00
Paolo Bonzini 2b4912f774 warnings: Add AC_SUBST.
2008-11-11  Paolo Bonzini  <bonzini@gnu.org>

	* m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
	(gl_WARN_ADD): Substitute $2 if literal.
2008-11-11 13:42:48 +01:00
Paolo Bonzini 2c64312ecc warnings: Support non-literal arguments, and let the user choose the variable
2008-11-11  Paolo Bonzini  <bonzini@gnu.org>

	* m4/warnings.m4: Almost complete rewrite. :-)
2008-11-11 12:01:42 +01:00
Simon Josefsson 3aa989ad36 Add warnings module. 2008-11-11 10:29:18 +01:00