mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-26 20:53:04 +00:00
Merge branch 'maint'
* origin/maint: maint: word changes lalr1.cc: fix test suite portability maint: fix an erroneous include tests: check that headers are self contained doc: add missing documentation for --report Conflicts: NEWS data/location.cc
This commit is contained in:
4
NEWS
4
NEWS
@@ -250,6 +250,8 @@ GNU Bison NEWS
|
|||||||
Incorrect definitions of YY_, issued by yacc.c when no parser header is
|
Incorrect definitions of YY_, issued by yacc.c when no parser header is
|
||||||
generated, are removed.
|
generated, are removed.
|
||||||
|
|
||||||
|
All the generated headers are self-contained.
|
||||||
|
|
||||||
** Changes in the format of error messages
|
** Changes in the format of error messages
|
||||||
|
|
||||||
This used to be the format of many error reports:
|
This used to be the format of many error reports:
|
||||||
@@ -2131,7 +2133,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
LocalWords: Automake TMPDIR LESSEQ ylwrap endif yydebug YYTOKEN YYLSP ival hh
|
LocalWords: Automake TMPDIR LESSEQ ylwrap endif yydebug YYTOKEN YYLSP ival hh
|
||||||
LocalWords: extern YYTOKENTYPE TOKENTYPE yytokentype tokentype STYPE lval pdf
|
LocalWords: extern YYTOKENTYPE TOKENTYPE yytokentype tokentype STYPE lval pdf
|
||||||
LocalWords: lang yyoutput dvi html ps POSIX lvalp llocp Wother nterm arg init
|
LocalWords: lang yyoutput dvi html ps POSIX lvalp llocp Wother nterm arg init
|
||||||
LocalWords: TOK
|
LocalWords: TOK calc yyo fval
|
||||||
|
|
||||||
Local Variables:
|
Local Variables:
|
||||||
mode: outline
|
mode: outline
|
||||||
|
|||||||
@@ -175,6 +175,19 @@ decide whether to update.
|
|||||||
** make check
|
** make check
|
||||||
Use liberally.
|
Use liberally.
|
||||||
|
|
||||||
|
** Typical errors
|
||||||
|
If the test suite shows failures such as the following one
|
||||||
|
|
||||||
|
.../bison/lib/getopt.h:196:8: error: redefinition of 'struct option'
|
||||||
|
/usr/include/getopt.h:54:8: error: previous definition of 'struct option'
|
||||||
|
|
||||||
|
it probably means that some file was compiled without
|
||||||
|
AT_DATA_SOURCE_PROLOGUE. This error is due to the fact that our -I options
|
||||||
|
pick up gnulib's replacement headers, such as getopt.h, and this will go
|
||||||
|
wrong if config.h was not included first.
|
||||||
|
|
||||||
|
See tests/local.at for details.
|
||||||
|
|
||||||
** make maintainer-check-valgrind
|
** make maintainer-check-valgrind
|
||||||
This target uses valgrind both to check bison, and the generated parsers.
|
This target uses valgrind both to check bison, and the generated parsers.
|
||||||
|
|
||||||
|
|||||||
3
THANKS
3
THANKS
@@ -5,7 +5,7 @@ Airy Andre Airy.Andre@edf.fr
|
|||||||
Akim Demaille akim@freefriends.org
|
Akim Demaille akim@freefriends.org
|
||||||
Albert Chin-A-Young china@thewrittenword.com
|
Albert Chin-A-Young china@thewrittenword.com
|
||||||
Alexander Belopolsky alexb@rentec.com
|
Alexander Belopolsky alexb@rentec.com
|
||||||
Alexandre Duret-Lutz adl@src.lip6.fr
|
Alexandre Duret-Lutz adl@lrde.epita.fr
|
||||||
Andreas Schwab schwab@suse.de
|
Andreas Schwab schwab@suse.de
|
||||||
Andrew Suffield asuffield@users.sourceforge.net
|
Andrew Suffield asuffield@users.sourceforge.net
|
||||||
Angelo Borsotti angelo.borsotti@gmail.com
|
Angelo Borsotti angelo.borsotti@gmail.com
|
||||||
@@ -95,6 +95,7 @@ R Blake blakers@mac.com
|
|||||||
Raja R Harinath harinath@cs.umn.edu
|
Raja R Harinath harinath@cs.umn.edu
|
||||||
Ralf Wildenhues Ralf.Wildenhues@gmx.de
|
Ralf Wildenhues Ralf.Wildenhues@gmx.de
|
||||||
Richard Stallman rms@gnu.org
|
Richard Stallman rms@gnu.org
|
||||||
|
Rob Vermaas rob.vermaas@gmail.com
|
||||||
Robert Anisko anisko_r@epita.fr
|
Robert Anisko anisko_r@epita.fr
|
||||||
Satya Kiran Popuri satyakiran@gmail.com
|
Satya Kiran Popuri satyakiran@gmail.com
|
||||||
Sebastian Setzer sebastian.setzer.ext@siemens.com
|
Sebastian Setzer sebastian.setzer.ext@siemens.com
|
||||||
|
|||||||
@@ -280,7 +280,7 @@ b4_copyright([Positions for Bison parsers in C++])[
|
|||||||
]b4_cpp_guard_open([b4_dir_prefix[]position.hh])[
|
]b4_cpp_guard_open([b4_dir_prefix[]position.hh])[
|
||||||
|
|
||||||
# include <algorithm> // std::max
|
# include <algorithm> // std::max
|
||||||
# include <iosfwd>
|
# include <iostream>
|
||||||
# include <string>
|
# include <string>
|
||||||
|
|
||||||
]b4_null_define[
|
]b4_null_define[
|
||||||
@@ -299,8 +299,6 @@ b4_copyright([Locations for Bison parsers in C++])[
|
|||||||
|
|
||||||
]b4_cpp_guard_open([b4_dir_prefix[]location.hh])[
|
]b4_cpp_guard_open([b4_dir_prefix[]location.hh])[
|
||||||
|
|
||||||
# include <iostream>
|
|
||||||
# include <string>
|
|
||||||
# include "position.hh"
|
# include "position.hh"
|
||||||
|
|
||||||
]b4_namespace_open[
|
]b4_namespace_open[
|
||||||
|
|||||||
@@ -9426,13 +9426,23 @@ separated list of @var{things} among:
|
|||||||
Description of the grammar, conflicts (resolved and unresolved), and
|
Description of the grammar, conflicts (resolved and unresolved), and
|
||||||
parser's automaton.
|
parser's automaton.
|
||||||
|
|
||||||
|
@item itemset
|
||||||
|
Implies @code{state} and augments the description of the automaton with
|
||||||
|
the full set of items for each state, instead of its core only.
|
||||||
|
|
||||||
@item lookahead
|
@item lookahead
|
||||||
Implies @code{state} and augments the description of the automaton with
|
Implies @code{state} and augments the description of the automaton with
|
||||||
each rule's lookahead set.
|
each rule's lookahead set.
|
||||||
|
|
||||||
@item itemset
|
@item solved
|
||||||
Implies @code{state} and augments the description of the automaton with
|
Implies @code{state}. Explain how conflicts were solved thanks to
|
||||||
the full set of items for each state, instead of its core only.
|
precedence and associativity directives.
|
||||||
|
|
||||||
|
@item all
|
||||||
|
Enable all the items.
|
||||||
|
|
||||||
|
@item none
|
||||||
|
Do not generate the report.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@item --report-file=@var{file}
|
@item --report-file=@var{file}
|
||||||
|
|||||||
@@ -127,7 +127,8 @@ AT_SETUP([Several parsers])
|
|||||||
# AT_TEST([PREFIX], [DIRECTIVES])
|
# AT_TEST([PREFIX], [DIRECTIVES])
|
||||||
# -------------------------------
|
# -------------------------------
|
||||||
# Generate and compile to *.o. Make sure there is no (allowed) YY*
|
# Generate and compile to *.o. Make sure there is no (allowed) YY*
|
||||||
# nor yy* identifiers in the header.
|
# nor yy* identifiers in the header. Check that headers are
|
||||||
|
# self-contained, and can be compiled by a C++ compiler.
|
||||||
m4_pushdef([AT_TEST],
|
m4_pushdef([AT_TEST],
|
||||||
[AT_BISON_OPTION_PUSHDEFS([%define api.prefix "$1_" $2])
|
[AT_BISON_OPTION_PUSHDEFS([%define api.prefix "$1_" $2])
|
||||||
AT_DATA_GRAMMAR([$1.AT_SKEL_CC_IF([yy], [y])],
|
AT_DATA_GRAMMAR([$1.AT_SKEL_CC_IF([yy], [y])],
|
||||||
@@ -243,6 +244,19 @@ AT_TEST([x8], [%define api.pure %define api.push-pull both])
|
|||||||
AT_COMPILE_CXX([parser], [[x[1-8].o -DCC_IS_CXX=$CC_IS_CXX main.cc]])
|
AT_COMPILE_CXX([parser], [[x[1-8].o -DCC_IS_CXX=$CC_IS_CXX main.cc]])
|
||||||
AT_CHECK([./parser], [0], [[expout]])
|
AT_CHECK([./parser], [0], [[expout]])
|
||||||
|
|
||||||
|
# Check that the headers are self-contained, and protected against
|
||||||
|
# multiple inclusions. While at it, check they are sane for C++.
|
||||||
|
for h in *.h *.hh
|
||||||
|
do
|
||||||
|
# No shell expansion with AT_DATA.
|
||||||
|
cat >$h.cc <<EOF
|
||||||
|
AT_DATA_SOURCE_PROLOGUE
|
||||||
|
#include "$h"
|
||||||
|
#include "$h"
|
||||||
|
EOF
|
||||||
|
AT_COMPILE_CXX([$h.o])
|
||||||
|
done
|
||||||
|
|
||||||
m4_popdef([AT_TEST])
|
m4_popdef([AT_TEST])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|||||||
Reference in New Issue
Block a user