X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/30757c8c9355d76b2875757261c1d78e630690f4..127287e9c478d3b29f6671cab599131443443f95:/ChangeLog?ds=inline

diff --git a/ChangeLog b/ChangeLog
index a9207dcd..4c71b0a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,365 @@
+2005-09-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (YYCHK1): Do not assume YYE is in range.
+	This avoids a diagnostic from gcc -Wswitch-enum.
+	Problem reported by twlevo@xs4all.nl.
+
+	* doc/bison.texinfo: Don't use "filename", as per GNU coding
+	standards.  Use "file name" or "file" or "name", depending on
+	the context.
+	(Invocation): The output of "bison hack/foo.y" goes to foo.tab.c,
+	not to hack/foo.tab.c.
+	(Calc++ Top Level): 2nd arg of main is not const.
+	* data/glr.c: b4_filename -> b4_file_name.
+	* data/lalr1.cc: Likewise.  Also, b4_filename_type -> b4_file_name_type.
+	All uses changed.
+	(class position): filename -> file_name.  All uses changed.
+	* data/yacc.c: b4_filename -> b4_file_name.
+	* lib/bitset.h: filename -> file_name in local vars.
+	* lib/bitset_stats.c: Likewise.
+	* src/files.c: Likewise.
+	* src/scan-skel.l ("@output ".*\n): Likewise.
+	* src/files.c (file_name_split): Renamed from filename_split.
+	* src/muscle_tab.c (muscle_init): Output b4_file_name, not b4_filename.
+
+2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* lib/.cvsignore: Add pipe-safer.c, stdio--.h, unistd--.h,
+	to accommodate latest gnulib.
+
+	* tests/glr-regression.at (Duplicate representation of merged trees):
+	Add casts to pacify g++.  Problem reported by twlevo@xs4all.nl.
+
+	* bootstrap: Add comment as to why the AM_LANGINFO_CODESET hack is
+	needed.
+
+2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (yydestroyGLRState): Renamed from yydestroyStackItem.
+	All uses changed.  Invoke user destructor after an error during a
+	split parse (trivial change from Joel E. Denny).
+
+	* tests/glr-regression.at
+	(User destructor after an error during a split parse):  New test case.
+	Problem reported by Joel E. Denny in:
+	http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00029.html
+
+2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* README-cvs: Give URLs for recommended tools.
+	Mention Gzip version problem, and bootstrapping issues.
+	Remove troubleshooting section, as it's somewhat obsolete.
+
+	* bootstrap (no_cache): New var, to accommodate different wget
+	variants.  Use it instead of '-C off'.  Problem reported by
+	twlevo@xs4all.nl.
+
+	* data/glr.c (yydestroyStackItem): New function.
+	(yyrecoverSyntaxError, yyreturn): Use it to improve quality of
+	debugging information.  Problem reported by Joel E. Denny.
+
+2005-08-25  Akim Demaille  <akim@epita.fr>
+
+	* tests/local.at (AT_COMPILE_CXX): Pass $LINKS too.
+
+2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (yyrecoverSyntaxError, yyreturn):
+	Don't invoke destructor on unresolved entries.
+	* tests/glr-regression.at
+	(User destructor for unresolved GLR semantic value): New test case.
+	Problem reported by Joel E. Denny in:
+	http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00016.html
+
+2005-08-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* lib/.cvsignore: Remove realloc.c, strncasecmp.c, xstrdup.c.
+	Add strnlen.c.
+	* m4/.cvsignore: Remove codeset.m4, gettext.m4, lib-ld.m4,
+	lib-prefix.m4, po.m4.
+
+	* data/glr.c (yyreturn): Use "Cleanup:" rather than "Error:"
+	in yydestruct diagnostic, since it might not be an error.
+	Problem reported by Joel Denny near end of
+	<http://lists.gnu.org/archive/html/help-bison/2005-07/msg00040.html>.
+	* data/lalr1.cc (yyerturn): Likewise.
+	* data/yacc.c (yyreturn): Likewise.
+	* tests/calc.at (_AT_CHECK_CALC_ERROR): Adjust to the above change.
+
+	* src/files.c: Remove obsolete FIXME comment.
+
+	* data/glr.c (YY_SYMBOL_PRINT): Append a newline, for consistency
+	with the other templates, and to fix bogus run-on messages such
+	as the one reported at the end of
+	<http://lists.gnu.org/archive/html/help-bison/2005-07/msg00040.html>.
+	All callers changed to avoid the newline.
+	(yyprocessOneStack): Output two lines rather than one, to accommodate
+	the above change.  This changes the debug output format slightly.
+
+	* data/glr.c (yyresolveValue): Fix redundant parse tree problem
+	reported by Joel E. Denny in
+	<http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00004.html>
+	(trivial change).
+	* tests/glr-regression.at (Duplicate representation of merged trees):
+	New test, from Joel E. Denny in:
+	<http://lists.gnu.org/archive/html/help-bison/2005-07/msg00013.html>.
+	* THANKS: Add Joel E. Denny.
+
+	* configure.ac (AC_INIT): Bump to 2.0c.
+
+2005-07-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS: Version 2.0b.
+
+	* Makefile.am (SUBDIRS): Put examples before tests, so that
+	"make check" doesn't finish with "All 1 tests passed".
+
+	* tests/regression.at (Token definitions): Don't rely on
+	AT_PARSER_CHECK for data that contains backslashes.  It currently
+	uses 'echo', and 'echo' isn't portable if its argument contains
+	backslashes.  Problem found on OpenBSD 3.4.  Also, do not assume
+	that the byte '\0xff' is not printable in the C locale; it is,
+	under OpenBSD 3.4 (!).  Luckily, '\0x80' through '\0x9e' are
+	not printable, so use '\0x81' to test.
+
+	* data/glr.c (YYOPTIONAL_LOC): Define even if it's not a recent
+	version of GCC, since the macro is used with non-GCC compilers.
+
+	Fix core dump reported by Pablo De Napoli in
+	<http://lists.gnu.org/archive/html/bug-bison/2005-07/msg00053.html>.
+	* tests/regression.at (Invalid inputs with {}): New test.
+	* src/parse-gram.y (token_name): Translate type before using
+	it as an index.
+
+	* data/glr.c (ATTRIBUTE_UNUSED): Remove, since it infringes on
+	the user's name space.  All uses changed to __attribute__
+	((__unused__)).
+	(yyFail, yyMemoryExhausted, yyreportAmbiguity):
+	Add __attribute__ ((__noreturn__)).
+
+	* etc/clcommit: Remove.  We weren't using it, and it failed
+	"make maintainer-distcheck".
+	* Makefile.maint: Merge from coreutils.
+	(CVS_LIST, CVS_LIST_EXCEPT): New macros.
+	(syntax-check-rules): Change list of rules as described below.
+	(sc_cast_of_alloca_return_value, sc_dd_max_sym_length):
+	(sc_file_system, sc_obsolete_symbols, sc_prohibit_atoi_atof):
+	(sc_prohibit_jm_in_m4, sc_root_tests, sc_tight_scope):
+	(sc_trailing_space): New rules.
+	(sc_xalloc_h_in_src): Remove.
+	(sc_cast_of_argument_to_free, sc_cast_of_x_alloc_return_value):
+	(sc_space_tab, sc_error_exit_success, sc_changelog):
+	(sc_system_h_headers, sc_sun_os_names, sc_unmarked_diagnostics):
+	(makefile-check, po-check, author_mark_check):
+	(makefile_path_separator_check, copyright-check):
+	Use grep -n, to make it easier to find violations.
+	Use CVS_LIST and CVS_LIST_EXCEPT.
+	(header_regexp, h_re): Remove.
+	(dd_c): New macro.
+	(sc_dd_max_sym_length, .re-list, news-date-check): New rules.
+	(my-distcheck): Use more-modern GCC flags.
+	(signatures, %.asc): Remove.
+	(rel-files, announcement): Remove signatures.
+	Restore old updating code, even though we don't use it, so
+	that we're the same as coreutils.
+	(alpha, beta, major): Depend on news-date-check.
+	Make the upload commands.
+
+	* data/c.m4, data/lalr1.cc, data/yacc.c: Normalize white space.
+	* lib/abitset.h, lib/bbitset.h, lib/bitset.h: Likewise.
+	* lib/bitset_stats.c, lib/ebitset.h, lib/lbitset.c: Likewise.
+	* lib/libitset.h, lib/timevar.c, lib/vbitset.h: Likewise.
+	* src/Makefile.am, src/gram.c, src/muscle_tab.h: Likewise.
+	* src/parse-gram.y, src/system.h, src/tables.c, src/vcg.c: Likewise.
+	* src/vcg_defaults.h, tests/cxx-type.at, tests/existing.at: Likewise.
+	* tests/sets.at: Likewise.
+
+	* data/m4sugar/m4sugar.m4: Sync from Autoconf, except that
+	we comment out the Autoconf version number.
+	* doc/bison.texinfo (Calc++ Scanner): Don't use atoi, as
+	it's error-prone and "make maintainer-distcheck" rejects it.
+
+	* lib/subpipe.c: Include <fcntl.h> without checking for HAVE_FCNTL_H.
+	Indent calls to "error" to pacify "make maintainer-distcheck",
+	when the calls are not intended to be translated.
+	* m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't check for fcntl.h.
+
+	* src/Makefile.am (DEFS): Use +=, to pacify
+	"make maintainer-distcheck".
+	(bison_SOURCES): Add scan-skel.h.
+	(sc_tight_scope): New rule, from coreutils.
+
+	* src/files.c (src_extension, header_extension):
+	Now static, not extern.
+	* src/getargs.c (short_options): Likewise.
+	* src/muscle_tab.c (muscle_table): Likewise.
+	* src/parse-gram.y (current_class, current_type, current_prec):
+	Likewise.
+	* src/reader.c (grammar_end, previous_rule_end): Likewise.
+	* src/getargs.h: Redo comments to pacify "make maintainer-distcheck".
+	* src/main.c (main): Cast bindtextdomain and textdomain calls to
+	void, to avoid warning when NLS is disabled.
+	* src/output.c: Include scan-skel.h.
+	(scan_skel): Remove decl, since scan-skel.h does this.
+	(output_skeleton):
+	Indent calls to "error" to pacify "make maintainer-distcheck".
+	* src/print_graph.c: Don't include <obstack.h>, as system.h does this.
+	* src/reader.h (gram_end, gram_lineno): New decls to pacify
+	"make maintainer-distcheck".
+	* src/scan-skel.l (skel_lex, skel_get_lineno, skel_get_in):
+	(skel_get_out, skel_get_leng, skel_get_text, skel_set_lineno):
+	(skel_set_in, skel_set_out, skel_get_debug, skel_set_debug):
+	(skel_lex_destroy, scan_skel): Move these decls to...
+	* src/scan-skel.h: New file.
+	* src/uniqstr.c (uniqstr_assert):
+	Indent calls to "error" to pacify "make maintainer-distcheck".
+
+	* tests/Makefile.am ($(srcdir)/package.m4): Use $(VAR),
+	not @VAR@.
+
+	* tests/torture.at: Revamp to avoid misuse of atoi that
+	"make maintainer-distcheck" complained about.
+
+	* examples/extexi (message): Don't print a message more than once,
+	and omit line-number decoration that makes Emacs compile think
+	that informative messages are worth worrying about.
+
+2005-07-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* configure.ac: Update version number.
+
+	* Makefile.am (SUBDIRS): Add examples; somehow this got removed
+	accidentally.
+	* examples/calc++/calc++-parser.yy: Remove from CVS, as it's
+	autogenerated by the maintainer.
+	* examples/calc++/.cvsignore: Add *.yy.
+
+	* lib/bitset.c (bitset_alloc): Don't cast xcalloc result.
+	* lib/bitset_stats.c (bitset_stats_init): Likewise.
+	* lib/bitsetv.c (bitsetv_alloc): Likewise.
+
+	* po/POTFILES.in: Add lib/xalloc-die.c; remove lib/xmalloc.c.
+
+	* src/relation.c (relation_transpose): Rewrite to avoid bogus complaint
+	from maintainer-distcheck about casting the argument of 'free'.
+
+	* NEWS: Mention recent yytname changes.
+	* THANKS: Add Anthony Heading, twlevo@xs4all.nl.
+
+	* bootstrap: For translations that have not yet been upgraded to
+	the new runtime-po domain, prime the pump by extracting the
+	relevant strings from the obsolete translations.  This code can be
+	removed once the bison-runtime domain has been translated by each
+	team.
+
+	* src/scan-gram.l (<SC_PRE_CODE>.): Don't double-quote token names,
+	now that token names are already quoted.
+
+	Fix problem reported by Anthony Heading.
+	* data/glr.c (YYTOKEN_TABLE): New macro.
+	(yytname): Define if YYTOKEN_TABLE.
+	* data/yacc.c (YYTOKEN_TABLE, yytname): Likewise.
+	* data/lalr1.cc (YYTOKEN_TABLE, yytname_): Likewise.
+	(YYERROR_VERBOSE): Define the same way the other skeletons do.
+	* src/output.c (prepare_symbols): Output token_table_flag.
+
+2005-07-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (yyinitGLRStack, yyreturn): Don't call malloc
+	again if the first call fails.
+
+	* data/glr.c (yytnamerr): New function.
+	(yyreportSyntaxError): Use it to dequote most string literals.
+	* data/lalr1.c (yytname_): Renamed from yyname_, for compatibility
+	with other skeletons.  All uses changed.
+	(yytnameerr_): New function.
+	(yyreport_syntax_error): Use it to dequote most string literals.
+	* data/yacc.c (yytnamerr): New function.
+	(yyerrlab): Use it to decode most string literals.
+	* doc/bison.texinfo (Decl Summary, Calling Convention):
+	Clarify quoting convention of yytname.
+	* src/output.c (prepare_symbols): Quote all names.  This undoes
+	the 2005-04-17 change, which is now accomplished (mostly) via
+	changes in the parsers as described above.
+	* tests/regression.at (Token definitions, Web2c Actions):
+	Undo most 2005-04-17 change here, too.
+
+2005-07-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix more problems reported by twlevo@xs4all.nl.
+	* tests/cxx-type.at: Don't pipe output of ./types through sed to
+	remove trailing spaces.  This loses the exit status of ./types,
+	and isn't needed since ./types shouldn't be emitting trailing
+	spaces.
+	* data/glr.c (yyreturn): Don't pop stack if yyinitStateSet failed,
+	as the stack isn't valid in that case.
+
+	* src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out):
+	(gram_get_leng, gram_get_text, gram_set_lineno, gram_set_in):
+	(gram_set_out, gram_get_debug, gram_set_debug, gram_lex_destroy):
+	Add declarations to pacify "gcc -Wmissing-prototypes" when flex 2.5.31
+	is used.
+	* src/scan-skel.l (skel_get_lineno, skel_get_in, skel_get_out):
+	(skel_get_leng, skel_get_text, skel_set_lineno, skel_set_in):
+	(skel_set_out, skel_get_debug, skel_set_debug, skel_lex_destroy):
+	Likewise.
+
+	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Work even with
+	overly-picky compilers that reject 'char *foo = "bar";'.
+
+	* src/symtab.c (SYMBOL_ATTR_PRINT, symbol_print): Direct output
+	to FILE * parameter, not to stderr.  This fixes a typo introduced
+	in the 2005-07-12 change.
+
+	* lib/subpipe.c (create_subpipe): Rewrite slightly to avoid
+	warnings from GCC 4.
+
+	* data/glr.c (yyexpandGLRStack, yyaddDeferredAction, yyexpandGLRStack):
+	(yyglrShiftDefer, yysplitStack):
+	Remove unused parameters b4_pure_formals.  All uses changed.
+	(yyglrShift): Remove unused parameters b4_user_formals.
+	All uses changed.
+	(yyglrReduce): Removed unused parameter yylocp.  All uses changed.
+
 2005-07-18  Paul Eggert  <eggert@cs.ucla.edu>
 
