X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/5523ac79a0e46820d9a947b8cf0f7149da0f0165..b733bcd00e6fc8db45c86dc289938a28c1bf72d8:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 251260d1..18b09465 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1186 @@ +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-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-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-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 + + Prepare for 2.4.2 release. + * NEWS (2.4.1b): Rename back to... + (2.4.2): ... this, and unset date. + * configure.ac (AM_INIT_AUTOMAKE): Re-enable gnits. + +2010-02-22 Joel E. Denny + + Version 2.4.1b. + * NEWS (2.4.2): Rename to... + (2.4.1b): ... this for now. Set date. + * configure.ac (AM_INIT_AUTOMAKE): Disable gnits for now because + it does not like this version name. + +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 + + tests: link lib/libbison.a for gnulib. + This solves a problem on Solaris 2.7 where the testsuite needs + at least gnulib's rpl_fopen. Reported by Albert Chin at + . + * NEWS (2.4.2): Document. + * tests/atlocal.in (LIBS): As for LDADD in src/Makefile.am, add + lib/libbison.a. + +2010-01-22 Joel E. Denny + + Prepare for 2.4.2 release. + * NEWS (2.4.1a): Rename back to... + (2.4.2): ... this, and unset date. + * configure.ac (AM_INIT_AUTOMAKE): Re-enable gnits. + +2010-01-22 Joel E. Denny + + Version 2.4.1a delayed. + * NEWS (2.4.1a): Increment release date as there has been a + small delay in getting the announcements and tarballs out. + +2010-01-21 Joel E. Denny + + Version 2.4.1a. + * NEWS (2.4.2): Rename to... + (2.4.1a): ... this for now. Set date. + * configure.ac (AM_INIT_AUTOMAKE): Disable gnits for now because + it does not like this version name. + +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 + + maint: run "make update-copyright" + +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. + +2009-12-21 Joel E. Denny + + YYFAIL: deprecate. + * NEWS (2.4.2): Document deprecation and the phase-out plan. + * data/lalr1.java (parser::YYStack::YYFAIL): Add comment about + deprecation. + * data/yacc.c (YYFAIL): Likewise, and suppress warnings about + YYFAIL from GCC cpp's -Wunused-macros. + * doc/bison.texinfo (Java Action Features): Remove YYFAIL + documentation. + +2009-12-16 Joel E. Denny + + Add gcc's -Wundef to test suite and fix another warning from it. + * NEWS (2.4.2): Update description of -Wundef fix. + * configure.ac (WARN_CXXFLAGS_TEST): New substitution. + (WARN_CFLAGS_TEST): New substitution. + * data/glr.c: Avoid warning about __STRICT_ANSI__. + * tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of + WARN_CFLAGS. + (CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS. + +2009-12-16 Joel E. Denny + + Document gcc -Wundef fix. + * NEWS (2.4.2): Here. + * THANKS (Jonathan Nieder): Add. + +2009-12-15 Jonathan Nieder (tiny change) + + Avoid warnings from gcc -Wundef y.tab.c. + * data/glr.c: Check if YYENABLE_NLS and YYLTYPE_IS_TRIVIAL are + defined before using them. + * data/lalr1.cc: Likewise. + * data/yacc.c: Likewise. + +2009-12-15 Joel E. Denny + + Import M4 detection fix from Autoconf. + Reported by Eric Blake. + * m4/m4.m4: Copy serial 10. + +2009-12-14 Joel E. Denny + + Enable assertion output and --disable-assert for configure. + * bootstrap.conf (gnulib_modules): Add assert module. + * src/system.h (aver): Define as assert, and summarize the + discussion on this issue. + +2009-10-11 Joel E. Denny + + portability: use va_start and va_end in the same function. + * src/complain.c (error_message): Move va_end from here... + (ERROR_MESSAGE): ... to here. + +2009-10-04 Joel E. Denny + + tests: skip tests of file names that platform does not support. + Reported by Michael Raskin at + . + * THANKS (Michael Raskin): Add. + * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Fix. Cygwin used + to fail at least for file names containing ":" or "\". + +2009-09-16 Akim Demaille + + doc: spell checking. + * doc/bison.texinfo: here. + +2009-09-13 Joel E. Denny + + tests: clean up push.at test group titles. + * tests/push.at: Remove "Push Parsing: " from test group titles + because these are already under the banner "Push Parsing Tests". + +2009-09-03 Akim Demaille + + * NEWS (2.4.2): Add "Internationalization" item. + +2009-09-03 Akim Demaille + + bootstrap: fix/improve find_tool. + * bootstrap (find_tool): Improve error messages. + Fix typo about find_tool_names. + +2009-08-27 Eric Blake + + scan-gram: avoid portability trap with ctype usage. + * src/scan-gram.l (): + Avoid compiler warning. + +2009-08-27 Joel E. Denny + + tests: use perl for printing special sequences to files. + And skip tests if perl is not available. This is better than + playing tricks with shell portability. Suggested by Akim + Demaille. + * tests/input.at (Bad character literals): Use it here for + omitting final newlines. + (Bad escapes in literals): Use it here for special characters. + +2009-08-21 Joel E. Denny + + Use locale when quoting. + * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER): Use + quote rather than implementing quoting here. + +2009-08-20 Eric Blake + + Make previous patch more robust. + * src/output.c (ARRAY_CARDINALITY): New macro, copied from + argmatch.h. + (output_skeleton): Use it. + Suggested by Akim Demaille. + + Import latest m4/m4.m4. + * m4/m4.m4: Copy from autoconf 2.64. + * configure.ac (M4_GNU_OPTION): New define. + * src/output.c (output_skeleton): Use it to resolve FIXME. + * NEWS: Mention this. + +2009-08-19 Joel E. Denny + + Fix complaints about escape sequences. + Discussed starting at + . + * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER): + For a \0 and similar escape sequences meaning the null + character, report an invalid escape sequence instead of an + invalid null character because the latter does not actually + appear in the user's input. + In all escape sequence complaints, don't escape the initial + backslash, and don't quote when the sequence appears at the end + of the complaint line unless there's whitespace that quotearg + won't escape. + Consistently say "invalid" not "unrecognized". + * tests/input.at (Bad escapes in literals): New. + +2009-08-19 Akim Demaille + + doc: %initial-action to initialize yylloc. + Reported by Bill Allombert. + * doc/bison.texinfo: Set fill-column to 76. + (Location Type): Document the use of %initial-action to initialize + yylloc. + +2009-08-18 Joel E. Denny + + maint: update for gnulib's recent update-copyright changes + * gnulib: Update. + * .x-update-copyright (COPYING): Add as it's no longer implied + when .x-update-copyright is present. + * cfg.mk (update-copyright-local): Remove, now ignored. + (update-copyright): Declare update-b4-copyright as a dependency. + +2009-08-17 Akim Demaille + + build: lower gettext requirements. + + Bison was uselessly requiring the formatstring macros from + gettext, which resulted in mo files not being installed on systems + that perfectly supported Bison mo files. Lower the requirement. + http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html + + * configure.ac: Require need-ngettext instead of + need-formatstring-macros. + Reported by Martin Jabocs. + Suggested by Bruno Haible. + * INSTALL: Restructure. + (Internationalization): New. + +2009-08-14 Joel E. Denny + + maint: fix use of copyright year intervals. + * gnulib: Update. + * bootstrap.conf (gnulib_modules): Update getopt to getopt-gnu + as now recommended in gnulib/NEWS. + * build-aux/update-b4-copyright: Fix. + * cfg.mk (update-copyright-env): Configure update-copyright. + +2009-08-12 Akim Demaille + + distcheck: fix. + + * examples/calc++/Makefile.am: (EXTRA_DIST): Ship calc.stamp. + +2009-08-06 Joel E. Denny + + maint: run "make update-copyright" + But first... + * .x-update-copyright (^data/m4sugar/): Add, because these + files are from Autoconf. + +2009-08-06 Joel E. Denny + + maint: make update-b4-copyright easier to use + * build-aux/update-b4-copyright: In warnings, report line + numbers rather than character positions. + * cfg.mk (update-copyright-local): Set to update-b4-copyright so + that update-copyright runs it. + * gnulib: Update. + +2009-08-05 Joel E. Denny + + maint: clean up update-b4-copyright code + * build-aux/update-b4-copyright: Do not accept 2-digit + UPDATE_COPYRIGHT_YEAR, which was not handled correctly. + Don't accept a `[' in a b4_copyright argument. + Format code more consistently. + Don't assume b4*copyright never occurs. + +2009-08-04 Joel E. Denny + + maint: automate b4_copyright updates. + * Makefile.am (update-b4-copyright): New target rule. + * build-aux/Makefile.am (EXTRA_DIST): Add update-b4-copyright. + * build-aux/update-b4-copyright: New. + * data/yacc.c: Remove stray characters around b4_copyright + invocations. + +2009-08-04 Joel E. Denny + + maint: automate annual package-wide copyright-year update. + * .x-update-copyright: New. + * Makefile.am (EXTRA_DIST): Remove maint.mk. + * bootstrap.conf (gnulib_modules): Add maintainer-makefile and + update-copyright. Remove gnumakefile, which is implied by + maintainer-makefile. + * cfg.mk (bootstrap-tools): Copy from old maint.mk. + * gnulib: Update. + * maint.mk: Remove, now copied from gnulib. + * examples/extexi: Add missing "(C)" in copyright statement so + update-copyright can recognize it. + * src/LR0.h: Likewise. + * src/print.h: Likewise. + * src/print_graph.h: Likewise. + * src/gram.c: Add missing comma in copyright statement. + * src/gram.h: Likewise. + +2009-08-04 Joel E. Denny + + Fix "make distcheck". + * examples/calc++/Makefile.am: Say $(srcdir)/calc.stamp instead + of just calc.stamp. + +2009-08-01 Joel E. Denny + + Pacify "gcc -Wunused" for the input function from Flex. + Reported by Alex Rozenman. This warning shows up with gcc-4.3.0 + and later. + * src/scan-code.l: Add "%option noinput", which I cannot find in + the Flex manual, but which Flex has supported since at least as + far back as 2.5.4. However, if any of our developers still use + Flex 2.5.4, they'll need to stop configuring with + --enable-gcc-warnings because "%option noinput" didn't work + correctly until Flex 2.5.6. + * src/scan-gram.l: Likewise. + * src/scan-skel.l: Likewise. + +2009-06-29 Akim Demaille + + build: avoid concurrent extraction of calc++. + * examples/calc++/Makefile.am (calc.stamp): New. + Depend on it to create the sources of calc++ so that concurrent + builds don't launch several "extexi" in parallel. + Not only this is inefficient, this also builds incorrect sources + with several extractions mixed together. + +2009-06-25 Akim Demaille + + hash: check insertion for memory exhaustion. + * src/uniqstr.c (uniqstr_new): New. + +2009-06-11 Akim Demaille + + hash: check insertion for memory exhaustion. + * src/muscle-tab.c (muscle_insert, muscle_grow) + * src/state.c (state_hash_insert): Check the return value of + hash_insert. + +2009-06-10 Akim Demaille + + gnulib: update. + * gnulib: Update to latest. + * lib/.cvsignore, lib/.gitignore, m4/.cvsignore, + * m4/.gitignore: Regen. + * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr): + Call xalloc_die on hash_insert failures. + Requested by the new __warn_unused_result__ attribute of + hash_insert. + +2009-05-22 Joel E. Denny + + * data/c++.m4: Update copyright year. + +2009-05-19 Joel E. Denny + + Handle a trailing `:' in a user-supplied C++ namespace better. + * data/c++.m4 (b4_namespace_close): Don't let it be printed + among the closing braces here. This fix might make the + generated code easier to debug, but otherwise it should be + insignificant because a trailing `:' is a C++ error already. + +2009-05-11 Akim Demaille + + doc: use C++ headers. + * doc/bison.texinfo (Calc++ Scanner): Prefer C++ headers to C + headers. + +2009-05-01 Joel E. Denny + + Declare %code to be a permanent feature. + * NEWS (2.4.2): Here. + * doc/bison.texinfo (Prologue Alternatives): Don't say it's + experimental. + (Decl Summary): Likewise. + +2009-04-14 Akim Demaille + + doc: minor fixes. + * doc/bison.texinfo (Decl Summary): Fix entry about %debug. + (Table of Symbols): Remove duplicate entry for %debug. + +2009-04-06 Eric Blake + + Work around autoconf 2.63b bug in testsuite. + * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Avoid tripping + autoconf bug related to # in test. + +2009-04-06 Joel E. Denny + + Fix options documentation. + * build-aux/cross-options.pl: As in --help output, write optional + arguments as [=ARG] not =[ARG]. + * doc/bison.texinfo (Bison Options): Add -W/--warnings argument. + +2008-11-07 Akim Demaille + + Fix --help. + * src/getargs.c (usage): Fix help string for -W. + +2008-11-07 Akim Demaille + + Handle more general types of option arguments. + * build-aux/cross-options.pl: The argument ends at the first + space, not the first non-symbol character. + Use @var for each word appearing the argument description. + +2009-04-04 Joel E. Denny + + Remove spurious initial empty lines. + * data/location.cc: End the @output lines with an @. + +2008-11-04 Akim Demaille + + Remove spurious initial empty lines. + * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java, + * data/yacc.c: End the @output lines with an @. + +2009-04-04 Joel E. Denny + + Replace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4. + If the first m4 in $PATH is wrong, it keeps looking. Moreover, its + requirements for a correct m4 are stricter. + * m4/m4.m4: Replace with Autoconf 2.63's m4/m4.m4. + * configure.ac: Update to use AC_PROG_GNU_M4. + Reported by Eric Blake. + +2009-04-03 Joel E. Denny + + Help with updating web manual. + * HACKING: Incorporate instructions from gnulib/doc/README. + * bootstrap.conf (gnulib_modules): Add gendocs. + +2009-04-03 Joel E. Denny + + Fix strange %define locations for default values. + Reported by Akim Demaille at + + and discussed again starting at + . + * data/bison.m4 (b4_percent_define_default): Leave syncline blank + because location information is bogus. + Use angle brackets to delimit fake file name because square brackets + look like underexpanded m4. Choose a better fake file name. + Use negative line numbers. + * src/muscle_tab.c (muscle_percent_define_default): Likewise. + * src/location.c (location_print): If line for a boundary is negative, + only print that boundary's file name. + * src/location.h: Document that. + * tests/skeletons.at (%define Boolean variables: invalid skeleton + defaults): Update output. + +2008-11-07 Akim Demaille + + Locations without columns for command line arguments. + * src/location.c (location_print): Don't display negative columns. + * src/location.h: Document this. + +2009-02-03 Joel E. Denny + + Add reminder about uploading public key to keys.gnupg.net. + * HACKING (Release Procedure): Here. + +2009-03-31 Akim Demaille + + bootstrap: --help to stdout. + * bootstrap (usage): Don't send --help to stderr. + Use a here doc instead of a long string. + +2009-03-31 Akim Demaille + + bootstrap: README-hacking no longer exists + * bootstrap (checkout_only_file): Set to HACKING. + +2009-03-26 Akim Demaille + + doc: merge HACKING and README-hacking. + Two files is confusing. + Reported by Alexandre Duret-Lutz. + + * README-hacking: Merge into... + * HACKING (Working from the repository): here. + +2009-03-26 Akim Demaille + + doc: update README-hacking. + * README-hacking: We now use git and git submodules. + Reported by Ralf Wildenhues and Alexandre Duret-Lutz. + +2009-03-26 Akim Demaille + + lalr1.cc: avoid GCC 4.3 warnings. + GCC 4.3 now warns about "a || b && c" and asks for explicit + parentheses. + Reported by Alexandre Duret-Lutz. + * data/location.cc: Update copyright years. + (Position::operator==): Use parens to make precedence explicit. + Compare lines and columns first, as they are more likely to be + different, and they are faster to compare. + +2009-03-26 Akim Demaille + + gnulib: update. + * gnulib: Update to latest. + * lib/Makefile.am (AM_CPPFLAGS): It is now defined by gnulib, so + use +=. + +2009-01-08 Akim Demaille + + Fix grep portability issues. + Grep on Solaris does not support -q. + Reported by Summum Bonum. + + * NEWS: Add a stub for 2.4.2. + * THANKS: Add Summum Bonum. + * tests/atlocal.in (EGREP): New. + (CC, CXX, XSLTPROC): Make it possible to override them via + envvars. + * tests/java.at: Use $EGREP instead of egrep. + Use AT_CHECK's ignore instead of grep's -q. + +2008-12-11 Joel E. Denny + + Version 2.4.1. + * NEWS: Set version and date. + * lib/Makefile.am: Update copyright year. + * tests/atlocal.in: Update copyright year. + +2008-12-11 Joel E. Denny + + Semicolon feature removal is not about future language support. + * NEWS: The semicolon feature is no longer active for newer languages, + so don't claim that it causes trouble for them. + +2008-12-11 Joel E. Denny + + * gnulib: Update submodule to HEAD. + +2008-12-09 Akim Demaille + + Update data/README. + * data/README: Document glr.cc, lalr1.java, m4sugar and xslt. + +2008-12-05 Eric Blake + + Build testsuite with newer autoconf. + * tests/output.at (m4_expand): Don't override in newer autoconf, + where the underlying implementation changed. + * tests/cxx-type.at (_AT_RESOLVED_GLR_OUTPUT) + (_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT) + (_AT_AMBIG_GLR_OUTPUT_WITH_LOC, _AT_GLR_STDERR) + (_AT_VERBOSE_GLR_STDERR): Expand to double-quoted strings, + since some of them contain unbalanced ')'. + +2008-11-19 Joel E. Denny + + * NEWS: Clarify a little. + +2008-11-19 Joel E. Denny + + * NEWS: Update for recent changes. + +2008-11-18 Joel E. Denny + + Fix unexpanded macros in GLR defines file. + Reported by Csaba Raduly at + . + * THANKS (Csaba Raduly): Add. + * data/glr.c: Fix overquoting on b4_prefix for yylval and yylloc. + * tests/calc.at (_AT_DATA_CALC_Y): If %defines is specified, generate + lexer in a separate module that includes the defines file. + (AT_CHECK_CALC): Use AT_FULL_COMPILE and request compilation of lexer + source. + * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_DEFINES_IF. + Adjust AT_LOC and AT_VAL to use AT_NAME_PREFIX. + (AT_BISON_OPTION_POPDEFS): Pop AT_DEFINES_IF. + (AT_DATA_SOURCE_PROLOGUE): New. + (AT_DATA_GRAMMAR_PROLOGUE): Use AT_DATA_SOURCE_PROLOGUE. + (AT_DATA_SOURCE): New. + (AT_FULL_COMPILE): New, copied from master branch and extended to + support an additional source file. + +2008-11-17 Joel E. Denny + + Don't let maintainer-*-check targets force a version update. + * cfg.mk (_is-dist-target): Implement. maintainer-check* was already + handled. + +2008-11-17 Di-an Jan + + * doc/bison.texinfo: Synchronize ``Detail Node Listing''. + Align menus. Adjust word wrapping. Use node names for menu names. + (Examples): Don't abbreviate node names. + (LocalWords): Remove abbreviations. + (Copying): Make description a sentence. + (Java Action Features): Remove period to match the rest of menu. + +2008-11-11 Paolo Bonzini + + * bootstrap.conf: Replace m4/warning.m4 with warnings module. + * configure.ac: Adjust usage. + * lib/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS). + * src/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS). + * tests/atlocal.in: Replace $(WARNING_*FLAGS) with $(WARN_*FLAGS). + +2008-11-07 Joel E. Denny + + Don't add a semicolon to actions for %skeleton or %language. + It breaks Java test cases as reported by Akim Demaille. + * src/scan-code.l: Implement. + +2008-11-07 Joel E. Denny + + Clean up %skeleton and %language priority implementation. + * src/getargs.c (skeleton_prio): Use default_prio rather than 2, and + remove static qualifier because others will soon need to see it. + (language_prio): Likewise. + (getargs): Use command_line_prio rather than 0. + * src/getargs.h (command_line_prio, grammar_prio, default_prio): New + enum fields. + (skeleton_prio): Extern it. + (language_prio): Extern it. + * src/parse-gram.y: Use grammar_prio rather than 1. + +2008-11-04 Akim Demaille + + * NEWS: Mention the trailing semicolon in action. + +2008-11-04 Akim Demaille + + Reformat NEWS. + * NEWS: Use more outline-mode markup. + Suggested by Jim Meyering. + +2008-11-04 Joel E. Denny + + Fix user actions without a trailing semicolon. + Reported by Sergei Steshenko at + . + * THANKS (Sergei Steshenko): Add. + * src/scan-code.l (SC_RULE_ACTION): Fix it. + * tests/regression.at (Fix user actions without a trailing semicolon): + New test case. + +2008-11-02 Joel E. Denny + + Initiate further development. + * NEWS: Create an empty section for new entries. + * gnulib: Update submodule to HEAD. + +2008-11-02 Joel E. Denny + + * NEWS: Version 2.4. + +2008-11-02 Joel E. Denny + + Prepare for next release. + * NEWS: Briefly mention changes since 2.3b. + * README: Say GNU m4 1.4.6, which we've been requiring in release + announcements already, not 1.4.3, which breaks the build. + +2008-11-02 Joel E. Denny + + Say %language is experimental. + We're thinking of extending it's effect on output file naming. See the + thread at + . + * NEWS: Say it's experimental. + * doc/bison.texinfo (Decl Summary): Say it's experimental, and so don't + recommend it over %skeleton for now. + (Bison Options): Likewise. + (C++ Bison Interface): Use %skeleton not %language. + (Calc++ Parser): Use %skeleton not %language. + * src/getargs.c (usage): Say it's experimental. + +2008-11-01 Di-an Jan + Paolo Bonzini + + Support all Java parser class modifiers. + * data/java.m4 (b4_percent_define_get3): New. + (b4_final_if, b4_strictfp_if): New. + * data/lalr1.java (final, strictfp, extends, implements): Support. + * doc/bison.texinfo (final, strictfp, extends, implements): Add + documentation. + * tests/java.at (AT_CHECK_JAVA_MINIMAL): New. + (AT_CHECK_JAVA_MINIMAL_W_LEXER): New. + (AT_CHECK_JAVA_GREP): New. + (Java parser class modifiers): New test. + (Java parser class extends and implements): New test. + + Model exception propagation better with throws and lex_throws. + * data/java.m4 (b4_list2): New. + (throws): Change default. + * data/lalr1.java (yyaction): Add throws. + (parse): Add lex_throws in addition to throws. + * doc/bison.texinfo (throws, lex_throws): Add documentation. + * tests/java.at (Java throws specifications): New test. + + Improve documentation for Java parsers. + * doc/bison.texinfo (Java Parsers): Add subsections. + Don't quote first argument of %define. + (Java Bison Interface): Document output files. Move documentation + of parser class and merge into Java Parser Interface. Document + features that error out. Document directives with no effect. + Move note about Javadoc higher. + (Java Semantic Values): Explicitly mention stype. + Document that generic types cannot be used. + (Java Location Values): Use @deftypeivar. Document constructors. + Correct return value for toString. + (Java Parser Interface): List undocumented constants/fields. + Move documentation of fields added by %parse-param closer to list + of members. Document that token names are added as fields. + Document constructors accurately. Remove error method. + (Java Scanner Interface): Move note on %pure-parser to Java Bison + Interface. Describe %code lexer and yylex accutately. + Remove documentation that does not match the code. + (Java Action Features): New. + (Java Differences): Add reference. Add item on semantic values. + Add note about @{ ... @}. Clarify %% epilogue placement. + (Java Declarations Summary): New. + + Fix Java skeleton. + * data/java.m4 (b4_prefix): Correct quoting for m4_define_default. + (b4_remove_comma): Quote test argument. + (b4_identification): Remove "bison" field. + * tests/java.at (Java parser class and package names): New test. + (Java %parse-param and %lex-param): New test. + (Java stype, position_class and location_class): New test. + +2008-10-31 Di-an Jan + + * data/lalr1.jave: Update copyright years. + (YYParser): Correct name of "generated from" file in Javadoc: + use b4_file_name instead of @ofile@. + (Location constructor): Correct Javadoc parameter name. + (yylloc): Add missing opening m4 quote after b4_location_if. + This removes a stray [ in the Javadoc of Lexer.getStartPos. + (Lexer.yyerror): Fix incorrect m4 and Javadoc. + (YYParser constructor): Correct Javadoc parameter name. + +2008-10-30 Joel E. Denny + + Always put auxiliary code files in the same dir as other output files. + * src/files.c (compute_file_name_parts): When the user specifies + --output but not --file-prefix, extract the directory prefix from the + file prefix not from the grammar file name. This affects the location + of files like location.hh generated by the C++ skeleton. The includes + in the other output files require this fix. + * tests/output.at (AT_CHECK_OUTPUT): Automatically create directories + for expected output files. + (Output files): Add a test for the above. + +2008-10-29 Joel E. Denny + + * gnulib: Update submodule to HEAD. + +2008-10-28 Joel E. Denny + + Update copyright year. + * src/files.c: Here. + +2008-10-28 Di-an Jan (tiny change) + + Don't overwrite the input file. + * src/files.c (output_file_name_check): Fatal error if using input file + for output. + * tests/output.at: (AT_CHECK_CONFLICTING_OUTPUT): Add return status + argument. + (Conflicting output files): Add test. + +2008-10-28 Akim Demaille + + Space changes. + * data/lalr1.cc: Formatting changes. + +2008-10-28 Akim Demaille + + Don't define debugging functions when !YYDEBUG. + * data/lalr1.cc (debug_stream, set_debug_stream) + (debug_level_type, debug_level, set_debug_level): Don't + declare them when YYDEBUG is not defined. + The implementation are already YYDEBUG-aware. + +2008-10-28 Akim Demaille + + Prefer "continue" for empty loop bodies. + * etc/bench.pl.in: Use "continue" instead of {}. + +2008-10-28 Akim Demaille + + Space and comments changes. + * data/c++.m4, data/glr.c, data/lalr1.cc: Copyright year changes. + * data/c.m4, data/lalr1.cc: Space changes. + +2008-10-28 Akim Demaille + + Make gnulib a submodule. + * gnulib: New. + * .gitmodules (gnulib): New. + +2008-10-18 Joel E. Denny + + Fix yyerror_range for user-defined location type in C++. Reported by + Georg Sauthoff at + . + * data/lalr1.cc (parse): Change type of yyerror_range to location_type. + * THANKS (Georg Sauthoff): Add. + +2008-10-18 Joel E. Denny + + Update several administrative files mainly to facilitate releasing. + * HACKING (Administrivia): Make the git-merge-changelog notes more + helpful. + (Test suite): Don't say lalr1.cc is not exercised in the test suite. + (Release Procedure): Update for git and add numerous details that were + previously missing. + * Makefile.am (EXTRA_DIST): Remove Makefile.cfg and Makefile.maint. + * maint.mk (announcement): Don't list bison as a bootstrap tool so + that announcements don't claim we bootstrapped with whatever bison + happened to be in PATH. Add flex as a bootstrap tool. + * Makefile.maint: Remove, previously replaced by maint.mk. + * Makefile.cfg: Remove, and migrate settings to... + * cfg.mk: ... here for the sake of `make announcement'. + * bootstrap.conf (gnulib_modules): Add announce-gen. + * README: Say GNU Bison instead of just Bison. Suggested by Karl + Berry. + +2008-10-08 Di-an Jan (tiny change) + + Small but important bugfixes for the Java skeleton. + * data/lalr1.java (yyerror): Change Location to b4_location_type. + (yy_symbol_print): Call toString on yyvaluep. + +2008-08-29 Akim Demaille + + Clarify UPDATED use. + * doc/bison.texinfo: It refers to the last edition of this file, + not to the release date of Bison. + Reported by Joel E. Denny. + +2008-08-29 Akim Demaille + + * README: Update FAQ pointer. + Reported by Joel E. Denny. + +2008-08-27 Eric Blake + + Resync m4sugar from autoconf. + * data/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine) + (m4_init): Adjust to latest m4.git changes. + (m4_mapall_sep, _m4_list_cmp, m4_version_compare): Reduce side + effects. + * data/m4sugar/foreach.m4 (_m4_shiftn): Fix off-by-one bug. + (_m4_list_cmp): Reduce side effects. + +2008-08-27 Akim Demaille + + Check yyerrok in calc.at. + * tests/calc.at (calc.y): Use yyerrok on "( error )". + (AT_CHECK_CALC): Add a check that ensures that yyerrok works as + expected. + +2008-08-27 Akim Demaille + + Support yyerrok in lalr1.cc. + YYBACKUP is still to import back into lalr1.cc. + * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define. + +2008-08-26 Joel E. Denny + + For maintainer-check*, don't recompile for a $(VERSION) update. + * cfg.mk: New file. + (_is-dist-target): Override the one in GNUmakefile. + * Makefile.am (EXTRA_DIST): Add cfg.mk. + +2008-08-26 Joel E. Denny + + Update for recent change to gnulib. + * src/parse-gram.y: Don't include strverscmp.h. It comes from + string.h now. + +2008-08-15 Eric Blake + + Remaining m4sugar merge from autoconf. + * data/m4sugar/m4sugar.m4: Copy entire file from autoconf. + * data/m4sugar/foreach.m4: New file, copied from autoconf. + * data/Makefile.am (dist_m4sugar_DATA): Distribute it. + * src/output.c (output_skeleton): Tell m4 how to find it. + + Partial m4sugar merge from autoconf: m4_map. + * data/m4sugar/m4sugar.m4 (m4_fst): Delete. + (m4_map, m4_map_sep, _m4_map): Rewrite more efficiently. + (m4_apply, _m4_apply, m4_mapall, m4_mapall_sep): New macros. + * data/java.m4 (b4_token_enums): Use more efficient short-circuit + for empty list. + * data/c.m4 (b4_token_defines, b4_token_enums, b4_c_ansi_formals): + Likewise. + (b4_parse_param_for): Avoid m4_fst, now that autoconf no longer + declares it. + +2008-08-07 Joel E. Denny + + Keep .version and PACKAGE_VERSION in sync. + * Makefile.am ($(top_srcdir)/.version): Declare configure as a + dependency, and add comments justifying this in more detail. Discussed + starting at + . + +2008-08-06 Eric Blake + + Partial m4sugar merge from autoconf: m4_shiftn. + * data/m4sugar/m4sugar.m4 (m4_shiftn): Faster implementation. + (m4_shift2, m4_shift3): New macros. + (m4_case, m4_bmatch, m4_bpatsubsts, m4_join): Adjust clients. + * data/c.m4 (b4_c_function_def, b4_c_ansi_function_def) + (b4_c_ansi_function_decl, b4_c_function_call): Likewise. + * data/java.m4 (b4_remove_comma): Likewise. + + Partial m4sugar merge from autoconf: m4_wrap vs. m4 1.6. + * data/m4sugar/m4sugar.m4 (m4_unquote, m4_wrap_lifo): New macros. + (m4_wrap): Guarantee FIFO order, in spite of m4 1.6. + (m4_init): Consolidate wrapped text into single m4_wrap. + * data/bison.m4 (b4_check_user_names_wrap): Stick with LIFO order + in wrapped text. + +2008-08-05 Eric Blake + + Partial m4sugar merge from autoconf: builtins, version.m4. + * data/m4sugar/m4sugar.m4 (changeword): Nuke. + (m4_prepend): Remove, as it is unused and inherently quadratic, + whereas m4_append is linear in newer m4. + (m4_mkstemp): New builtin. + (m4_symbols): Make rename conditional. + (m4_version_prereq): Ensure fatal error if used in bison, which + intentionally lacks version.m4. + + Fix comments in m4sugar. + * data/m4sugar/m4sugar.m4: Comment changes, borrowed from autoconf. + +2008-08-02 Joel E. Denny + + Update for recent .gitignore fix in Gnulib. + * bootstrap: Back out 2008-07-18 hack now that gnulib-tool creates + anchored .gitignore entries. + +2008-08-02 Joel E. Denny + + Set gnu or gnits strictness. + * configure.ac (AM_INIT_AUTOMAKE): Set gnu strictness during + development and gnits strictness for releases. Based on Eric Blake's + suggestion at + . + +2008-07-31 Paolo Bonzini + + * NEWS: Clarify documentation of %language. + +2008-07-31 Paolo Bonzini + + Support usage of git-merge-changelog. + * .gitattributes: New. + * HACKING: Document usage of git-merge-changelog. + * bootstrap: Install git-merge-changelog entries in .git/config + if appropriate. + +2008-07-27 Joel E. Denny + + Remove remaining dependence on CVS Id keyword. + * ChangeLog: For the sake of people still using CVS, don't use dollars + when mentioning Id. + * data/xslt/bison.xsl: Remove Id from header comments, where it was + unusual anyway. + * data/xslt/xml2dot.xsl: Likewise. + * data/xslt/xml2text.xsl: Likewise. + * data/xslt/xml2xhtml.xsl: Likewise. + * doc/Doxyfile.in (PROJECT_NUMBER): Don't use ID. + * doc/Makefile.am (neutralize): Remove, no longer needed. + (.x.1): Don't use neutralize. + (edit): Don't substitute for ID. + (Doxyfile): Don't define Id, and thus don't depend on ChangeLog. + +2008-07-27 Joel E. Denny + + Fix dependence on computed configure variables. + * doc/Makefile.am (common_dep): Depend on $(top_srcdir)/configure not + $(top_srcdir)/configure.ac so that changes to computed variables, such + as PACKAGE_VERSION, are seen. + * tests/Makefile.am ($(srcdir)/package.m4): Likewise. + 2008-07-20 Joel E. Denny Update copyright dates for recent changes. @@ -13,7 +1196,7 @@ * .gitignore (/.tarball-version, /GNUmakefile, /*~): Add. * .prev-version: New. * .version.in: Remove. - * ChangeLog: Remove the $Id$ previously used for capturing the CVS + * ChangeLog: Remove the Id previously used for capturing the CVS revision. * GNUmakefile: Remove, now copied from Gnulib. * Makefile.am: Add code suggested by comments in @@ -3463,9 +4646,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'. @@ -20638,9 +21824,8 @@ ----- - Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, - 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 - Free Software Foundation, Inc. + Copyright (C) 1987-1988, 1991-2010 Free Software Foundation, + Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this