From 321d3e35d52c3a118e4fd574ec63e667c330a40e Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Mon, 8 Oct 2012 09:02:09 +0200 Subject: [PATCH] tests: no longer disable -O compiler options Tests are running without -O since f377f69fec28013c79db4efe12bbb9d48987fb2c because some warnings (about yylval not being initialized) show only when GCC is given -O2. The previous patch fixes the warnings. Run the test suite with compiler options unmodified. * tests/atlocal.in (O0CFLAGS, O0CXXFLAGS): Remove, use CFLAGS and CXXFLAGS. --- NEWS | 13 +++++++++++++ tests/atlocal.in | 11 ++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/NEWS b/NEWS index 81afe649..2d4143ad 100644 --- a/NEWS +++ b/NEWS @@ -48,6 +48,19 @@ GNU Bison NEWS This feature is somewhat experimental. User feedback would be appreciated. +** Fix compiler warnings in the generated parser (yacc.c) + + The compilation of pure parsers (%define api.pure) can trigger GCC + warnings such as: + + input.c: In function 'yyparse': + input.c:1503:12: warning: 'yylval' may be used uninitialized in this + function [-Wmaybe-uninitialized] + *++yyvsp = yylval; + ^ + + This is now fixed; pragmas to avoid these warnings are no longer needed. + * Noteworthy changes in release 2.6.2 (2012-08-03) [stable] ** Bug fixes diff --git a/tests/atlocal.in b/tests/atlocal.in index 9a2d19f0..2f682592 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -29,16 +29,10 @@ CPPFLAGS="-I$abs_top_builddir/lib @CPPFLAGS@" # Is the compiler GCC? GCC='@GCC@' -# We want no optimization, as they uncover warnings (therefore, -# failures) about uninitialized variables in the test suite. FIXME: -# fix the warnings, not the flags. - O0CFLAGS=`echo '@CFLAGS@' | sed 's/-O[0-9s] *//g'` -O0CXXFLAGS=`echo '@CXXFLAGS@' | sed 's/-O[0-9s] *//g'` - # Sometimes a test group needs to ignore gcc warnings, so it locally # sets CFLAGS to this. - NO_WERROR_CFLAGS="$O0CFLAGS @WARN_CFLAGS@ @WARN_CFLAGS_TEST@" -NO_WERROR_CXXFLAGS="$O0CXXFLAGS @WARN_CXXFLAGS@ @WARN_CXXFLAGS_TEST@" + NO_WERROR_CFLAGS='@CFLAGS@ @WARN_CFLAGS@ @WARN_CFLAGS_TEST@' +NO_WERROR_CXXFLAGS='@CXXFLAGS@ @WARN_CXXFLAGS@ @WARN_CXXFLAGS_TEST@' # But most of the time, we want -Werror. CFLAGS="$NO_WERROR_CFLAGS @WERROR_CFLAGS@" @@ -51,7 +45,6 @@ BISON_CXX_WORKS='@BISON_CXX_WORKS@' if "$at_arg_compile_c_with_cxx"; then CC_IS_CXX=1 CC=$CXX - O0CFLAGS=$O0CXXFLAGS NO_WERROR_CFLAGS=$NO_WERROR_CXXFLAGS CFLAGS=$CXXFLAGS else -- 2.45.2