X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/916708d59e02812675ce2d85597b7e1f2d677213..dca81a78f8db18a89fb207df41679c41ec222a90:/ChangeLog?ds=sidebyside

diff --git a/ChangeLog b/ChangeLog
index b0a6e0fb..e246ae1c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1086 @@
+2004-08-07  Florian Krohm  <florian@edamail.fishkill.ibm.com>
+
+	* src/scan-gram.l (handle_syncline): Use uniqstr_new not xstrdup.
+
+	* src/location.h (struct): The file member is a uniqstr.
+	(equal_boundaries): Use UNIQSTR_EQ for comparison.
+
+2004-07-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix bug with non-%union parsers that have printers or destructors,
+	which led to a Bison core dump.  Reported by Peter Fales in
+	<http://lists.gnu.org/archive/html/bug-bison/2004-07/msg00014.html>.
+	
+	* data/c.m4 (b4_symbol_actions): Don't assume %union was used.
+	* data/lalr1.cc (yystype) [defined YYSTYPE]: Define to YYSTYPE,
+	not to our own type.
+	* src/output.c (symbol_destructors_output, symbol_printers_output):
+	Don't assume %union.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR,
+	AT_CHECK_PRINTER_AND_DESTRUCTOR): New argument
+	UNION-FLAG.  All callers changed.
+	(_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't assume %union.
+	Use type char, not unsigned int, when declaring an array of char;
+	this lets us remove a cast.
+	(Printers and Destructors): Add non-%union test cases.
+
+2004-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* doc/bison.texinfo: Minor editorial changes, mostly to the new
+	GLR writeups.  E.g., avoid frenchspacing and the future tense,
+	change "lookahead" to "look-ahead", and change "wrt" to "with
+	respect to".
+	
+2004-06-21  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
+
+	* doc/bison.texinfo (Merging GLR Parses, Compiler Requirements):
+	New sections, split off from the GLR Parsers section.  Put the new
+	Simple GLR Parser near the start of the GLR section, for clarity.
+	Rewrite connective text.
+
+2004-06-21  Frank Heckenbach  <frank@g-n-u.de>
+
+	* doc/bison.texinfo (Simple GLR Parsers): New section.
+
+2004-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS, TODO, doc/bison.texinfo:
+	Use "look-ahead" instead of "lookahead", to be consistent.
+	* REFERENCES: Fix incorrect reference to DeRemer and Pennello,
+	while we're fixing "look-ahead".
+	* src/conflicts.c (shift_set): Renamed from shiftset.
+	(look_ahead_set): Renamed from lookaheadset.
+	* src/print.c: Likewise.
+	* src/getargs.c (report_args): Add "look-ahead" as the new canonical
+	name for "lookahead".
+	(report_types, usage): Likewise.
+	* src/getargs.h (report_look_ahead_tokens): Renamed from
+	report_lookaheads.
+	* src/lalr.c (compute_look_ahead_tokens): Renamed from
+	compute_lookaheads.
+	(state_look_ahead_tokens_count): Renamed from state_lookaheads_count.
+	(look_ahead_tokens_print): Renamed from lookaheads_print.
+	* src/state.c (state_rule_look_ahead_tokens_print): Renamed from
+	state_rule_lookaheads_print.
+	* src/state.h: Likewise.
+	(reductions.look_ahead_tokens): Renamed from lookaheads.
+	* tests/torture.at (AT_DATA_LOOK_AHEAD_TOKENS_GRAMMAR): Renamed from
+	AT_DATA_LOOKAHEADS_GRAMMAR.
+
+2004-06-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* README: Update location of patched M4 distribution.
+
+2004-05-30  Albert Chin-A-Young  <china@thewrittenword.com>
+
+	Don't assume the C++ compiler takes the same arguments as the C compiler
+	(trivial change).
+	* configure.ac (O0CXXFLAGS): New var.
+	* tests/atlocal.in (CXXFLAGS): Use it.
+
+2004-05-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix some "make check" problems with C++ reported by
+	Albert Chin-A-Young for Tru64 C++ in this thread:
+	http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00049.html
+
+	* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check for std::cerr.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
+	Output to a .cc file for C++, not to a .c file.
+	* tests/calc.at (AT_CHECK_CALC): Likewise.
+	* tests/regression.at (AT_CHECK_DANCER): Likewise.
+	* tests/local.at (AT_COMPILE_CXX): Default to OUTPUT.cc, not OUTPUT.c.
+
+2004-05-28  Albert Chin-A-Young  <china@thewrittenword.com>
+
+	* tests/calc.at, tests/actions.at: Workaround for SGI
+	C++ compiler.  (trivial change)
+
+2004-05-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Spent a few hours checking out which prerequisite versions the
+	current sources actually require.  I went all the way back to
+	Gettext 0.10.40, Automake 1.4, and Autoconf 2.57 and investigated
+	a seemingly endless set of combinations of versions more recent
+	than that.  The bottom line is that the current sources require
+	fairly recent versions of the build tools, and it'll be some work
+	to change this.
+	* configure.ac (AC_PREREQ): Increase from 2.58 to 2.59.
+	(AM_INIT_AUTOMAKE): Increase from 1.7 to 1.8.
+	(AM_GNU_GETTEXT_VERSION): Increase from 0.11.5 to 0.12.
+	Add comments explaining why those particular versions are
+	currently needed.
+	
+	* src/parse-gram.y (lloc_default): Rewrite to avoid compiler bug
+	in SGI MIPSpro 7.4.1m.  Problem reported by Albert Chin-A-Young in
+	<http://mail.gnu.org/archive/html/bug-bison/2004-05/msg00037.html>.
+
+	* configure.ac (AC_PREREQ): Bump to 2.58, since 2.57 doesn't work
+	(it fails with a Autoconf-without-aclocal-m4 diagnostic).
+
+2004-05-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* configure.ac (AM_GNU_GETTEXT_VERSION): Lower it from 0.14.1 to
+	0.11.5.  Suggested by Bruno Haible.
+	* bootstrap: Remove gettext version checking.
+
+	* doc/bison.texinfo (Decl Summary): Also mention that %union
+	can depend on prerequisite types.  Problem reported by Tim
+	Van Holder.
+
+2004-05-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* README: Mention GNU m4 1.4 bugs and Akim's patched version.
+	* README-alpha: Don't tell people not to package this.
+
+	* bootstrap: Don't assume $(...) works; use `...` instead.
+	Problem reported by Paul Hilfinger.  Also, diagnose non-GNU
+	gettext better.
+
+	* doc/bison.texinfo (Decl Summary, Bison Options): Clarify what's
+	put into the -d output file, and mention what to do if YYSTYPE is
+	defined as a macro.
+
+2004-05-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Undo change made earlier today: it caused autopoint to not bring
+	in ABOUT-NLS.  Ouch.  Instead, substitute our own diagnostic for
+	autopoint's.
+
+	* bootstrap: Check that gettext version matches what's in
+	configure.ac.  Warn users to ignore robots.txt ERROR 404.
+	* bootstrap: Undo today's earlier change (logged below).
+	* configure.ac (AM_GNU_GETTEXT_VERSION): Likewise.
+
+	The gettext version checking is causing more trouble than it's
+	curing; remove it.  Problem reported by Paul Hilfinger.
+
+	* bootstrap: Issue a warning that one can expect a message
+	'AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION'.
+	* configure.ac (AM_GNU_GETTEXT_VERSION): Remove.
+
+2004-05-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Ensure that the C++ compiler used for testing actually works on a
+	simple test program; if not, skip the C++-related tests.  Problem
+	reported by Vin Shelton in:
+	http://mail.gnu.org/archive/html/bug-bison/2004-05/msg00026.html
+
+	* m4/cxx.m4: New file.
+	* configure.ac (BISON_TEST_FOR_WORKING_CXX_COMPILER): Add.
+	* tests/atlocal.in (BISON_CXX_WORKS): Add.
+	* tests/local.at (AT_COMPILE_CXX): Use it.
+
+2004-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (yylloc): Output this macro even if locations are not
+	being generated, as the GLR parser needs it even in that case.
+	Problem reported by Troy A. Johnson
+	<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=195946>.
+
+	* configure.ac (AC_INIT): Update to 1.875e.
+
+2004-05-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS: Version 1.875d.
+	* configure.ac (AC_INIT): Likewise.
+	* src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875d.
+
+	* configure.ac (--enable-gcc-warnings): Do not enable -Wshadow,
+	-Wmissing-prototypes, or -Wstrict-prototypes for C++.  The current
+	lalr1.cc runs afoul of the first, and the last two are no longer
+	supported by GCC 3.4.0.
+	* README: Mention GNU m4 1.4 or later; mention m4 patches.
+	* HACKING: Use ./bootstrap, not "make update" to import foreign files.
+
+2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/muscle_tab.c (hash_muscle): Accept and return size_t, not
+	unsigned int, for compatibility with latest gnulib hash module.
+	* src/state.c (state_hash, state_hasher): Likewise.
+	* src/symtab.c (hash_symbol, hash_symbol_hasher): Likewise.
+	* src/uniqstr.c (hash_uniqstr): Likewise.
+
+2004-05-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS: Unescaped newlines are no longer allowed in char & strings.
+
+	* src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER,
+	SC_CHARACTER,SC_STRING>): Reject unescaped newlines in
+	character and string literals.
+	(unexpected_end): New function.
+	(unexpected_eof): Use it.
+	(unexpected_newline): New function.
+	(<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>): Coalesce duplicate
+	actions.
+
+	* NEWS: Document %expect-rr.
+
+	* bootstrap (--gnulib-srcdir=*, --cvs-user=*):
+	Fix typo by replacing $1 with $option.
+	Remove more 'intl'-related files.
+	Don't DEFUN AM_INTL_SUBDIR twice.
+
+	* lib/.cvsignore: Add strndup.h.  Remove memchr.c, memcmp.c,
+	memrchr.c, strcasecmp.c, strchr.c, strrchr.c, strspn.c, strtol.c,
+	strtoul.c.
+	* m4/.cvsignore: Add exitfail.m4, extensions.m4, gnulib.m4,
+	hard-locale.m4, mbstate_t.m4, strerror_r.m4, strndup.m4,
+	xstrndup.m4.  Remove glibc21.m4, intdiv0.m4, inttypes-pri.m4,
+	inttypes.m4, inttypes_h.m4, isc-posix.m4, lcmessage.m4,
+	stdint_h.m4, uintmax_t.m4, ulonglong.m4.
+	* src/.cvsignore: Add *.output.
+
+	* src/parse-gram.y: Put copyright notice inside %{ %} so it
+	gets copied to the output file.
+
+2004-04-28  Paul Eggert  <eggert@twinsun.com>
+
+	Get files from the gnulib and po repositories, instead of relying
+	on them being in our CVS.  Upgrade to latest versions of gnulib
+	and Automake.
+
+	* Makefile.am (SUBDIRS): Remove m4; Automake now does m4.
+	* bootstrap: Bootstrap from gnulib and po repositories.
+	Much of this code was stolen from GNU diff and GNU tar's bootstrap.
+	* README-cvs: Document these changes.  Remove version numbers from
+	mentions of build tools, since they change so often.  Mention Flex.
+
+	* configure.ac (AC_CONFIG_MACRO_DIR): Add, with m4 as arg.
+	(gl_USE_SYSTEM_EXTENSIONS): Add.
+	(AC_GNU_SOURCE, AC_AIX, AC_MINIX):
+	Remove; no longer needed, as gl_USE_SYSTEM_EXTENSIONS
+	does this for us.
+	(AC_ISC_POSIX): Remove; we no longer support this
+	ancient OS, as it gets in the way of latest Autoconf & gnulib.
+	(AC_HEADER_STDC): Remove: we now assume C89 or better.
+	(AC_CHECK_HEADERS_ONCE): Use instead of AC_CHECK_HEADERS.
+	Do not check for C89 headers, except for locale.h which is used
+	by the Yacc library and must port to K&R hosts.
+	(AC_CHECK_FUNCS_ONCE): Use instead of AC_CHECK_FUNCS.
+	Do not check for C89 functions, except for setlocale which is
+	used by the Yacc library.
+	(AC_CHECK_DECLS, AC_REPLACE_FUNCS): Remove; no longer needed.
+	(gl_DIRNAME, gl_ERROR, gl_FUNC_ALLOCA, gl_FUNC_MEMCHR,
+	gl_FUNC_MEMRCHR, gl_FUNC_STPCPY, gl_FUNC_STRNLEN, gl_FUNC_STRTOL,
+	gl_GETOPT, gl_HASH, gl_MBSWIDTH, gl_OBSTACK, gl_QUOTE,
+	gl_QUOTEARG, gl_XALLOC, jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_MALLOC,
+	AM_GNU_GETTEXT): Remove; now done by:
+	(GNULIB_AUTOCONF_SNIPPET): Add.  "bootstrap" builds this for us.
+	(AC_CONFIG_FILES): Remove m4/Makefile, as Automake now does this
+	for us.
+
+	* lib/Makefile.am: Include gnulib.mk, built for us by "bootstrap".
+	(BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES):
+	Define to empty, as gnulib.mk will do the rest for us.
+	($(libbison_a_OBJECTS), stdbool.h): Remove, as gnulib.mk does this
+	for us.
+	(libbison_a_SOURCES): Define to $(lib_SOURCES) now.
+	(lib_SOURCES): New symbol, containing only the non-gnulib libs.
+
+	* src/files.c: Include gnulib's xstrndup.h.
+
+	* src/system.h (MALLOC): Use xnmalloc, for better overflow checking.
+	(REALLOC): Use xnrealloc, for likewise.
+	(xstrndup, stpcpy): Remove decls, as gnulib does this for us now.
+	(strnlen, memrchr): Remove decls; functions no longer used.
+	Include <stpcpy.h>.
+
+	* config/depcomp, config/install-sh, lib/alloca.c, lib/argmatch.c,
+	lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
+	lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
+	lib/getopt1.c, lib/gettext.h, lib/hash.c, lib/hash.h,
+	lib/malloc.c, lib/mbswidth.c, lib/mbswidth.h, lib/memchr.c,
+	lib/memcmp.c, lib/memrchr.c, lib/obstack.c, lib/obstack.h,
+	lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h,
+	lib/realloc.c, lib/stdbool_.h, lib/stpcpy.c, lib/strcasecmp.c,
+	lib/strchr.c, lib/strncasecmp.c, lib/strnlen.c, lib/strrchr.c,
+	lib/strspn.c, lib/strtol.c, lib/strtoul.c, lib/unlocked-io.h,
+	lib/xalloc.h, lib/xmalloc.c, lib/xstrdup.c, lib/xstrndup.c,
+	m4/Makefile.am, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
+	m4/error.m4, m4/getopt.m4, m4/hash.m4, m4/malloc.m4,
+	m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4, m4/memcmp.m4,
+	m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/prereq.m4,
+	m4/quote.m4, m4/quotearg.m4, m4/realloc.m4, m4/stdbool.m4,
+	m4/stpcpy.m4, m4/strnlen.m4, m4/strtol.m4, m4/strtoul.m4,
+	m4/unlocked-io.m4, m4/xalloc.m4, po/LINGUAS, po/Makefile.in.in,
+	po/Makevars, po/da.po, po/de.po, po/es.po, po/et.po, po/fr.po,
+	po/hr.po, po/id.po, po/it.po, po/ja.po, po/ms.po, po/nl.po,
+	po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po:
+	Remove, as these files are now generated automatically
+	by bootstrap or automake.
+
+	* po/ChangeLog: Remove: all but one entry was a duplicate
+	of this file, and I moved that 2000-11-02 entry here.
+
+	* config/.cvsignore: Add Makefile, depcomp, install-sh.
+	* lib/.cvsignore: Add alloca.c, alloca.h, alloca_.h, argmatch.c,
+	argmatch.h, basename.c, dirname.c, dirname.h, error.c, error.h,
+	exit.h, exitfail.c, exitfail.h, getopt.c, getopt.h, getopt1.c,
+	getopt_int.h, gettext.h, gnulib.mk, hard-locale.c, hard-locale.h,
+	hash.c, hash.h, malloc.c, mbswidth.c, mbswidth.h, memchr.c,
+	memcmp.c, memrchr.c, obstack.c, obstack.h, quote.c, quote.h,
+	quotearg.c, quotearg.h, realloc.c, stdbool_.h, stpcpy.c, stpcpy.h,
+	strcasecmp.c, strchr.c, stripslash.c, strncasecmp.c, strndup.c,
+	strnlen.c, strrchr.c, strspn.c, strtol.c, strtoul.c,
+	unlocked-io.h, xalloc.h, xmalloc.c, xstrdup.c, xstrndup.c,
+	xstrndup.h.
+	* m4/.cvsignore: Remove Makefile, Makefile.in.  Add alloca.m4,
+	dirname.m4, dos.m4, error.m4, getopt.m4, hash.m4, mbrtowc.m4,
+	mbswidth.m4, obstack.m4, onceonly.m4, quote.m4, quotearg.m4,
+	stdbool.m4, stpcpy.m4, strnlen.m4, unlocked-io.m4, xalloc.m4.
+	* po/.cvsignore: Add *.po, LINGUAS, Makefile.in.in, Makevars.
+	* src/.cvsignore: Remove *_.c.
+
+
+	* Makefile.maint (GZIP_ENV): Don't use --rsyncable if gzip doesn't
+	support it.  (The latest stable gzip doesn't.)
+
+2004-04-27  Paul Eggert  <eggert@twinsun.com>
+
+	* data/lalr1.cc (Parser::stos_) [! YYDEBUG]: Define even in this
+	case, as stos_ is now used by destructors due to the 2004-02-09
+	change.
+
+	Remove more K&R C support.
+	* lib/libiberty.y (PARAMS): Remove.  All uses removed.
+	* lib/subpipe.c (errno): Remove decl.
+	Include <stdlib.h> unconditionally.
+	(EXIT_FAILURE): Remove macro.
+	* src/complain.c (vfprintf, strerror): Remove.
+	* src/system.h: Include limits.h, stdlib.h, string.h, locale.h
+	unconditionally.
+	(EXIT_FAILURE, EXIT_SUCCESS, setlocale): Remove defns.
+	Use latest Autoconf recommendations for including inttypes.h, stdint.h.
+	(strchr, strspn, memchr): Remove decls.
+	* tests/calc.at (_AT_DATA_CALC_Y): Include stdlib.h, string.h
+	unconditionally.  Do not declare perror.
+	* tests/conflicts.at (%nonassoc and eof): Include stdlib.h
+	unconditionally.
+
+	* src/complain.c (_): Remove useless defn, as system.h defines this.
+
+	* lib/bitset.h (__INT_TO_PTR): Remove; workaround no longer needed
+	with latest obstack.h.
+	* lib/ebitset.c (ebitset_elt_alloc): Don't bother to cast args
+	to procedure types, as obstack.h now does that for us.
+	* lib/lbitset.c (lbitset_elt_alloc): Likewise.
+
+	* lib/subpipe.h [HAVE_SYS_TYPES_H]: Include <sys/types.h>,
+	so that this include file can stand alone.
+	* lib/subpipe.c: Do not include <sys/types.h>, as subpipe.h
+	does this now.  Include subpipe.h first after config.h, to
+	test whether it can stand alone.
+
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't
+	declare yyerror when using lalr.cc, as GCC 3.4.0 warns about the
+	unused declaration.
+
+	* tests/synclines.at (%union synch line): Put a dummy member in
+	the union, because empty unions aren't allowed in C.  Caught
+	by GCC 3.4.0.
+
+2004-04-13  Jim Meyering  <jim@meyering.net>
+
+	* src/conflicts.c (conflicts_print): Correct format string typo:
+	use `%%' to produce literal `%'.  (trivial change)
+
+2004-03-30  Paul Eggert  <eggert@twinsun.com>
+
+	* src/getargs.c (version): Update copyright year to 2004.
+
+	* data/c.m4 (b4_int_type): Use 'short int' rather than
+	'short', and similarly for 'long', 'unsigned', etc.
+	* data/glr.c (YYTRANSLATE, yyconfl, yySymbol, yyItemNum,
+	yygetLRActions, yyprocessOneStack, yyrecoverSyntaxError,
+	yy_yypstack, yydumpstack): Likewise.
+	* data/lalr1.cc (user_token_number_max_, user_token_number_max_,
+	translate_, seq_, [], pop, Slice, range_, operator+, operator+=):
+	Likewise.
+	* data/yacc.c (b4_int_type, yyss, YYSTACK_BYTES, yysigned_char,
+	yy_stack_print, yyparse): Likewise.
+	* doc/bison.texinfo (Prologue, Multiple Types): Likewise.
+	* lib/bbitset.h (bitset_word, BITSET_WORD_BITS): Likewise.
+	* lib/bitset.c (bitset_print): Likewise.
+	* lib/bitset_stats.c (bitste_log_histogram_print): Likewise.
+	* lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
+	* lib/bitsetv.c (bitsetv_dump): Likewise.
+	* lib/ebitset.c (EBITSET_ELT_BITS, ebitset_elt_alloc): Likewise.
+	* lib/lbitset.c (LBITSET_ELT_BITS, lbitset_elt_alloc, debug_lbitset):
+	Likewise.
+	* src/LR0.c (allocate_itemsets): Likewise.
+	* src/gram.h (rule_number, rule): Likewise.
+	* src/lalr.h (goto_number): Likewise.
+	* src/nullable.c (nullable_compute): Likewise.
+	* src/output.c (prepare_rules): Likewise.
+	* src/relation.c (relation_print, relation_digraph): Likewise.
+	* src/relation.h (relation_node): Likewise.
+	* src/state.h (state_number, transitions, errs, reductions,
+	struct state): Likewise.
+	* src/symtab.h (symbol_number, struct symbol): Likewise.
+	* src/tables.c (vector_number, tally, action_number,
+	default_goto, goto_actions): Likewise.
+	* tests/existing.at (GNU Cim Grammar): Likewise.
+	* tests/regression.at (Web2c Actions): Likewise.
+
+	* src/output.c (muscle_insert_short_int_table): Renamed from
+	muscle_insert_short_table.  All uses changed.
+
+2004-03-25  Paul Hilfinger  <hilfingr@tully.CS.Berkeley.EDU>
+
+	* src/parse-gram.y: Define PERCENT_EXPECT_RR.
+	(declaration): Replace expected_conflicts with expected_sr_conflicts.
+	Add %expect-rr rule.
+
+	* src/scan-gram.l: Recognize %expect-rr.
+
+	* src/conflicts.h (expected_sr_conflicts): Rename from
+	expected_conflicts.
+	(expected_rr_conflicts): Declare.
+
+	* src/conflicts.c (expected_sr_conflicts): Rename from
+	expected_conflicts.
+	(expected_rr_conflicts): Define.
+	(conflicts_print): Check r/r conflicts against expected_rr_conflicts
+	for GLR parsers.
+	Use expected_sr_conflicts in place of expected_conflicts.
+	Warn if expected_rr_conflicts used in non-GLR parser.
+
+	* doc/bison.texinfo: Add documentation for %expect-rr.
+
+2004-03-08  Paul Eggert  <eggert@gnu.org>
+
+	Add support for hex token numbers.  Suggested by Odd Arild Olsen in
+	<http://mail.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>.
+
+	* NEWS: Document hexadecimal tokens, no NUL bytes, %destructor
+	in lalr1.cc.
+	* doc/bison.texinfo (Token Decl): Add hexadecimal token numbers.
+	* src/scan-gram.l (scan_integer): New function.
+	({int}): Use it.
+	(0[xX][0-9abcdefABCDEF]+): New pattern, to support hex numbers.
+	(<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>, \\x[0-9abcdefABCDEF]+,
+	handle_action_dollar, handle_action_at, convert_ucn_to_byte):
+	Say "long int", not "long", for uniformity with GNU style.
+
+2004-02-25  Paul Eggert  <eggert@twinsun.com>
+
+	* tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Ignore stdout from
+	compilers.  This fixes a problem with Intel's C++ compiler being
+	chatty, reported by Guido Trentalancia in
+	<http://mail.gnu.org/archive/html/bug-bison/2004-02/msg00030.html>.
+
+2004-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Support %destructor and merge error locations in lalr1.cc.
+
+	* data/lalr1.cc (b4_cxx_destruct_def): New macro.
+	(Parser::stos_): Define unconditionally.
+	(Parser::destruct_): New method.  Generate its body with
+	b4_yydestruct_generate.
+	(Parser::error_start_): New attribute.
+	(Parser::parse) <yyerrlab, yyerrlab1>: Call destruct_ on erroneous
+	token which are discarded.
+	(Parser::parse) <yyerrlab, yyerrorlab, yyerrlab1>: Update
+	error_start_ when erroneous token are discarded.
+	(Parser::parse) <yyerrlab1>: Compute the location of the error
+	token so that it covers all the discarded tokens.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust so
+	it can be called with `%skeleton "lalr1.cc"', and do that.
+
+2004-02-02  Paul Eggert  <eggert@twinsun.com>
+
+	* src/Makefile.am (AM_CPPFLAGS): New macro.  It mentions
+	$(top_srcdir)/lib and ../lib.  This fixes a bug reported
+	by Paul Hilfinger; the old INCLUDES value didn't mention ../lib.
+	There's no need to mention top_builddir since Automake does that
+	for us.
+	(INCLUDES): Remove, as Automake says it's obsolescent.
+	Contents migrated into AM_CPPFLAGS as described above.
+	* lib/Makefile.am (INCLUDES): Remove; obsolescent.
+
+2004-01-14  Paul Hilfinger  <hilfingr@CS.Berkeley.EDU>
+
+	* data/glr.c (yytokenName): Bullet-proof against YYEMPTY token.
+	(yyreportSyntaxError): Handle case where lookahead token is
+	YYEMPTY.
+
+2004-01-13  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+	* data/glr.c: Put casts on uses of YYREALLOC and YYMALLOC so that
+	resulting parsers are compilable with C++.
+
+2003-12-23  Paul Eggert  <eggert@twinsun.com>
+
+	* config/depcomp, config/install-sh: Sync with Automake 1.8.
+	* src/output.c (output_skeleton): Rename local var.
+	* tests/input.at (Torturing the Scanner): Don't use \x0 or \0 in
+	Bison tokens, as this runs afoul of the 2003-10-07 change that
+	disallowed NUL bytes in character constants or string literals.
+
+	* tests/local.at: Require Autoconf 2.59's Autotest.
+	* tests/testsuite.at: Don't include local.at, since we now assume
+	Autoconf 2.59 or later.  Autoconf 2.59 had some problems with
+	including it.
+	* tests/Makefile.am ($(TESTSUITE)): Remove warning about ignoring
+	multiple inclusion warnings.
+
+2003-12-02  Akim Demaille  <akim@epita.fr>
+
+	* doc/bison.texinfo (How Can I Reset the Parser): More about start
+	conditions.
+	From Bruno Haible.
+
+2003-11-18  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/bison.texinfo (Bison Options): Escape `@' in `$@'.
+
+2003-10-07  Paul Eggert  <eggert@twinsun.com>
+
+	* tests/Makefile.am (clean-local): Don't run 'testsuite --clean'
+	if testsuite doesn't exist.
+
+	* doc/bison.texinfo (Symbols): NUL bytes are not allowed in string
+	literals, unfortunately.
+	* src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>):
+	Complain about NUL bytes in character constants or string literals.
+
+2003-10-05  Paul Eggert  <eggert@twinsun.com>
+
+	* NEWS: Don't document %no-default-prec, as it's still
+	too experimental.
+	* doc/bison.texinfo: Document %no-default-prec only if
+	the defaultprec flag is set.  Normally it's not.
+
+2003-10-04  Paul Eggert  <eggert@twinsun.com>
+
+	* data/glr.c (b4_rhs_value, b4_rhs_location): Yield a
+	non-modifiable lvalue, instead of a modifiable one.
+	* doc/bison.texinfo (Actions): Document that $$ can
+	be assigned to.  Do not claim that $$ and $N are
+	array element references: user code should not rely on this.
+
+2003-10-01  Paul Eggert  <eggert@twinsun.com>
+
+	* src/parse-gram.h (PERCENT_NO_DEFAULT_PREC): New token.
+	(grammar_declaration): Use it.
+	* src/scan-gram.l: New token %no-default-prec.
+	* tests/conflicts.at: Revamp tests to use %no-default-prec.
+	* NEWS, doc/bison.texinfo: Document the above.
+
+2003-10-01  Akim Demaille  <akim@epita.fr>
+
+	VCG no longer supports long_straight_phase.
+
+	* src/vcg.c, src/vcg.h: Remove the handling of long_straight_phase.
+	* src/print_graph.c (print_graph): Adjust.
+
+2003-09-30  Frank Heckenbach  <frank@g-n-u.de>
+	and Paul Eggert  <eggert@twinsun.com>
+
+	* doc/bison.texinfo (Decl Summary, Contextual Precedence,
+	Table of Symbols): Document %default-prec.
+	* src/parse-gram.y (PERCENT_DEFAULT_PREC): New token.
+	(grammar_declaration): Set default_prec on %default-prec.
+	* src/scan-gram.l (%default-prec): New token.
+	* src/reader.h (default_prec): New flag.
+	* src/reader.c: Likewise.
+	(packgram): Handle it.
+	* tests/conflicts.at (%default-prec without %prec,
+	%default-prec with %prec, %default-prec 1): New tests.
+
+2003-09-30  Paul Eggert  <eggert@twinsun.com>
+
+	* tests/testsuite.at: Include local.at, not input.at, fixing
+	a typo in the 2003-08-25 patch.
+
+2003-08-27  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (yyparse) [__GNUC__]: "Use" yyerrorlab to pacify
+	GCC warnings.
+
+2003-08-26  Akim Demaille  <akim@epita.fr>
+
+	* config/announce-gen (print_changelog_deltas): Neutralize "<#" as
+	"<\#" to avoid magic from Gnus when posting parts of this script.
+
+2003-08-26  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (Parser::report_syntax_error_): New, extracted from
+	(Parser::parse): here.
+	Adjust: nerrs and errstatus is now replaced by...
+	(Parser::nerrs_, Parser::errstatus_): New.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	* config/announce-gen, Makefile.cfg: New.
+	* Makefile.am: Adjust.
+	* GNUmakefile, Makefile.maint: Update from CVS Autoconf, but
+	keeping local WGET and WGETFLAGS modifications from Paul Eggert.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	When reducing initial empty rules, Bison parser read an initial
+	location that is not defined.  This results in garbage, and that
+	affects Bison's own parser.  Therefore we need (i) to extend Bison
+	to support a means to initialize this location, and (ii) to use
+	this CVS Bison to fix CVS Bison's parser.
+
+	* src/reader.h, reader.c (epilogue_augment): Remove, replace
+	with...
+	* src/muscle_tab.h, src/muscle_tab.c (muscle_code_grow): this.
+	* src/parse-gram.y: Adjust.
+	(%initial-action): New.
+	(%error-verbose): Since we require CVS Bison, there is no reason
+	not to use it.
+	* src/scan-gram.l: Adjust.
+	* src/Makefile.am (YACC): New, to make sure we use our own parser.
+	* data/yacc.c (yyparse): Use b4_initial_action.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	* doc/bison.texinfo: Don't promote stdout for error messages.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (Parser::reduce_print_): Remove unused yyi.
+	From Alexandre Duret-Lutz.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	Version 1.875c.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (Parser::stack_print_, YY_STACK_PRINT): New.
+	Use them.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (Parser::reduce_print_): New.
+	Use it.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	Have lalr1.cc catch with Paul Eggert's patch to fix the infinite
+	error recovery loops.  This patch is based on
+	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00000.html>.
+	Also, augment the similarity between lalr1.cc and yacc.c.
+	Note: the locations of error recovery rules are not correct yet.
+
+	* data/lalr1.cc: Comment changes to augment the similarity between
+	lalr1.cc and yacc.c.
+	(YYERROR): Goto to yyerrorlab, not yyerrlab1.
+	(yyerrlab1): Remove, but where it used to be (now the bottom part of
+	yyerrlab), when hitting EOF, pop the whole stack here instead of
+	merely falling thru the default error handling mechanism.
+	(yyerrorlab): New label, with the old contents of YYERROR,
+	plus the following change: pop the stack of rhs corresponding
+	to the production that invoked YYERROR.  That is how Yacc
+	behaves (required by POSIX).
+	* tests/calc.at (AT_CHECK_CALC_LALR1_CC): No longer expected to
+	fail.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+	Tune local.at so that people can "autom4te -l autotest calc.at -o
+	calc" for instance, to extract a sub test suite.
+
+	* tests/testsuite.at: Move the initialization, Autotest version
+	requirement, and AT_TESTED invocation into...
+	* tests/local.at: here.
+	* tests/testsuite.at: Include it for compatibility with Autoconf
+	2.57.
+	* tests/Makefile.am ($(TESTSUITE)): Report that the warning should
+	be ignore.
+
+2003-08-04  Paul Eggert  <eggert@twinsun.com>
+
+	Rework code slightly to avoid gcc -Wtraditional warnings.
+	* data/glr.c (yyuserMerge): Return void, not YYSTYPE.
+	The returned value is now stored in *YY0.  All callers changed.
+	* src/output.c (merge_output): Adjust to the above change.
+
+2003-07-26  Paul Eggert  <eggert@twinsun.com>
+
+	* data/glr.c (YYASSERT): New macro.
+	(yyfillin, yydoAction, yyglrReduce, yysplitStack,
+	yyresolveStates, yyprocessOneStack):
+	Use `YYASSERT (FOO);' rather than `if (! (FOO)) abort ();'.
+	Derived from a suggestion by Frank Heckenbach.
+
+2003-07-25  Paul Eggert  <eggert@twinsun.com>
+
+	* data/glr.c (yyglrReduce): Don't use C89 string concatenation,
+	for portability to K&R C (after ansi2knr, presumably).  See
+	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>
+	by Frank Heckenbach, though I have omitted the structure-initialization
+	part of his glr-knr.diff patch since I recall that the Portable
+	C Compiler didn't require that change.
+
+	Let the user specify how to allocate and free memory.
+	Derived from a suggestion by Frank Heckenbach in
+	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>.
+	* data/glr.c (YYFREE, YYMALLOC, YYREALLOC): New macros.
+	All uses of free, malloc, realloc changed to use these macros,
+	and unnecessary casts removed.
+	* data/yacc.c (YYFREE, YYMALLOC): Likewise.
+
+2003-07-06  Matthias Mann  <MatthiasMann@gmx.de>
+
+	* data/lalr1.cc (operator<<(std::ostream&, const Position&)):
+	use s.empty() rather than s == "" to test for empty string; see
+	<http://mail.gnu.org/archive/html/bison-patches/2003-07/msg00003.html>
+	(trivial change)
+
+2003-06-25  Akim Demaille  <akim@epita.fr>
+
+	* config/depcomp, config/install-sh: Update from masters.
+
+2003-06-20  Paul Eggert  <eggert@twinsun.com>
+
+	* data/glr.c (YYLLOC_DEFAULT): Parenthesize arguments as needed,
+	and return properly parenthesized result.
+	* data/lalar1.cc (YYLLOC_DEFAULT): Likewise.
+	* data/yacc.c (YYLLOC_DEFAULT): Likewise.
+	Remove unnecessary parentheses from uses.
+	* doc/bison.texinfo (Location Default Action): Describe the
+	conventions for parentheses.
+
+2003-06-19  Paul Eggert  <eggert@twinsun.com>
+
+	* data/glr.c (yyremoveDeletes, yy_reduce_print, yyglrReduce,
+	yyreportTree): Do not assume that size_t is the same width as int,
+	when printing sizes.  Print sizes using an unsigned format.
+	Problem reported by Frank Heckenbach in
+	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00035.html>.
+
+	Port to Forte Developer 7 C compiler.
+	* data/glr.c (struct YYLTYPE): If locations are not being used,
+	declare a single dummy member, as empty structs do not conform
+	to the C standard.
+	(YYERROR, YYBACKUP): Do not use "do { ...; return foo; } while (0)";
+	the Forte Developer 7 C compiler complains that end-of-loop
+	code is not reached.
+
+2003-06-17  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/libiberty.h (PARAMS): Spell argument as Args, not as X, to
+	avoid warnings from picky compilers about redefinition of PARAMS.
+
+2003-06-17  Paul Eggert  <eggert@twinsun.com>
+
+	Version 1.875b.
+
+	* NEWS: Document 1.875b.
+
+	* lib/bbitset.h: Do not include config.h; that's the includer's job.
+	Do not include <sys/types.h>; shouldn't be needed on a C89 host.
+	* lib/bitset.h (bitset_compatible_p): Indent as per GNU standard.
+	Don't use 'index' in comments, as it's a builtin fn on some hosts.
+	* lib/bitset_stats.c: Include gettext.h unconditionally, as
+	per recent gettext manual's suggestion.
+	* lib/ebitset.c (ebitset_resize, ebitset_unused_clear):
+	Use prototypes, not old-style definitions.
+	* lib/lbitset.c (lbitset_unused_clear): Likewise.
+	* lib/vbitset.c (vbitset_resize, vbitset_ones, vbitset_zero,
+	vbitset_empty_p, vbitset_copy1, vbitset_not, vbitset_equal_p,
+	vbitset_subset_p, vbitset_disjoint_p, vbitset_and, vbitset_and_cmp,
+	vbitset_andn, vbitset_andn_cmp, vbitset_or, vbitset_or_cmp,
+	vbitset_xor, vbitset_xor_cmp, vbitset_and_or, vbitset_and_or_cmp,
+	vbitset_andn_or, vbitset_andn_or_cmp, vbitset_or_and,
+	vbitset_or_and_cmp, vbitset_copy): Likewise.
+
+	* lib/libiberty.h: Do not include config.h; that's the includer's job.
+	Do not include <stdlib.h>.
+	(PARAMS): Define unconditionally for C89.
+	(ATTRIBUTE_NORETURN): Remove.
+	(ATTRIBUTE_UNUSED): Define unconditionally.
+
+	Upgrade to 2003-06-08 libbitset, submitted by Michael Hayes in:
+	<http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00005.html>
+	* lib/Makefile.am (bitsets_sources): Add vbitset.c, vbitset.h.
+	* lib/vbitset.c, lib/vbitset.h: New files.
+	* lib/abitset.c, lib/bbitset.h, lib/bitset.c, lib/bitset.h,
+	lib/bitset_stats.c, lib/ebitset.c, lib/lbitset.c: Import
+	from libbitset.
+
+	* doc/bison.texinfo (How Can I Reset the Parser): Renamed from
+	`How Can I Reset @code{yyparse}', since texinfo does not allow
+	arbitrary @ in node names.
+
+	* m4/Makefile.am (EXTRA_DIST): Add the following files, which
+	shouldn't be needed according to the gettext 0.12.1 documentation
+	but which seem to be needed anyway: codeset.m4 glibc21.m4
+	intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4
+	lcmessage.m4 nls.m4 po.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4.
+	* po/Makefile.in.in: Upgrade to gettext 0.12.1 version.
+
+	* lib/.cvsignore: Add stdbool.h.
+	* m4/.cvsignore: Add nls.m4, po.m4.
+
+	Upgrade to CVS gnulib.
+	* stdbool_.h: File renamed from stdbool.h.in.
+	* configure.ac (AM_STDBOOL_H): Invoke this instead of
+	AC_HEADER_STDBOOL.
+	(AM_GNU_GETTEXT): Put brackets around args, as latest manual suggests.
+	(AM_GNU_GETTEXT_VERSION): Update to 0.12.1.
+	* lib/Makefile.am (EXTRA_DIST): Add stdbool_.h.
+	(MOSTLYCLEANFILES): New var.
+	($(libbison_a_OBJECTS)): Depend on $(STDBOOL_H).
+	(stdbool.h): New rule.
+	* lib/dirname.c, lib/dirname.h, lib/hash.c, lib/hash.h,
+	lib/malloc.c, lib/obstack.h, lib/quote.c, lib/realloc.c,
+	lib/strcasecmp.c, lib/xalloc.h, m4/alloca.m4, m4/onceonly.m4,
+	m4/quote.m4: Upgrade to today's gnulib.
+
+	* tests/calc.at (AT_CHECK_CALC): New option EXPECTED-TO-FAIL.
+	(AT_CHECK_CALC_LALR1_CC): Use it, since the C++ LALR parser fails
+	the tests right now.
+	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Ensure yylex and
+	yyerror are declared before use; C99 requires this.
+
+2003-06-09  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+	* data/glr.c (YYERROR): Update definition to reset yyerrState to 0
+	first.
+	(yyrecoverSyntaxError): Correct the logic for setting and testing
+	yyerrState.
+	Correct comment on handling EOF.
+	Allow states with only a default reduction, rather than failing
+	(I can't quite reconstruct why these were not allowed before).
+
+	Fixes to avoid problem that $-N rules in GLR parsers can cause
+	buffer overruns, corrupting state.
+
+	* src/output.c (prepare_rules): Output max_left_semantic_context
+	definition.
+	* src/reader.h (max_left_semantic_context): New variable declaration.
+	* src/scan-gram.l (max_left_semantic_context): Define.
+	(handle_action_dollar): Update max_left_semantic_context.
+	* data/glr.c (YYMAXLEFT): New definition.
+	(yydoAction): Increase size of yyrhsVals by YYMAXLEFT.
+	(yyresolveAction): Ditto.
+
+	Fixes to problems with location handling in GLR parsers reported by
+	Frank Heckenbach (2003/06/05).
+
+	* data/glr.c (YYLTYPE): Make trivial if locations not used.
+	(YYRHSLOC): Add parentheses, and define only if locations used.
+	(YYLLOC_DEFAULT): Add parentheses, and give trivial definition if
+	locations not used.
+	(yyuserAction): Use YYLLOC_DEFAULT to set *yylocp.
+	(yydoAction): Remove redundant initialization of *yyvalp and *yylocp.
+
+	* tests/cxx-type.at: Exercise location information; update tests
+	to differentiate output with and without locations.
+	Remove forward declarations of yylex and yyerror---caused errors
+	because default YYLTYPE not yet defined.
+	Change semantic actions to compute strings, rather than printing
+	them directly (to test proper passing of semantics values).  Change
+	output to prefix notation and update test data and expected results.
+	(yylex): Track locations.
+	(stmtMerge): Return value rather than printing, and include arguments
+	in value.
+
+2003-06-03  Paul Eggert  <eggert@twinsun.com>
+
+	Avoid warnings generated by GCC 2.95.4 when Bison is
+	configured with --enable-gcc-warnings.
+	* data/lalr1.cc (yy::]b4_parser_class_name[::parse,
+	yy::]b4_parser_class_name[::translate_,
+	yy::Stack::operator[] (unsigned),
+	yy::Stack::operator[] (unsigned) const,
+	yy::Slice::operator[] (unsigned),
+	yy::Slice::operator[] (unsigned) const):
+	Rename local vars to avoid warnings.
+	* tests/glr-regression.at (Improper handling of embedded actions
+	and $-N in GLR parsers): Remove unused local variable from yylex.
+	* tests/regression.at (_AT_DATA_DANCER_Y): Declare yylex to take
+	(void) as arg when not pure, since we now assume C89 when building
+	Bison.  Pacify GCC by using parameter.
+
+2003-06-02  Paul Eggert  <eggert@twinsun.com>
+
+	* data/lalr1.cc (yy::Position::lines, yy::Position::columns,
+	yy::Location::lines, yy::Location::columns): Rename arguments
+	to avoid shadowing; this removes a warning generated by GCC 3.3.
+
+2003-06-01  Paul Eggert  <eggert@twinsun.com>
+
+	Don't pass C-only warning optins (e.g., -Wmissing-declarations)
+	to g++, as GCC 3.3 complains if you do it.
+	* configure.ac (WARNING_CXXFLAGS): New subst.  Set it to
+	everything that WARNING_CFLAGS has, except omit warnings
+	not suitable for C++.
+	(AC_PROG_CXX): Use this instead of AC_CHECK_PROGS([CXX], [g++]).
+	* tests/atlocal.in (CXXFLAGS): New var.
+	* tests/local.at (AT_COMPILE_CXX): Use it instead of CFLAGS.
+
+	Fix a GLR parser bug I reported in February; see
+	<http://mail.gnu.org/archive/html/bison-patches/2003-02/msg00008.html>.
+	The problem was that GLR parsers did not conform to the C standard,
+	because actions like { $1 = $2 + $3; } expanded to expressions
+	that invoked YYFILL in separate subexpressions, and YYFILL assigned
+	to a local variable.  The C standard says that expressions
+	like (var = f ()) + (var = f ()) have undefined behavior.
+	Another problem was that GCC sometimes issues warnings that
+	yyfill and its parameters are unused.
+
+	* data/glr.c (yyfillin): Renamed from the old yyfill.  Mark
+	as possibly unused.
+	(yyfill): New function.
+	(YYFILL): Use it.
+	(yyuserAction): Change type of yynormal to bool, so that it matches
+	the new yyfill signature.  Mark it as possibly unused.
+
+
+	Follow up on a bug I reported in February, where a Bison-generated
+	parser can loop.  Provide a test case and a fix for yacc.c.  I
+	don't have a fix for lalr1.cc or for glr.c, unfortunately.
+	The original bug report is in:
+	<http://mail.gnu.org/archive/html/bison-patches/2003-02/msg00044.html>
+
+	* data/yacc.c (YYERROR): Now just 'goto yyerrorlab', since the
+	macro's size was becoming unwieldy.
+	(yyerrlab): Do not discard an empty lookahead symbol, as this
+	might destroy garbage.
+	(yyerrorlab): New label, with the old contents of YYERROR,
+	plus the following change: pop the stack of rhs corresponding
+	to the production that invoked YYERROR.  That is how Yacc
+	behaves, and POSIX requires this behavior.
+	(yyerrlab1): Use YYPOPSTACK instead of its definiens.
+	* tests/calc.at (_AT_DATA_CALC_Y): Include unistd.h if available.
+	Define 'alarm' to do nothing if unistd.h is not available.
+	Add a new rule "exp: '-' error;" to test the above change to
+	data/yacc.c.  Use 'alarm' to abort any test taking longer than
+	10 seconds, as it's probably looping.
+	(AT_CHECK_CALC): Test recovery from error in new grammar rule.
+	Also, the new yacc.c generates two fewer diagnostics for an
+	existing test.
+
+2003-05-24  Paul Eggert  <eggert@twinsun.com>
+
+	* data/glr.c (YYSTACKEXPANDABLE): Do not evaluate
+	YYSTYPE_IS_TRIVIAL or YYSTYPE_IS_TRIVIAL unless they are defined.
+	This fixes a problem reported by John Bowman when the Compaq/HP
+	Alpha cxx compiler happy (e.g. using cxx -D__USE_STD_IOSTREAM
+	-ansi -Wall -gall).
+	* data/yacc.c (union yyalloc): Likewise.
+	(YYCOPY): Do not evaluate __GNUC__ unless it is defined.
+
+	Switch from 'int' to 'bool' where that makes sense.
+
+	* lib/abitset.c (abitset_test, abitset_empty_p, abitset_equal_p,
+	abitset_subset_p, abitset_disjoint_p, abitset_and_cmp,
+	abitset_andn_cmp, abitset_or_cmp, abitset_xor_cmp, abitset_and_or,
+	abitset_and_or_cmp, abitset_andn_or_cmp, abitset_or_and_cmp):
+	Return or accept bool, not int.  All callers changed.
+	* lib/bbitset.h: (bitset_toggle_, bitset_copy_, bitset_and_or_cmp_,
+	bitset_andn_or_cmp_, bitset_or_and_cmp_): Likewise.
+	* lib/bitset.c (bitset_only_set_p, bitset_print, bitset_toggle_,
+	bitset_copy_, bitset_op4_cmp, bitset_and_or_cmp_, bitset_andn_or_cmp_,
+	bitset_or_and_cmp_): Likewise.
+	* lib/bitset.h (bitset_test, bitset_only_set_p): Likewise.
+	* lib/bitset_stats.c (bitset_stats_print, bitset_stats_toggle,
+	bitset_stats_test, bitset_stats_empty_p, bitset_stats_disjoint_p,
+	bitset_stats_equal_p, bitset_stats_subset_p, bitset_stats_and_cmp,
+	bitset_stats_andn_cmp, bitset_stats_or_cmp, bitset_stats_xor_cmp,
+	bitset_stats_and_or_cmp, bitset_stats_andn_or_cmp,
+	bitset_stats_or_and_cmp): Likewise.
+	* lib/ebitset.c (ebitset_elt_zero_p, ebitset_equal_p, ebitset_copy_cmp,
+	ebitset_test, ebitset_empty_p, ebitset_subset_p, ebitset_disjoint_p,
+	ebitset_op3_cmp, ebitset_and_cmp, ebitset_andn_cmp, ebitset_or_cmp,
+	ebitset_xor_cmp): Likewise.
+	* lib/lbitset.c (lbitset_elt_zero_p, lbitset_equal_p, lbitset_copy_cmp,
+	lbitset_test, lbitset_empty_p, lbitset_subset_p, lbitset_disjoint_p,
+	lbitset_op3_cmp, lbitset_and_cmp, lbitset_andn_cmp, lbitset_or_cmp,
+	lbitset_xor_cmp): Likewise.
+	* lib/bbitset.h: Include <stdbool.h>.
+	(struct bitset_vtable): The following members now return bool, not
+	int: toggle, test, empty_p, disjoint_p, equal_p, subset_p,
+	and_cmp, andn_cmp, or_cmp, xor_cmp, and_or_cmp, andn_or_cmp,
+	or_and_cmp).
+	* src/conflicts.c (count_rr_conflicts): Likewise.
+	* lib/bitset_stats.h (bitset_stats_enabled): Now bool, not int.
+	All uses changed.
+	* lib/ebitset.c (ebitset_obstack_init): Likewise.
+	* lib/lbitset.c (lbitset_obstack_init): Likewise.
+	* src/getargs.c (debug_flag, defines_flag, locations_flag,
+	no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
+	graph_flag): Likewise.
+	* src/getargs.h (debug_flag, defines_flag, locations_flag,
+	no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
+	graph_flag): Likewise.
+	* src/output.c (error_verbose): Likewise.
+	* src/output.h (error_verbose): Likewise.
+	* src/reader.c (start_flag, typed): Likewise.
+	* src/reader.h (typed): Likewise.
+	* src/getargs.c (LOCATIONS_OPTION): New constant.
+	(long_options, getargs): Use it.
+	* src/lalr.c (build_relations): Use bool, not int.
+	* src/nullable.c (nullable_compute): Likewise.
+	* src/print.c (print_reductions): Likewise.
+	* src/tables.c (action_row, pack_vector): Likewise.
+	* src/muscle_tab.h (MUSCLE_INSERT_BOOL): New macro.
+	* src/output.c (prepare): Use it.
+	* src/output.c (token_definitions_output,
+	symbol_destructors_output, symbol_destructors_output): Use string,
+	not boolean integer, to keep track of whether to output separator.
+	* src/print_graph.c (print_core): Likewise.
+	* src/state.c (state_rule_lookaheads_print): Likewise.
+
+	* config/install-sh: Sync from automake 1.7.5.
+
+2003-05-14  Paul Eggert  <eggert@twinsun.com>
+
+	* src/parse-gram.y (rules_or_grammar_declaration): Require a
+	semicolon after a grammar declaration, in the interest of possible
+	future changes to the Bison input language.
+	Do not allow a stray semicolon at the start of the grammar.
+	(rhses.1): Allow one or more semicolons after any rule, including
+	just before "|" as required by POSIX.
+	* tests/input.at (Torturing the Scanner): Add tests for ";|" in a
+	grammar.
+
+2003-05-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	%parse-param support for lalr1.cc.
+
+	* data/lalr1.cc (b4_parse_param_decl, b4_parse_param_cons,
+	b4_cc_constructor_calls, b4_cc_constructor_call,
+	b4_parse_param_vars, b4_cc_var_decls, b4_cc_var_decl): New m4
+	definitions.
+	(yy::b4_parser_class_name::b4_parser_class_name): Take extra
+	parse-param arguments.
+	(yy::b4_parser_class_name): Declare instance variables to
+	hold parse-param arguments.
+	* tests/calc.at: s/value/semantic_value/ because value clashes
+	with a member of yy::b4_parser_class_name.  Adjust C++ code
+	to handle %parse-param.  Enable %parse-param test in C++.
+
+2003-05-12  Paul Eggert  <eggert@twinsun.com>
+
+	* doc/bison.texinfo (How Can I Reset @code{yyparse}): Reword the
+	English a bit.  Fix fclose typo.  Change "const char" to "char
+	const", and use ANSI C rather than K&R for "main".  Suggest
+	YY_FLUSH_BUFFER over yyrestart (as that is what Flex recommends)
+	and suggest yy_switch_to_buffer.
+
+2003-05-05  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/bitset.h (__INT_TO_PTR): Define to a value that presumes
+	C89.  This avoids a diagnostic on compilers that define __STDC__
+	to 0, fixing a problem with Tru64 cc reported by Martin Mokrejs in
+	<http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
+
+2003-05-03  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/bitset.h (BITSET_FOR_EACH, BITSET_FOR_EACH_REVERSE):
+	Do not overrun array bounds.
+	This should fix a bug reported today by Olatunji Oluwabukunmi in
+	<http://mail.gnu.org/archive/html/bug-bison/2003-05/msg00004.html>.
+
 2003-04-29  Akim Demaille  <akim@epita.fr>
 
 	* src/gram.h, src/gram.c (pure_parser, glr_parser): Move to...
@@ -4458,7 +5541,7 @@
 
 2002-06-11  Akim Demaille  <akim@epita.fr>
 
-	* src/reader.c 	(parse_action): Don't store directly into the
+	* src/reader.c (parse_action): Don't store directly into the
 	rule's action member: return the action as a string.
 	Don't require `rule_length' as an argument: compute it.
 	(grammar_current_rule_symbol_append)
@@ -9478,6 +10561,7 @@
 	obstacks.
 	(output_token_defines, reader_output_yylsp): Use obstacks.
 	* src/system.h (obstack_fgrow3): New.
+	* po/POTFILES.in: Adjust.
 
 2000-11-01  Akim Demaille  <akim@epita.fr>
 
@@ -11217,7 +12301,7 @@
 -----
 
 Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
 This file is part of Bison, the GNU Compiler Compiler.