From 34731471723c56a8596eadf2a2995d3ef4efc0f1 Mon Sep 17 00:00:00 2001 From: "Joel E. Denny" Date: Wed, 16 Dec 2009 13:19:19 -0500 Subject: [PATCH] Add gcc's -Wundef to test suite and fix another warning from it. * NEWS (2.4.2): Update description of -Wundef fix. * configure.ac (WARN_CXXFLAGS_TEST): New substitution. (WARN_CFLAGS_TEST): New substitution. * data/glr.c: Avoid warning about __STRICT_ANSI__. * tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of WARN_CFLAGS. (NO_WERROR_CFLAGS): Likewise. (CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS. (cherry picked from commit a603c6e0bb8b9e79d4136ee0fd0d1bf6a7d010ef) --- ChangeLog | 12 ++++++++++++ NEWS | 5 +++-- configure.ac | 6 ++++++ data/glr.c | 3 ++- tests/atlocal.in | 6 +++--- 5 files changed, 26 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index bdf66b7..74dacea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2009-12-16 Joel E. Denny + Add gcc's -Wundef to test suite and fix another warning from it. + * NEWS (2.4.2): Update description of -Wundef fix. + * configure.ac (WARN_CXXFLAGS_TEST): New substitution. + (WARN_CFLAGS_TEST): New substitution. + * data/glr.c: Avoid warning about __STRICT_ANSI__. + * tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of + WARN_CFLAGS. + (NO_WERROR_CFLAGS): Likewise. + (CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS. + +2009-12-16 Joel E. Denny + * data/yacc.c: Reformat m4 a little. 2009-12-16 Joel E. Denny diff --git a/NEWS b/NEWS index 02bc52a..a4d9b45 100644 --- a/NEWS +++ b/NEWS @@ -166,8 +166,9 @@ Bison News ** Detection of GNU M4 1.4.6 or newer during configure is improved. -** Warnings from gcc's -Wundef option about undefined YYENABLE_NLS and - YYLTYPE_IS_TRIVIAL in C/C++ parsers are now avoided. +** Warnings from gcc's -Wundef option about undefined YYENABLE_NLS, + YYLTYPE_IS_TRIVIAL, and __STRICT_ANSI__ in C/C++ parsers are now + avoided. ** %code is now a permanent feature. diff --git a/configure.ac b/configure.ac index 42308f3..faba627 100644 --- a/configure.ac +++ b/configure.ac @@ -68,6 +68,12 @@ if test "${enableval}" = yes; then gl_WARN_ADD([-Wshadow]) gl_WARN_ADD([-Wstrict-prototypes]) AC_SUBST([WARN_CFLAGS]) + # Warnings for the test suite only. + gl_WARN_ADD([-Wundef], [WARN_CFLAGS_TEST]) + WARN_CXXFLAGS_TEST="$WARN_CXXFLAGS $WARN_CFLAGS_TEST" + WARN_CFLAGS_TEST="$WARN_CFLAGS $WARN_CFLAGS_TEST" + AC_SUBST([WARN_CXXFLAGS_TEST]) + AC_SUBST([WARN_CFLAGS_TEST]) AC_DEFINE([lint], 1, [Define to 1 if the compiler is checking for lint.]) fi diff --git a/data/glr.c b/data/glr.c index 69bfef8..c7779d2 100644 --- a/data/glr.c +++ b/data/glr.c @@ -310,7 +310,8 @@ b4_percent_code_get[]dnl #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if (! defined __GNUC__ || __GNUC__ < 2 \ - || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__) + || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) \ + || (defined __STRICT_ANSI__ && __STRICT_ANSI__)) # define __attribute__(Spec) /* empty */ # endif #endif diff --git a/tests/atlocal.in b/tests/atlocal.in index fb1cef6..7277a59 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -8,11 +8,11 @@ : ${CC='@CC@'} # We want no optimization. -CFLAGS='@O0CFLAGS@ @WARN_CFLAGS@ @WERROR_CFLAGS@' +CFLAGS='@O0CFLAGS@ @WARN_CFLAGS_TEST@ @WERROR_CFLAGS@' # Sometimes a test group needs to ignore gcc warnings, so it locally # sets CFLAGS to this. -NO_WERROR_CFLAGS='@O0CFLAGS@ @WARN_CFLAGS@' +NO_WERROR_CFLAGS='@O0CFLAGS@ @WARN_CFLAGS_TEST@' # We need `config.h'. CPPFLAGS="-I$abs_top_builddir/lib @CPPFLAGS@" @@ -27,7 +27,7 @@ GCC='@GCC@' BISON_CXX_WORKS='@BISON_CXX_WORKS@' # We want no optimization with C++, too. -CXXFLAGS='@O0CXXFLAGS@ @WARN_CXXFLAGS@ @WERROR_CFLAGS@' +CXXFLAGS='@O0CXXFLAGS@ @WARN_CXXFLAGS_TEST@ @WERROR_CFLAGS@' # Are special link options needed? LDFLAGS='@LDFLAGS@' -- 2.7.4