]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Include local.at, not input.at, fixing a typo in the 2003-08-25 patch.
[bison.git] / ChangeLog
index cb9186f78449c27a30b857d5ef76c4538119da6c..466d8de89753921a8248e79c65ee1a3164853c09 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,311 @@
+2003-08-27  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (yyparse) [__GNUC__]: "Use" yyerrorlab to pacify
+       GCC warnings.
+
+2003-08-26  Akim Demaille  <akim@epita.fr>
+
+       * config/announce-gen (print_changelog_deltas): Neutralize "<#" as
+       "<\#" to avoid magic from Gnus when posting parts of this script.
+
+2003-08-26  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::report_syntax_error_): New, extracted from
+       (Parser::parse): here.
+       Adjust: nerrs and errstatus is now replaced by...
+       (Parser::nerrs_, Parser::errstatus_): New.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * config/announce-gen, Makefile.cfg: New.
+       * Makefile.am: Adjust.
+       * GNUmakefile, Makefile.maint: Update from CVS Autoconf, but
+       keeping local WGET and WGETFLAGS modifications from Paul Eggert.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       When reducing initial empty rules, Bison parser read an initial
+       location that is not defined.  This results in garbage, and that
+       affects Bison's own parser.  Therefore we need (i) to extend Bison
+       to support a means to initialize this location, and (ii) to use
+       this CVS Bison to fix CVS Bison's parser.
+
+       * src/reader.h, reader.c (epilogue_augment): Remove, replace
+       with...
+       * src/muscle_tab.h, src/muscle_tab.c (muscle_code_grow): this.
+       * src/parse-gram.y: Adjust.
+       (%initial-action): New.
+       (%error-verbose): Since we require CVS Bison, there is no reason
+       not to use it.
+       * src/scan-gram.l: Adjust.
+       * src/Makefile.am (YACC): New, to make sure we use our own parser.
+       * data/yacc.c (yyparse): Use b4_initial_action.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: Don't promote stdout for error messages.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::reduce_print_): Remove unused yyi.
+       From Alexandre Duret-Lutz.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::stack_print_, YY_STACK_PRINT): New.
+       Use them.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       * data/lalr1.cc (Parser::reduce_print_): New.
+       Use it.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       Have lalr1.cc catch with Paul Eggert's patch to fix the infinite
+       error recovery loops.  This patch is based on
+       <http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00000.html>.
+       Also, augment the similarity between lalr1.cc and yacc.c.
+       Note: the locations of error recovery rules are not correct yet.
+
+       * data/lalr1.cc: Comment changes to augment the similarity between
+       lalr1.cc and yacc.c.
+       (YYERROR): Goto to yyerrorlab, not yyerrlab1.
+       (yyerrlab1): Remove, but where it used to be (now the bottom part of
+       yyerrlab), when hitting EOF, pop the whole stack here instead of
+       merely falling thru the default error handling mechanism.
+       (yyerrorlab): New label, with the old contents of YYERROR,
+       plus the following change: pop the stack of rhs corresponding
+       to the production that invoked YYERROR.  That is how Yacc
+       behaves (required by POSIX).
+       * tests/calc.at (AT_CHECK_CALC_LALR1_CC): No longer expected to
+       fail.
+
+2003-08-25  Akim Demaille  <akim@epita.fr>
+
+       Tune local.at so that people can "autom4te -l autotest calc.at -o
+       calc" for instance, to extract a sub test suite.
+
+       * tests/testsuite.at: Move the initialization, Autotest version
+       requirement, and AT_TESTED invocation into...
+       * tests/local.at: here.
+       * tests/testsuite.at: Include it for compatibility with Autoconf
+       2.57.
+       * tests/Makefile.am ($(TESTSUITE)): Report that the warning should
+       be ignore.
+
+2003-08-04  Paul Eggert  <eggert@twinsun.com>
+
+       Rework code slightly to avoid gcc -Wtraditional warnings.
+       * data/glr.c (yyuserMerge): Return void, not YYSTYPE.
+       The returned value is now stored in *YY0.  All callers changed.
+       * src/output.c (merge_output): Adjust to the above change.
+
+2003-07-26  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (YYASSERT): New macro.
+       (yyfillin, yydoAction, yyglrReduce, yysplitStack,
+       yyresolveStates, yyprocessOneStack):
+       Use `YYASSERT (FOO);' rather than `if (! (FOO)) abort ();'.
+       Derived from a suggestion by Frank Heckenbach.
+
+2003-07-25  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (yyglrReduce): Don't use C89 string concatenation,
+       for portability to K&R C (after ansi2knr, presumably).  See
+       <http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>
+       by Frank Heckenbach, though I have omitted the structure-initialization
+       part of his glr-knr.diff patch since I recall that the Portable
+       C Compiler didn't require that change.
+
+       Let the user specify how to allocate and free memory.
+       Derived from a suggestion by Frank Heckenbach in
+       <http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>.
+       * data/glr.c (YYFREE, YYMALLOC, YYREALLOC): New macros.
+       All uses of free, malloc, realloc changed to use these macros,
+       and unnecessary casts removed.
+       * data/yacc.c (YYFREE, YYMALLOC): Likewise.
+
+2003-07-06  Matthias Mann  <MatthiasMann@gmx.de>
+
+       * data/lalr1.cc (operator<<(std::ostream&, const Position&)):
+       use s.empty() rather than s == "" to test for empty string; see
+       <http://mail.gnu.org/archive/html/bison-patches/2003-07/msg00003.html>
+       (trivial change)
+
+2003-06-25  Akim Demaille  <akim@epita.fr>
+
+       * config/depcomp, config/install-sh: Update from masters.
+
+2003-06-20  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (YYLLOC_DEFAULT): Parenthesize arguments as needed,
+       and return properly parenthesized result.
+       * data/lalar1.cc (YYLLOC_DEFAULT): Likewise.
+       * data/yacc.c (YYLLOC_DEFAULT): Likewise.
+       Remove unnecessary parentheses from uses.
+       * doc/bison.texinfo (Location Default Action): Describe the
+       conventions for parentheses.
+
+2003-06-19  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (yyremoveDeletes, yy_reduce_print, yyglrReduce,
+       yyreportTree): Do not assume that size_t is the same width as int,
+       when printing sizes.  Print sizes using an unsigned format.
+       Problem reported by Frank Heckenbach in
+       <http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00035.html>.
+
+       Port to Forte Developer 7 C compiler.
+       * data/glr.c (struct YYLTYPE): If locations are not being used,
+       declare a single dummy member, as empty structs do not conform
+       to the C standard.
+       (YYERROR, YYBACKUP): Do not use "do { ...; return foo; } while (0)";
+       the Forte Developer 7 C compiler complains that end-of-loop
+       code is not reached.
+
+2003-06-17  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/libiberty.h (PARAMS): Spell argument as Args, not as X, to
+       avoid warnings from picky compilers about redefinition of PARAMS.
+
+2003-06-17  Paul Eggert  <eggert@twinsun.com>
+
+       Version 1.875b.
+
+       * NEWS: Document 1.875b.
+
+       * lib/bbitset.h: Do not include config.h; that's the includer's job.
+       Do not include <sys/types.h>; shouldn't be needed on a C89 host.
+       * lib/bitset.h (bitset_compatible_p): Indent as per GNU standard.
+       Don't use 'index' in comments, as it's a builtin fn on some hosts.
+       * lib/bitset_stats.c: Include gettext.h unconditionally, as
+       per recent gettext manual's suggestion.
+       * lib/ebitset.c (ebitset_resize, ebitset_unused_clear):
+       Use prototypes, not old-style definitions.
+       * lib/lbitset.c (lbitset_unused_clear): Likewise.
+       * lib/vbitset.c (vbitset_resize, vbitset_ones, vbitset_zero,
+       vbitset_empty_p, vbitset_copy1, vbitset_not, vbitset_equal_p,
+       vbitset_subset_p, vbitset_disjoint_p, vbitset_and, vbitset_and_cmp,
+       vbitset_andn, vbitset_andn_cmp, vbitset_or, vbitset_or_cmp,
+       vbitset_xor, vbitset_xor_cmp, vbitset_and_or, vbitset_and_or_cmp,
+       vbitset_andn_or, vbitset_andn_or_cmp, vbitset_or_and,
+       vbitset_or_and_cmp, vbitset_copy): Likewise.
+
+       * lib/libiberty.h: Do not include config.h; that's the includer's job.
+       Do not include <stdlib.h>.
+       (PARAMS): Define unconditionally for C89.
+       (ATTRIBUTE_NORETURN): Remove.
+       (ATTRIBUTE_UNUSED): Define unconditionally.
+
+       Upgrade to 2003-06-08 libbitset, submitted by Michael Hayes in:
+       <http://mail.gnu.org/archive/html/bison-patches/2003-06/msg00005.html>
+       * lib/Makefile.am (bitsets_sources): Add vbitset.c, vbitset.h.
+       * lib/vbitset.c, lib/vbitset.h: New files.
+       * lib/abitset.c, lib/bbitset.h, lib/bitset.c, lib/bitset.h,
+       lib/bitset_stats.c, lib/ebitset.c, lib/lbitset.c: Import
+       from libbitset.
+
+       * doc/bison.texinfo (How Can I Reset the Parser): Renamed from
+       `How Can I Reset @code{yyparse}', since texinfo does not allow
+       arbitrary @ in node names.
+
+       * m4/Makefile.am (EXTRA_DIST): Add the following files, which
+       shouldn't be needed according to the gettext 0.12.1 documentation
+       but which seem to be needed anyway: codeset.m4 glibc21.m4
+       intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4
+       lcmessage.m4 nls.m4 po.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4.
+       * po/Makefile.in.in: Upgrade to gettext 0.12.1 version.
+
+       * lib/.cvsignore: Add stdbool.h.
+       * m4/.cvsignore: Add nls.m4, po.m4.
+
+       Upgrade to CVS gnulib.
+       * stdbool_.h: File renamed from stdbool.h.in.
+       * configure.ac (AM_STDBOOL_H): Invoke this instead of
+       AC_HEADER_STDBOOL.
+       (AM_GNU_GETTEXT): Put brackets around args, as latest manual suggests.
+       (AM_GNU_GETTEXT_VERSION): Update to 0.12.1.
+       * lib/Makefile.am (EXTRA_DIST): Add stdbool_.h.
+       (MOSTLYCLEANFILES): New var.
+       ($(libbison_a_OBJECTS)): Depend on $(STDBOOL_H).
+       (stdbool.h): New rule.
+       * lib/dirname.c, lib/dirname.h, lib/hash.c, lib/hash.h,
+       lib/malloc.c, lib/obstack.h, lib/quote.c, lib/realloc.c,
+       lib/strcasecmp.c, lib/xalloc.h, m4/alloca.m4, m4/onceonly.m4,
+       m4/quote.m4: Upgrade to today's gnulib.
+
+       * tests/calc.at (AT_CHECK_CALC): New option EXPECTED-TO-FAIL.
+       (AT_CHECK_CALC_LALR1_CC): Use it, since the C++ LALR parser fails
+       the tests right now.
+       * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Ensure yylex and
+       yyerror are declared before use; C99 requires this.
+
+2003-06-09  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
+
+       * data/glr.c (YYERROR): Update definition to reset yyerrState to 0
+       first.
+       (yyrecoverSyntaxError): Correct the logic for setting and testing
+       yyerrState.
+       Correct comment on handling EOF.
+       Allow states with only a default reduction, rather than failing
+       (I can't quite reconstruct why these were not allowed before).
+
+       Fixes to avoid problem that $-N rules in GLR parsers can cause
+       buffer overruns, corrupting state.
+
+       * src/output.c (prepare_rules): Output max_left_semantic_context
+       definition.
+       * src/reader.h (max_left_semantic_context): New variable declaration.
+       * src/scan-gram.l (max_left_semantic_context): Define.
+       (handle_action_dollar): Update max_left_semantic_context.
+       * data/glr.c (YYMAXLEFT): New definition.
+       (yydoAction): Increase size of yyrhsVals by YYMAXLEFT.
+       (yyresolveAction): Ditto.
+
+       Fixes to problems with location handling in GLR parsers reported by
+       Frank Heckenbach (2003/06/05).
+
+       * data/glr.c (YYLTYPE): Make trivial if locations not used.
+       (YYRHSLOC): Add parentheses, and define only if locations used.
+       (YYLLOC_DEFAULT): Add parentheses, and give trivial definition if
+       locations not used.
+       (yyuserAction): Use YYLLOC_DEFAULT to set *yylocp.
+       (yydoAction): Remove redundant initialization of *yyvalp and *yylocp.
+
+       * tests/cxx-type.at: Exercise location information; update tests
+       to differentiate output with and without locations.
+       Remove forward declarations of yylex and yyerror---caused errors
+       because default YYLTYPE not yet defined.
+       Change semantic actions to compute strings, rather than printing
+       them directly (to test proper passing of semantics values).  Change
+       output to prefix notation and update test data and expected results.
+       (yylex): Track locations.
+       (stmtMerge): Return value rather than printing, and include arguments
+       in value.
+
+2003-06-03  Paul Eggert  <eggert@twinsun.com>
+
+       Avoid warnings generated by GCC 2.95.4 when Bison is
+       configured with --enable-gcc-warnings.
+       * data/lalr1.cc (yy::]b4_parser_class_name[::parse,
+       yy::]b4_parser_class_name[::translate_,
+       yy::Stack::operator[] (unsigned),
+       yy::Stack::operator[] (unsigned) const,
+       yy::Slice::operator[] (unsigned),
+       yy::Slice::operator[] (unsigned) const):
+       Rename local vars to avoid warnings.
+       * tests/glr-regression.at (Improper handling of embedded actions
+       and $-N in GLR parsers): Remove unused local variable from yylex.
+       * tests/regression.at (_AT_DATA_DANCER_Y): Declare yylex to take
+       (void) as arg when not pure, since we now assume C89 when building
+       Bison.  Pacify GCC by using parameter.
+
+2003-06-02  Paul Eggert  <eggert@twinsun.com>
+
+       * data/lalr1.cc (yy::Position::lines, yy::Position::columns,
+       yy::Location::lines, yy::Location::columns): Rename arguments
+       to avoid shadowing; this removes a warning generated by GCC 3.3.
+
 2003-06-01  Paul Eggert  <eggert@twinsun.com>
 
        Don't pass C-only warning optins (e.g., -Wmissing-declarations)
 
 2002-06-11  Akim Demaille  <akim@epita.fr>
 
-       * src/reader.c  (parse_action): Don't store directly into the
+       * src/reader.c (parse_action): Don't store directly into the
        rule's action member: return the action as a string.
        Don't require `rule_length' as an argument: compute it.
        (grammar_current_rule_symbol_append)