+	Destructor cleanups and regularization among the three skeletons.
+	* NEWS: Document the behavior changes.
+	* data/glr.c (yyrecoverSyntaxError): Don't bother to pop the
+	stack before failing, as the cleanup code will do it for us now.
+	* data/lalr1.cc (yyerrlab): Likewise.
+	* data/glr.c (yyparse): Pop everything off the stack before
+	freeing it, so that destructors get called properly.
+	* data/lalr1.cc (yyreturn): Likewise.
+	* data/yacc.c (yyreturn): Pop and destroy the start symbol, too.
+	This is more consistent.
+	* doc/bison.texinfo (Destructor Decl): Mention more reasons
+	why destructors might be called.  1.875 -> 2.1.
+	(Destructor Decl, Decl Summary, Table of Symbols):
+	Some English-language cleanups for %destructor.
+	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
+	Add output line for destructor of start symbol.
+	* tests/calc.at (AT_CHECK_CALC): Add one to line counts,
+	because of that same extra output line.
+
+	* NEWS: Document minor wording changes in diagnostics of
+	Bison-generated parsers.
+	* data/glr.c (yyMemoryExhausted): Renamed from yyStackOverflow.
+	Remove unused formals.  All uses changed.
+	(yyreportAmbiguity): "ambiguity detected" -> "syntax is ambiguous".
+	(yyparse): Rename yyoverflowlab to yyexhaustedlab.
+	* data/yacc.c (yyparse): "parser stack overflow" -> "memory exhausted".
+	Rename yyoverflowab to yyexhaustedlab.
+	When memory exhaustion occurs during syntax-error reporting,
+	report it separately rather than in a single diagnostic; this
+	eases translation.
+	* doc/bison.texinfo (Memory Management): Renamed from Stack Overflow.
+	(Memory Exhausted): Renamed from Parser Stack Overflow.
+	Revamp wording slightly to prefer "memory exhaustion".
+	* tests/actions.at: "parser stack overflow" -> "memory exhausted".
+
+	* data/c.m4 (b4_yysymprint_generate): Use YYFPRINTF, not fprintf.
+
 	Add i18n support to the GLR skeleton.  Partially fix the C++
 	skeleton; a C++ expert needs to finish this.  Remove debugging
 	msgids; there's little point to having them translated, since they
@@ -1188,7 +1548,7 @@
 	line.
 
 2004-10-22  Akim Demaille  <akim@epita.fr>
-       and  Paul Eggert  <eggert@cs.ucla.edu>
+	and Paul Eggert  <eggert@cs.ucla.edu>
 
 	Remove some arbitrary limits on goto numbers and relations.
 	* src/lalr.c (goto_map, ngotos, from_state, to_state): Omit
@@ -1418,7 +1778,7 @@
 2004-09-06  Akim Demaille  <akim@epita.fr>
 
 	* data/lalr1.cc: Adjust the indentation of the labels.
-        (Parser::pop): New.
+	(Parser::pop): New.
 	Use it.
 
 2004-09-06  Akim Demaille  <akim@epita.fr>
@@ -13791,24 +14151,13 @@
 
 	* REFERENCES: entered into RCS
 
------
-
-Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-
-This file is part of Bison, the GNU Compiler Compiler.
 
-Bison is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+	-----
 
-Bison is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+	Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
+	1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
+	Foundation, Inc.
 
-You should have received a copy of the GNU General Public License
-along with Bison; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.
+	Copying and distribution of this file, with or without
+	modification, are permitted provided the copyright notice and this
+	notice are preserved.