]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Don't use IF_LINT in Bison sources.
[bison.git] / ChangeLog
index 0dcd1edfabeb0ae4437edeaa6e477ac63ceff8d0..143cbbf6cee4b393533949bd4a7539e5d817f7bf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,409 @@
+2011-05-14  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Don't use IF_LINT in Bison sources.
+       It creates unnecessary differences between the sources that Bison
+       maintainers build and test (given that maintainers normally
+       configure with --enable-gcc-warnings) and the sources that Bison
+       users build.  Instead, use PACIFY_CC, which doesn't.  This change
+       fixes compiler warnings reported by Tys Lefering at
+       <http://lists.gnu.org/archive/html/bison-patches/2011-05/msg00004.html>.
+       * configure.ac: Don't AC_DEFINE lint regardless of the configure
+       options.  This change affects imported gnulib sources, where
+       IF_LINT still appears and depends on lint.
+       * src/scan-gram.l, src/scan-skel.l: Replace uses of IF_LINT with
+       PACIFY_CC.
+       * src/system.h (IF_LINT): Remove cpp macro.
+       (PACIFY_CC): New cpp macro.
+
+2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Fix precedence for end token.
+       Since Bison 2.3b, which restored the ability of precedence
+       directives to assign user token numbers, doing so for user token
+       number 0 has produced an assertion failure.
+       * NEWS (2.5): Document fix.
+       * src/symtab.c (symbol_user_token_number_set): In the case of the
+       end token, don't decrement ntokens if it was never incremented.
+       * tests/regression.at (Token number in precedence declaration):
+       Extend.
+
+2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Pacify -DGNULIB_POSIXCHECK.
+       * bootstrap.conf (gnulib_modules): Add all modules suggested by
+       -DGNULIB_POSIXCHECK.
+       * src/files.c (file_name_split)
+       * src/getargs.c (getargs)
+       * src/location.c (boundary_set_from_string)
+       * src/output.c (output_skeleton)
+       * src/parse-gram.y (prologue_declaration)
+       * src/scan-gram.l (handle_syncline)
+       * src/symtab.c (symbol_new): Use mbschr and mbsrchr instead of
+       strchr and strrchr.  In the cases of command-line options, file
+       names, and thus locations, functionality may be improved.  In the
+       case of symbol names, there should be no functional difference as
+       all characters are ASCII, so the intended benefit is just warning
+       suppression.
+
+2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       * NEWS (2.5): Fix minor typos.
+
+2011-05-01  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up quotation style in NEWS.
+       * NEWS (2.5): For multi-character tokens in example grammar rules,
+       use "token" not 'token'.  In English, use a consistent quotation
+       style; we might as well follow the precedent seen in info pages:
+       `quote' not "quote".
+
+2011-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       tests: pacify gcc 4.6.0's -Wunused-but-set-variable.
+       Reported by Jim Meyering at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
+       * tests/actions.at
+       (Default %printer and %destructor for mid-rule values): Define
+       YYLLOC_DEFAULT so that it uses its Rhs argument.
+
+2011-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       glr.c: omit yyresolveLocations when locations are disabled.
+       This prevents gcc 4.6.0's -Wunused-but-set-variable from warning
+       about yyresolveLocations's local yyrhsloc.  When locations are
+       enabled, there's no such warning because YYLLOC_DEFAULT then uses
+       yyrhsloc.  Reported by Jim Meyering at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
+       * data/glr.c (yyresolveLocations): Omit definition when locations
+       are disabled.
+       (yyresolveValue): Omit yyresolveLocations invocation when
+       locations are disabled.
+
+2011-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       gnulib, autoconf: update.
+       * README-hacking (Updating a submodule): Give advice on how to
+       determine the versions of gnulib and autoconf to which we should
+       update.
+       (Release Procedure): Note that submodules should be updated.
+       * bootstrap.conf (gnulib_modules): Rename pipe to spawn-pipe as
+       suggested in updated gnulib NEWS.
+       * gnulib: Choose a stable snapshot according to advice in Bison's
+       README-hacking.
+       * po/POTFILES.in (lib/pipe.c): Rename to...
+       (lib/spawn-pipe.c): ... this.
+       * src/output.c: Update to include spawn-pipe.h.
+       * submodules/autoconf: Update to latest for improvement in m4.m4
+       that excludes M4 with buggy strstr.  The only other changes to
+       files that we use are copyright updates.
+
+2011-04-09  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Fix missing updates to GPLv3.
+       Reported by Tys Lefering at
+       <http://lists.gnu.org/archive/html/bison-patches/2011-04/msg00000.html>.
+       * src/print-xml.c, src/print-xml.h: In these files.
+
+2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Add -Wconflicts-sr and -Wconflicts-rr.
+       Thus, conflict reports are now affected by -Werror and -Wnone
+       (unless %expect or %expect-rr is specified).  Reported by George
+       Neuner at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-08/msg00002.html>.
+       * NEWS (2.5): Document.
+       * doc/bison.texinfo (Bison Options): Document.
+       * src/complain.c, src/complain.h (set_warning_issued): Export
+       function.
+       * src/conflicts.c (conflicts_print): Suppress conflict report
+       based on -Wno-conflicts-sr and -Wno-conflicts-rr, and treat
+       conflicts as errors if -Werror.
+       * src/getargs.c (warnings_flag): Initialize with
+       warnings_conflicts_sr and warnings_conflicts_rr as well.
+       (warnings_args, warnings_types): Add entries for
+       warnings_conflicts_sr and warnings_conflicts_rr.
+       (usage): Update.
+       * src/getargs.h (enum warnings): Add entries for
+       warnings_conflicts_sr and warnings_conflicts_rr.
+       * tests/conflicts.at (-W versus %expect and %expect-rr): New test
+       group.
+       * tests/local.at (AT_BISON_CHECK_NO_XML): Update now that the
+       conflict report can produce a "warnings being treated as errors"
+       message.  Also, check that stderr is now fully scrubbed by -Wnone
+       when the exit status is 0.
+
+2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Pacify maintainer-check-posix.
+       Adding command-line options after the grammar file name is not
+       permitted, so disable checks that do that when
+       maintainer-check-posix is running.
+       * tests/local.at (AT_BISON_CHECK_NO_XML): Don't run the
+       problematic checks when POSIXLY_CORRECT=1.  Also, for readability,
+       remove an unnecessary m4_if.
+
+2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Add -Wother so -Wnone suppresses all warnings.
+       Reported by George Neuner at
+       <http://lists.gnu.org/archive/html/bug-bison/2010-08/msg00002.html>.
+       * NEWS (2.5): Document.
+       * THANKS (George Neuner): Add.
+       * doc/bison.texinfo (Bison Options): Document.
+       * src/complain.c, src/complain.h
+       (warn_at, warn_at_indent, warn): Suppress warning if -Wno-other.
+       (midrule_value_at): New warning function, similar to yacc_at in
+       that it's controlled by its own warning category.
+       * src/getargs.c (warnings_flag): Initialize to warnings_other.
+       (warnings_args, warnings_types): Add entry for warnings_other.
+       (usage): Update.
+       * src/getargs.h (enum warnings): Add entry for warnings_other.
+       * src/gram.c (grammar_rules_useless_report): If -Wno-other, then
+       don't print useless rules.
+       * src/reader.c (symbol_should_be_used): Rather than adjusting the
+       return value based on whether midrule value warnings are enabled,
+       accept a new parameter for telling the caller whether true is
+       being returned for a potential midrule warning.
+       (grammar_rule_check): Use midrule_value_at for midrule value
+       warnings, and continue to use warn_at for all other warnings.  Let
+       them check whether the warnings are enabled.
+       * tests/local.at (AT_BISON_CHECK): Update documentation.
+       (AT_BISON_CHECK_NO_XML): Check that -Wnone and --warnings=none
+       disable all warnings exercised in the test suite.
+
+2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       Don't let -Wnone disable -Werror.
+       Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2010-08/msg00009.html>.
+       * NEWS (2.5): Document.
+       * src/getargs.c (flags_argmatch): Accept a new argument that
+       specifies what flags "all" and thus "none" affect.
+       (FLAGS_ARGMATCH): Update flags_argmatch invocation.
+       * tests/input.at (-Werror is not affected by -Wnone and -Wall):
+       New test group.
+
+2011-03-27  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       * NEWS (2.5): Document fix for -Wno-CATEGORY.
+
+2011-03-20  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: fix confusing citation of LAC publication.
+       Suggested by Akim Demaille.
+       * doc/bison.texinfo (LAC): Here.
+
+2011-03-20  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       lr.default-reductions: rename "full" value to "most".
+       Unlike "consistent" and "accepting", "full" doesn't answer the
+       question of "which states".
+       * doc/bison.texinfo (%define Summary): Update.
+       (Default Reductions): Update.
+       * src/print.c (print_reductions): Update.
+       * src/reader.c (prepare_percent_define_front_end_variables):
+       Update.
+       * src/tables.c (action_row): Update.
+       * tests/input.at (%define enum variables): Update.
+       * tests/reduce.at (%define lr.default-reductions): Update.
+
+2011-03-13  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       * src/parse-gram.c, src/parse-gram.h: Regenerate.
+
+2011-03-09  Akim Demaille  <akim@lrde.epita.fr>
+
+       named references: fix double free.
+       In `rhs[name]: "a" | "b"', do not free "name" twice.
+       Reported by Tys Lefering.
+       <http://lists.gnu.org/archive/html/bug-bison/2010-06/msg00002.html>
+       * src/named-ref.h, src/named-ref.c (named_ref_copy): New.
+       * src/parse-gram.y (current_lhs): Rename as...
+       (current_lhs_symbol): this.
+       (current_lhs): New function.  Use it to free the current lhs
+       named reference.
+       * src/reader.c: Bind lhs to a copy of the current named reference.
+       * src/symlist.c: Rely on free (0) being valid.
+       * tests/named-refs.at: Test this.
+
+2011-03-09  Akim Demaille  <akim@lrde.epita.fr>
+
+       tests: style changes.
+       * tests/named-refs.at (Redundant words in LHS brackets)
+       (Unresolved references): here.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       java: fix parser tracing bug.
+       * NEWS (2.5): Document.
+       * data/lalr1.java (YYParser::YYStack::print): Don't skip top
+       element.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       java: finish fixing parser stack popping bug.
+       * NEWS (2.5): Document.
+       * data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
+       in clearing the location stack.  Also fix pop function that
+       accepts no arguments.
+
+2011-03-06  Angelo Borsotti  <angelo.borsotti@gmail.com>  (tiny change)
+
+       java: fix parser stack popping bug.
+       Reported at
+       <http://lists.gnu.org/archive/html/bug-bison/2011-02/msg00005.html>.
+       * THANKS (Angelo Borsotti): Add.
+       * data/lalr1.java (YYParser::YYStack::pop): Fix off-by-one error
+       in clearing the value stack.  Previously, the top element of the
+       stack wasn't cleared and so the value was not garbage collected.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: cite publication for LAC.
+       * doc/bison.texinfo (LAC): Here.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up terminology for mysterious conflicts.
+       * doc/bison.texinfo (Mystery Conflicts): Rename node to...
+       (Mysterious Conflicts): ... this, which is already the section
+       title and the name used in the index.  Update all cross-references
+       to this node.  Also, don't imply that R/R conflicts are the only
+       kind of mysterious conflict.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       lr.default-reductions: rename "all" value to "full".
+       States that shift the error token do not have default reductions,
+       and GLR disables some default reductions, so "all" was a misnomer.
+       * doc/bison.texinfo (%define Summary): Update.
+       (Default Reductions): Update.
+       * src/print.c (print_reductions): Update.
+       * src/reader.c (prepare_percent_define_front_end_variables):
+       Update.
+       * src/tables.c (action_row): Update.
+       * tests/input.at (%define enum variables): Update.
+       * tests/reduce.at (%define lr.default-reductions): Update.
+
+2011-03-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: create a new Tuning LR section in the manual.
+       And clean up all other documentation of the features described
+       there.
+       * NEWS (2.5): Tweak wording of lr.type and parse.lac entries a
+       bit, update the cross-references to the manual, and point out that
+       LAC has caveats.  Don't be so adamant that IELR+LAC=canonical LR.
+       That is, as the referenced section in the manual documents, LAC
+       does not fix infinite parsing loops on syntax errors.
+       * doc/bison.texinfo: Consistently drop the "(1)" suffix from LALR,
+       IELR, and LR in @cindex.
+       (%define Summary): Condense the entries for lr.default-reductions,
+       lr.keep-unreachable-states, lr.type, and parse.lac into brief
+       summaries, and cross-reference the appropriate subsections of
+       Tuning LR.  For parse.lac, mention that it's only implemented for
+       deterministic parsers in C.  In parse.error entry, mention LAC,
+       and add cross-reference to the LAC section.
+       (Error Reporting): When mentioning parse.error, mention LAC, and
+       add cross-reference to the LAC section.
+       (Tuning LR): New section with an extended version of the
+       documentation removed from %define Summary.  Change all
+       cross-references in the manual to point here instead of there.
+       (Calc++ Parser): When mentioning parse.error, mention LAC, and add
+       cross-reference to the LAC section.
+       (Table of Symbols): In %error-verbose entry, add cross-reference
+       to Error Reporting.
+       (Glossary): Capitalize entry titles consistently.  Add definitions
+       for "defaulted state" and "unreachable state".  Expand IELR
+       acronym in IELR's entry.
+
+2011-02-20  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: add bibliography to manual.
+       * doc/bison.texinfo (Mystery Conflicts): Cross-reference
+       bibliography instead of citing publications directly.
+       (Generalized LR Parsing): Likewise.
+       (Bibliography): New section.  Not all entries are cross-referenced
+       yet, but that will come in future patches.
+
+2011-02-19  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       java: test and document previous bug fix.
+       * NEWS (2.5): Document it.
+       * tests/java.at (_AT_DATA_JAVA_CALC_Y): To one of the yyerror
+       invocations, pass a location that spans multiple tokens.  Change
+       yyerror to report all of a location rather than just the begin
+       position.  Extend yylex and Position to count tokens on a line.
+       Remove getHashCode as it's unused.  Update all expected output.
+
+2011-02-19  Bernd Kiefer  <kiefer@dfki.de>  (tiny change)
+
+       java: fix location handling bug.
+       Reported at
+       <http://lists.gnu.org/archive/html/bison-patches/2011-02/msg00005.html>.
+       * data/lalr1.java (YYParser::yylloc): For non-empty RHS, fix
+       reversed access to location stack.
+       * THANKS (Bernd Kiefer): Add.
+
+2011-02-13  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: fix some minor inconsistencies.
+       * doc/bison.texinfo (%define Summary): Fix mislabeled entry for
+       lex_symbol.
+       (%code Summary): For consistency with the variable list in the
+       %define Summary, enclose the list of %code qualifiers in a table
+       instead of an itemize.
+
+2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up new subsections in manual.
+       * doc/bison.texinfo (%define Summary): Reword so it reads well as
+       a separate section.  For example, add an intro, and move most of
+       the text outside of the @deffn so it is not indented so far.
+       (%code Summary): Likewise.
+       (Table of Symbols): Reword %code entry to match the %code entry in
+       Decl Summary.
+
+2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: finish splitting apart the manual's Decl Summary section.
+       Suggested by Akim Demaille at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00013.html>.
+       * doc/bison.texinfo (Decl Summary): Extract most of the %define
+       entry into...
+       (%define Summary): ... this new subsection, and update all
+       cross-references.  For readability of the patches, rewriting of
+       the text so it makes sense as a separate subsection will come in a
+       later patch.  Moreover, the majority of the text describing the
+       various new LR features should likely move to another new section
+       somewhere.
+
+2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: begin to split apart the manual's Decl Summary section.
+       Discussed in thread starting at
+       <http://lists.gnu.org/archive/html/bison-patches/2009-05/msg00013.html>.
+       * doc/bison.texinfo (Decl Summary): Extract most of the %code
+       entry into...
+       (%code Summary): ... this new subsection, and update all
+       cross-references.  For readability of the patches, rewriting of
+       the text so it makes sense as a separate subsection will come in a
+       later patch.
+
+2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
+
+       doc: clean up naming of various Bison files.
+       The Bison manual's names for various files associated with a Bison
+       parser has devolved into inconsistency.  This patch makes the
+       naming consistent for the most important files.  First, it chooses
+       "grammar file" over "input file".  The former appears to be more
+       traditional in the Bison manual, and Bison has other input
+       files (skeletons).  Second, it chooses "parser implementation
+       file" over names like "parser file", "parser source file", "parser
+       source code file", and "parser output file".  The new name makes
+       it clearer where Bison generates the main parser implementation,
+       and it is easily distinguishable from "parser header file".
+       * doc/bison.texinfo: Implement throughout.
+
 2011-02-06  Joel E. Denny  <joeldenny@joeldenny.org>
 
        doc: give credit to more of Bison's developers.