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.
will use YY_CALC_LIB_PARSE_H_INCLUDED as guard.
will use YY_CALC_LIB_PARSE_H_INCLUDED as guard.
+** 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
* Noteworthy changes in release 2.6.2 (2012-08-03) [stable]
** Bug fixes
# Is the compiler GCC?
GCC='@GCC@'
# 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.
# 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@"
# But most of the time, we want -Werror.
CFLAGS="$NO_WERROR_CFLAGS @WERROR_CFLAGS@"
if "$at_arg_compile_c_with_cxx"; then
CC_IS_CXX=1
CC=$CXX
if "$at_arg_compile_c_with_cxx"; then
CC_IS_CXX=1
CC=$CXX
NO_WERROR_CFLAGS=$NO_WERROR_CXXFLAGS
CFLAGS=$CXXFLAGS
else
NO_WERROR_CFLAGS=$NO_WERROR_CXXFLAGS
CFLAGS=$CXXFLAGS
else