X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/e657f3698ed074bca2a84d5e2498f8f369c3bc49..4631c34fb78bebfd3764ebe77d4f4baae757dbf6:/ChangeLog diff --git a/ChangeLog b/ChangeLog index f4d48066..cd16bd09 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,551 @@ +2010-08-01 Joel E. Denny + + -Werror: fix for rules useless in parser after conflicts. + * NEWS (2.4.3): Document fix. + * src/complain.c (error_message): Extend to handle incomplete + error messages so warn and warn_at can be used in more cases. + * src/gram.c (grammar_rules_useless_report): Use warn_at so that + -Werror is always obeyed. + * src/reduce.c (reduce_print): Use warn so that the "warnings + being treated as errors" message is printed consistently before + the first warning message. This makes testing easier. + * tests/local.at (AT_BISON_WERROR_MSG): New macro. + (AT_BISON_CHECK_NO_XML): Extend to check -Werror and + --warnings=error when warnings appear in bison's stderr. + +2010-07-29 Joel E. Denny + + maint: enable gnits only at stable releases. + * configure.ac (AM_INIT_AUTOMAKE): Underscore or dash in a + version string should disable gnits. Explain in comments. + +2010-07-28 Joel E. Denny + + i18n: update. + * po/POTFILES.in: Add src/graphviz.c. + +2010-07-28 Joel E. Denny + + i18n: fix for gnulib. + * po/POTFILES.in: Add remaining gnulib files that have + translatable strings. + +2010-07-25 Joel E. Denny + + maint: use announce-gen's new --mail-headers. + * HACKING (Announce): Update instructions. + * cfg.mk (announcement_Cc_): Define. + * configure.ac (AM_GNU_GETTEXT_VERSION): Update to 0.18 as + required by latest gnulib. + * gnulib: Update to latest. + +2010-07-24 Joel E. Denny + + tests: handle Valgrind that complains about >&-. + * tests/output.at (AT_CHECK_OUTPUT): Extend to accept pre-tests. + (Output files: -dv >&-): Skip test group if running + maintainer-check-valgrind. + +2010-06-17 Paul Eggert + + Update from GFDL GFDL 1.2 to 1.3. + * doc/bison.texinfo: Update GFDL version number. + * doc/fdl.texi: Update to version 1.3, taken from: + http://www.gnu.org/licenses/fdl.texi + +2010-06-17 Paul Eggert + + Do not use date ranges in copyright notices. + See http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices + + * HACKING, Makefile.am, NEWS, PACKAGING, README, README-alpha: + * TODO, bootstrap, bootstrap.conf: + * build-aux/update-b4-copyright, cfg.mk, configure.ac: + * data/README, data/bison.m4, data/c++-skel.m4, data/c++.m4: + * data/c-skel.m4, data/c.m4, data/glr.c, data/glr.cc: + * data/java-skel.m4, data/java.m4, data/lalr1.cc: + * data/lalr1.java, data/location.cc: + * data/xslt/bison.xsl: + * data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl: + * data/xslt/xml2xhtml.xsl, data/yacc.c, djgpp/Makefile.maint: + * djgpp/README.in, djgpp/config.bat, djgpp/config.sed: + * djgpp/config.site, djgpp/config_h.sed, djgpp/djunpack.bat: + * djgpp/subpipe.c, djgpp/subpipe.h: + * djgpp/testsuite.sed, doc/bison.texinfo: + * doc/refcard.tex, etc/README, etc/bench.pl.in: + * examples/calc++/Makefile.am, examples/extexi: + * lib/abitset.c, lib/abitset.h: + * lib/bbitset.h, lib/bitset.c, lib/bitset.h: + * lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c: + * lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h: + * lib/ebitset.c, lib/ebitset.h, lib/get-errno.c: + * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h: + * lib/libiberty.h, lib/main.c, lib/timevar.c: + * lib/timevar.def, lib/timevar.h, lib/vbitset.c: + * lib/vbitset.h, lib/yyerror.c, m4/bison-i18n.m4: + * m4/c-working.m4, m4/cxx.m4, m4/subpipe.m4, m4/timevar.m4: + * src/AnnotationList.c, src/AnnotationList.h: + * src/InadequacyList.c, src/InadequacyList.h, src/LR0.c: + * src/LR0.h, src/Sbitset.c, src/Sbitset.h, src/assoc.c: + * src/assoc.h, src/closure.c, src/closure.h, src/complain.c: + * src/complain.h, src/conflicts.c, src/conflicts.h: + * src/derives.c, src/derives.h, src/files.c, src/files.h: + * src/flex-scanner.h, src/getargs.c, src/getargs.h: + * src/gram.c, src/gram.h, src/graphviz.c, src/ielr.c: + * src/ielr.h, src/lalr.c, src/lalr.h: + * src/location.c, src/location.h, src/main.c: + * src/muscle-tab.c, src/muscle-tab.h, src/named-ref.c: + * src/named-ref.h, src/nullable.c, src/nullable.h: + * src/output.c, src/output.h, src/parse-gram.y: + * src/print-xml.c, src/print-xml.h, src/print.c, src/print.h: + * src/print_graph.c, src/print_graph.h, src/reader.c: + * src/reader.h, src/reduce.c, src/reduce.h, src/relation.c: + * src/relation.h, src/scan-code.h, src/scan-code.l: + * src/scan-gram.h, src/scan-gram.l, src/scan-skel.h: + * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c: + * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h: + * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h: + * tests/actions.at, tests/atlocal.in, tests/c++.at: + * tests/calc.at, tests/conflicts.at, tests/cxx-type.at: + * tests/existing.at, tests/glr-regression.at: + * tests/headers.at, tests/input.at, tests/java.at: + * tests/local.at, tests/named-refs.at: + * tests/output.at, tests/push.at, tests/reduce.at: + * tests/regression.at, tests/sets.at, tests/skeletons.at: + * tests/synclines.at, tests/testsuite.at, tests/torture.at: + * data/Makefile.am, data/location.cc, doc/Makefile.am, src/Makefile.am: + * tests/Makefile.am, lib/Makefile.am, examples/Makefile.am: + * etc/Makefile.am: + Don't use date ranges in copyright notices. + +2010-05-11 Akim Demaille + + lalrl1.cc: give a chance to user defined YYLLOC_DEFAULT. + * data/lalr1.cc (YYLLOC_DEFAULT): Move its definition from the + header file to the implementation file, after the user %code + sections. + * NEWS (2.5): Document this. + +2010-05-07 Akim Demaille + + c++: use YYRHSLOC. + * data/lalr1.cc (YYRHSLOC): New. + (YYLLOC_DEFAULT): Use it. + * data/glr.cc: If location_type was user defined, do not include + location.hh, and do not produce location.hh and position.hh. + * tests/calc.at (YYLLOC_DEFAULT): Use YYRHSLOC. + Check that glr.cc supports user defined location_type. + * NEWS: Document this. + +2010-05-10 Akim Demaille + + doc: fix lalr1.cc documentation. + * doc/bison.texinfo (C++ Scanner Interface): Fix yylex signature. + (C++ Bison Interface): Fix lalr1.cc skeleton name. + (C++ Parser Interface): Fix semantic_type and location_type names. + Document yy::parser::token. + Reported by Jerry Quinn. + +2010-05-04 Akim Demaille + + lalr1.cc: don't generate location.hh when location_type is defined + * data/bison.m4 (b4_percent_define_use): New. + (b4_percent_define_get): Use it. + Accept a default value. + * data/c++.m4: Do not provide a default value for the %define + variable location_type, rather, use b4_percent_define_get with a + default argument where its value is needed. + * data/lalr1.cc: Do not load location.cc (which outputs both + location.hh and position.hh) if the user defined location_type. + Do not include location.hh either. + * data/glr.cc: Likewise. + +2010-05-04 Akim Demaille + + lalr1.cc: location_type: make sure we don't depend on loc.(begin|end). + * tests/calc.at (Span): Instead of begin/end, as in the built-in + location class, use first and last. + Define YYLLOC_DEFAULT to adjust to these changes. + * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Adjust to the + location_type changes. + +2010-05-04 Akim Demaille + + tests: enhance AT_SYNCLINES_COMPILE. + * tests/synclines.at (AT_TEST_SYNCLINE): Move GCC 4.5 protection + into... + (AT_SYNCLINES_COMPILE): here. + Add more distcc patterns. + +2010-05-01 Joel E. Denny + + tests: fix maintainer-xml-check. + * data/xslt/xml2dot.xsl (xsl:template match="bison-xml-report"): + Update output to include comments now produced by --graph. + (xsl:template match="automaton"): As for --graph, name the + digraph after the grammar file. + * src/print-xml.c (escape_bufs): Enlarge array. + (print_xml): Add bug-report and url attributes to + bison-xml-report element. + +2010-05-01 Joel E. Denny + + In DOT output, convert from "/*" comments to "//" comments. + This handles the possibility that a "*/" might appear in + variable portions of those comments at some point in the future. + * src/graphviz.c (start_graph): Implement. + +2010-04-30 Joel E. Denny + + Document that undefined %prec identifier warnings will remain. + * NEWS (2.4.3): Here. + (2.4.2): Here. + +2010-04-30 Joel E. Denny + + Revert 2009-12-30 change for undefined %prec token complaints. + That is, keep them as warnings because that should be sufficient + to satisfy POSIX without creating backward compatibility issues. + Suggested by Richard Stallman at + . + * NEWS (2.5): Remove mention of complaint. + * src/reader.c (grammar_rule_check): Convert complaint back to + warning. + * tests/input.at (%prec's token must be defined): Update. + +2010-04-25 Joel E. Denny + + build: don't require src/bison during bootstrap. + Suggested by Eric Blake at + . + * bootstrap.conf (bootstrap_epilogue): New function to make sure + src/parse-gram.[ch] are stamped later than src/parse-gram.y. + +2010-04-25 Joel E. Denny + + i18n: fix untranslatable string. + Reported by Goran Uddeborg at + . + * src/muscle-tab.c (muscle_percent_define_insert): Here. + +2010-04-13 Akim Demaille + + tests: calc: minor refactoring. + * tests/calc.at (_AT_DATA_CALC_Y): Simplify yylex. + +2010-04-13 Akim Demaille + + tests: calc: simplify location management. + * tests/local.at (AT_LOC_PUSHDEF, AT_LOC_POPDEF): New. + (_AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS): Use them to + define the appropriate AT_LOC accessors. + * tests/calc.at: Use AT_LOC accessors. + +2010-04-13 Akim Demaille + + test location_type. + * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): + Define AT_LOCATION_TYPE_IF. + (_AT_BISON_OPTION_POPDEFS): Undefine AT_LOCATION_TYPE_IF. + * tests/calc.at (_AT_DATA_CALC_Y): When %define location_type is + used, provide a user location type and use it. + (Simple LALR1 C++ Calculator): Add a test case for location_type. + +2010-04-13 Akim Demaille + + tests: check fclose's return value. + * tests/calc.at (_AT_DATA_CALC_Y): Check fclose's return status. + +2010-04-13 Akim Demaille + + tests: don't depend on the actual location type. + * tests/calc.at: Use yy::parser::location_type rather than + yy::location, since the former is always right, and might point to + another type than the latter. + +2010-04-13 Akim Demaille + + formatting changes. + * tests/calc.at: Formatting changes. + +2010-04-13 Akim Demaille + + lalr1.cc: remove useless forward declaration. + * data/lalr1.cc: Include location.hh before stack.hh. + Remove the useless forward declarations of position and location. + Reported by Chris Morley. + * data/glr.cc: Likewise. + +2010-04-11 Joel E. Denny + + * NEWS (2.4.3): Mention fix for Sun Studio C++. + +2010-04-10 Joel E. Denny + + tests: fix for newer Sun Studio C++. + Reported by Dagobert Michelsen at + . + * THANKS (Dagobert Michelsen): Add. + * configure.ac (AC_PREREQ): Set to 2.64 so we get the latest + Autoconf macro for handling the restrict keyword. + * gnulib: Update to latest, which no longer overrides that macro + from Autoconf. + +2010-04-03 Joel E. Denny + + portability: fix pointer arithmetic to conform to C standard. + Reported by Tys Lefering at + . + This fix is already implemented in glr.c and does not apply to + lalr1.java. + * data/lalr1.cc (yy::parser::parse): Increase size of + yyerror_range and adjust subscripting so you don't have to + subtract one from the beginning of the array. + * data/yacc.c (b4_declare_parser_state_variables, + yyparse, yypush_parse): Likewise. + +2010-04-05 Akim Demaille + + remove useless include. + * src/graphviz.h: Don't include stdbool.h. + +2010-04-05 Akim Demaille + + graph: sign the output file. + * src/graphviz.c (start_graph): Issue comments about Bison. + Suggested by Tys Lefering. + +2010-03-31 Joel E. Denny + + portability: fix test suite for GCC 4.5's new #error message. + Reported by Tys Lefering at + . + * NEWS (2.4.3): Mention. + * tests/synclines.at (AT_TEST_SYNCLINE): Implement. + +2010-03-30 Akim Demaille + + fix comments. + * src/graphviz.h: Add missing license notice. + Document. + +2010-03-25 Akim Demaille + + tests: fix 250: parse.error=verbose overflow. + * tests/regression.at (parse.error=verbose overflow): Avoid the + double inclusion of stdlib.h as it triggers hard errors. + +2010-03-23 Joel E. Denny + + portability: fix for BSD make. + Reported by Johan van Selst at + . + * tests/Makefile.am ($(TESTSUITE)): Qualify package.m4 in + this dependency list as in package.m4's target rule. + +2010-03-23 Joel E. Denny + + portability: fix spawning on at least FreeBSD 8 and FreeBSD 9. + Reported by Johan van Selst at + . + * NEWS (2.4.3): New. + * THANKS (Johan van Selst): Add. + * gnulib: Update to latest. + +2010-03-20 Joel E. Denny + + maint: update for changes to gnulib's announce-gen. + * HACKING (Announce): RELEASE_TYPE=major must now be written + RELEASE_TYPE=stable. + +2010-03-20 Joel E. Denny + + Version 2.4.2. + * NEWS (2.4.2): Set version and date. For the recent test suite + portability fixes, don't be so optimistic about their success + given the lack of feedback on the affected platforms. + +2010-02-22 Joel E. Denny + + tests: fix maintainer-xml-check for recent changes. + * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Use + AT_BISON_CHECK_NO_XML rather than AT_BISON_CHECK because an + output file whose name conflicts with a previous output file + is now never generated. + +2010-02-22 Joel E. Denny + + portability: fix several issues with M4 subprocess. + + M4's output pipe was not being drained upon fatal errors during + scan_skel. As a result, broken-pipe messages from M4 were seen + on at least AIX, HP-UX, Solaris, and RHEL4, and this caused a + failure in the test suite. The problem was that, on platforms + where the default disposition for SIGPIPE is ignore instead of + terminate, M4 sometimes saw fwrite fail with errno=EPIPE and + then reported it. However, there's some sort of race condition, + because the new test group occasionally succeeded. + Reported by Albert Chin at + . + + There were also problems with the test suite livelocking on + Tru64 5.1b. Reported by Didier Godefroy at + . + Switching to create_pipe_bidi suggested by Akim Demaille. + + To attempt to solve both of these problems, switch to gnulib's + create_pipe_bidi and register M4 process as a slave. Along the + way, clean up file name conflict handling, which was affected by + the broken-pipe problem before the switch. + * NEWS (2.4.2): Document. + * THANKS (Didier Godefroy): Add. + * bootstrap.conf (gnulib_modules): Add pipe. + * gnulib: Update to latest to make sure we have all the latest + fixes. + * lib/Makefile.am (libbison_a_SOURCES): Remove subpipe.h and + subpipe.c. + * po/POTFILES.in (lib/subpipe.c): Remove. + * src/files.c (compute_output_file_names): Update invocations + of output_file_name_check. + (output_file_name_check): In the case that the grammar file + would be overwritten, use complain instead of fatal, but replace + the output file name with /dev/null. Use the /dev/null solution + for the case of two conflicting output files as well because it + seems safer in case Bison one day tries to open both files at + the same time. + * src/files.h (output_file_name_check): Update prototype. + * src/output.c (output_skeleton): Use create_pipe_bidi and + wait_subprocess. Assert that scan_skel completely drains the + pipe. + * src/scan-skel.l (at_directive_perform): Update + output_file_name_check invocation. + * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Check that the + grammar file actually isn't overwritten. + (Conflicting output files: -o foo.y): Update expected output. + * tests/skeletons.at (Fatal errors but M4 continues producing + output): New test group. + +2010-02-04 Joel E. Denny + + Update POTFILES. + * HACKING (Release Procedure): Add reminder about keeping + POTFILES files up-to-date. + * po/POTFILES.in (src/muscle-tab.c, src/scan-skel.l): Add. + +2010-02-01 Joel E. Denny + + Code cleanup. + * tests/atlocal.in (abs_top_srcdir): Remove shell variable, + which is already defined in atconfig. + +2010-01-21 Joel E. Denny + + * cfg.mk (gnulib_dir): Assume gnulib is a subdirectory. + +2010-01-21 Joel E. Denny + + maint: automate PACKAGE_COPYRIGHT_YEAR update, and update it. + * HACKING (Release Procedure): Update notes on copyright years. + * Makefile.am (update-package-copyright-year): New target rule. + * build-aux/update-package-copyright-year: New file. + * cfg.mk (update-copyright): Add update-package-copyright-year + as a dependency. + +2010-01-19 Joel E. Denny + + * bootstrap: Import improvements from latest gnulib. + +2010-01-19 Joel E. Denny + + build: require Automake 1.11.1 to avoid a security flaw. + * HACKING (Release Procedure): Don't document Automake security + flaw here. + * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1, and explain + why here. + +2010-01-19 Joel E. Denny + + gnulib: update to latest. + +2010-01-19 Joel E. Denny + + ChangeLog (2006-09-15): add Odd Arild Olsen's role for push.c. + +2010-01-15 Joel E. Denny + + Thank the developer of the initial push parser implementation. + This unfortunate oversight is several years old. + * THANKS (Odd Arild Olsen): Add. + +2010-01-04 Joel E. Denny + + Fix some comments concerning LR(0) versus LALR(1). + + Stop equating LR(0) with nondeterminism and LALR(1) with + determinism. That is, if all states are consistent, then LR(0) + tables are deterministic. On the other hand, LALR(1) tables + might be nondeterministic before conflict resolution, and GLR + permits LALR(1) tables to remain nondeterministic. + * src/LR0.c, src/LR0.h: Here. + * src/lalr.c, src/lalr.h: Here. + * src/main.c (main): Here. + * src/state.c, src/state.h: Here. + + * src/ielr.h (ielr): In preconditions, expect LR(0) not LALR(1) + parser tables. + +2010-01-04 Joel E. Denny + + maint: run "make update-copyright" + +2009-12-30 Joel E. Denny + + POSIX: complain if %prec's token was not defined. + * NEWS (2.5): Document. + * src/reader.c (grammar_rule_check): Convert warning to + complaint. + * tests/input.at (%prec's token must be defined): Update. + +2009-12-30 Joel E. Denny + + POSIX: warn if %prec's token was not defined. + Reported by Florian Krohm at + . + * NEWS (2.4.2): Document. + * src/reader.c (grammar_rule_check): Implement. + (grammar_current_rule_prec_set): Add comments explaining that we + here assume a %prec identifier is a token, but we still manage + to support POSIX. + * tests/input.at (%prec's token must be defined): New test + group. + +2009-12-31 Joel E. Denny + + * HACKING (Release Procedure): Recommend a secure automake. + +2008-12-11 Akim Demaille + + Propagate i18n changes into glr.c. + * data/glr.c (yyreportSyntaxError): Use "switch" instead of + building the error message format dynamically. + * data/lalr1.java: Formatting changes. + +2009-12-22 Joel E. Denny + + Port small part of master's 11707b2b so future ports are easier. + * data/lalr1.java (YYParser::yysyntax_error): Untabify. + +2008-12-11 Akim Demaille + + Simplify the i18n of the error messages. + * data/lalr1.cc: Comment changes. + +2008-11-11 Akim Demaille + + Prefer M4 to CPP. + * data/lalr1.cc: Use b4_error_verbose_if instead of #if + YYERROR_VERBOSE. + 2008-11-11 Akim Demaille Support i18n of the parse error messages. @@ -5586,9 +6134,12 @@ 2006-09-15 Bob Rossi + Add support for push parsing. Based on the original work of + Odd Arild Olsen . * data/Makefile.am (dist_pkgdata_DATA): Add push.c. * data/c.m4 (YYPUSH): New. (b4_push_if): New macro. Use it instead of #ifdef YYPUSH. + * data/push.c: New file. * src/getargs.c (push_parser): New var. * src/getargs.h (push_parser): New declaration. * src/output.c (prepare): Add macro insertion of `push_flag'. @@ -22762,8 +23313,8 @@ ----- Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, - 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009 Free Software Foundation, Inc. + 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2010 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this