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.
This commit is contained in:
Joel E. Denny
2009-12-16 13:19:19 -05:00
parent 19750d310c
commit a603c6e0bb
5 changed files with 26 additions and 6 deletions

View File

@@ -1,3 +1,15 @@
2009-12-16 Joel E. Denny <jdenny@clemson.edu>
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 <jdenny@clemson.edu> 2009-12-16 Joel E. Denny <jdenny@clemson.edu>
* data/yacc.c: Reformat m4 a little. * data/yacc.c: Reformat m4 a little.

5
NEWS
View File

@@ -216,8 +216,9 @@ Bison News
** Detection of GNU M4 1.4.6 or newer during configure is improved. ** Detection of GNU M4 1.4.6 or newer during configure is improved.
** Warnings from gcc's -Wundef option about undefined YYENABLE_NLS and ** Warnings from gcc's -Wundef option about undefined YYENABLE_NLS,
YYLTYPE_IS_TRIVIAL in C/C++ parsers are now avoided. YYLTYPE_IS_TRIVIAL, and __STRICT_ANSI__ in C/C++ parsers are now
avoided.
** %code is now a permanent feature. ** %code is now a permanent feature.

View File

@@ -68,6 +68,12 @@ if test "${enableval}" = yes; then
gl_WARN_ADD([-Wshadow]) gl_WARN_ADD([-Wshadow])
gl_WARN_ADD([-Wstrict-prototypes]) gl_WARN_ADD([-Wstrict-prototypes])
AC_SUBST([WARN_CFLAGS]) 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.]) AC_DEFINE([lint], 1, [Define to 1 if the compiler is checking for lint.])
fi fi

View File

@@ -318,7 +318,8 @@ b4_percent_code_get[]dnl
#ifndef __attribute__ #ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */ /* This feature is available in gcc versions 2.5 and later. */
# if (! defined __GNUC__ || __GNUC__ < 2 \ # 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 */ # define __attribute__(Spec) /* empty */
# endif # endif
#endif #endif

View File

@@ -8,11 +8,11 @@
: ${CC='@CC@'} : ${CC='@CC@'}
# We want no optimization. # 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 # Sometimes a test group needs to ignore gcc warnings, so it locally
# sets CFLAGS to this. # sets CFLAGS to this.
NO_WERROR_CFLAGS='@O0CFLAGS@ @WARN_CFLAGS@' NO_WERROR_CFLAGS='@O0CFLAGS@ @WARN_CFLAGS_TEST@'
# We need `config.h'. # We need `config.h'.
CPPFLAGS="-I$abs_top_builddir/lib @CPPFLAGS@" CPPFLAGS="-I$abs_top_builddir/lib @CPPFLAGS@"
@@ -27,7 +27,7 @@ GCC='@GCC@'
BISON_CXX_WORKS='@BISON_CXX_WORKS@' BISON_CXX_WORKS='@BISON_CXX_WORKS@'
# We want no optimization with C++, too. # 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? # Are special link options needed?
LDFLAGS='@LDFLAGS@' LDFLAGS='@LDFLAGS@'