]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
* data/glr.c (YYSTACKEXPANDABLE): Do not evaluate
[bison.git] / ChangeLog
index 304afa2a7f9b7e38eb60aee0f5329135bc7461f5..90b5574a16057a16a20a85a907b886937852c69e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,236 @@
+2003-05-24  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c (YYSTACKEXPANDABLE): Do not evaluate
+       YYSTYPE_IS_TRIVIAL or YYSTYPE_IS_TRIVIAL unless they are defined.
+       This fixes a problem reported by John Bowman when the Compaq/HP
+       Alpha cxx compiler happy (e.g. using cxx -D__USE_STD_IOSTREAM
+       -ansi -Wall -gall).
+       * data/yacc.c (union yyalloc): Likewise.
+       (YYCOPY): Do not evaluate __GNUC__ unless it is defined.
+       
+       Switch from 'int' to 'bool' where that makes sense.
+
+       * lib/abitset.c (abitset_test, abitset_empty_p, abitset_equal_p,
+       abitset_subset_p, abitset_disjoint_p, abitset_and_cmp,
+       abitset_andn_cmp, abitset_or_cmp, abitset_xor_cmp, abitset_and_or,
+       abitset_and_or_cmp, abitset_andn_or_cmp, abitset_or_and_cmp):
+       Return or accept bool, not int.  All callers changed.
+       * lib/bbitset.h: (bitset_toggle_, bitset_copy_, bitset_and_or_cmp_,
+       bitset_andn_or_cmp_, bitset_or_and_cmp_): Likewise.
+       * lib/bitset.c (bitset_only_set_p, bitset_print, bitset_toggle_,
+       bitset_copy_, bitset_op4_cmp, bitset_and_or_cmp_, bitset_andn_or_cmp_,
+       bitset_or_and_cmp_): Likewise.
+       * lib/bitset.h (bitset_test, bitset_only_set_p): Likewise.
+       * lib/bitset_stats.c (bitset_stats_print, bitset_stats_toggle,
+       bitset_stats_test, bitset_stats_empty_p, bitset_stats_disjoint_p,
+       bitset_stats_equal_p, bitset_stats_subset_p, bitset_stats_and_cmp,
+       bitset_stats_andn_cmp, bitset_stats_or_cmp, bitset_stats_xor_cmp,
+       bitset_stats_and_or_cmp, bitset_stats_andn_or_cmp,
+       bitset_stats_or_and_cmp): Likewise.
+       * lib/ebitset.c (ebitset_elt_zero_p, ebitset_equal_p, ebitset_copy_cmp,
+       ebitset_test, ebitset_empty_p, ebitset_subset_p, ebitset_disjoint_p,
+       ebitset_op3_cmp, ebitset_and_cmp, ebitset_andn_cmp, ebitset_or_cmp,
+       ebitset_xor_cmp): Likewise.
+       * lib/lbitset.c (lbitset_elt_zero_p, lbitset_equal_p, lbitset_copy_cmp,
+       lbitset_test, lbitset_empty_p, lbitset_subset_p, lbitset_disjoint_p,
+       lbitset_op3_cmp, lbitset_and_cmp, lbitset_andn_cmp, lbitset_or_cmp,
+       lbitset_xor_cmp): Likewise.
+       * lib/bbitset.h: Include <stdbool.h>.
+       (struct bitset_vtable): The following members now return bool, not
+       int: toggle, test, empty_p, disjoint_p, equal_p, subset_p,
+       and_cmp, andn_cmp, or_cmp, xor_cmp, and_or_cmp, andn_or_cmp,
+       or_and_cmp).
+       * src/conflicts.c (count_rr_conflicts): Likewise.
+       * lib/bitset_stats.h (bitset_stats_enabled): Now bool, not int.
+       All uses changed.
+       * lib/ebitset.c (ebitset_obstack_init): Likewise.
+       * lib/lbitset.c (lbitset_obstack_init): Likewise.
+       * src/getargs.c (debug_flag, defines_flag, locations_flag,
+       no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
+       graph_flag): Likewise.
+       * src/getargs.h (debug_flag, defines_flag, locations_flag,
+       no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
+       graph_flag): Likewise.
+       * src/output.c (error_verbose): Likewise.
+       * src/output.h (error_verbose): Likewise.
+       * src/reader.c (start_flag, typed): Likewise.
+       * src/reader.h (typed): Likewise.
+       * src/getargs.c (LOCATIONS_OPTION): New constant.
+       (long_options, getargs): Use it.
+       * src/lalr.c (build_relations): Use bool, not int.
+       * src/nullable.c (nullable_compute): Likewise.
+       * src/print.c (print_reductions): Likewise.
+       * src/tables.c (action_row, pack_vector): Likewise.
+       * src/muscle_tab.h (MUSCLE_INSERT_BOOL): New macro.
+       * src/output.c (prepare): Use it.
+       * src/output.c (token_definitions_output,
+       symbol_destructors_output, symbol_destructors_output): Use string,
+       not boolean integer, to keep track of whether to output separator.
+       * src/print_graph.c (print_core): Likewise.
+       * src/state.c (state_rule_lookaheads_print): Likewise.
+
+       * config/install-sh: Sync from automake 1.7.5.
+
+2003-05-14  Paul Eggert  <eggert@twinsun.com>
+
+       * src/parse-gram.y (rules_or_grammar_declaration): Require a
+       semicolon after a grammar declaration, in the interest of possible
+       future changes to the Bison input language.
+       Do not allow a stray semicolon at the start of the grammar.
+       (rhses.1): Allow one or more semicolons after any rule, including
+       just before "|" as required by POSIX.
+       * tests/input.at (Torturing the Scanner): Add tests for ";|" in a
+       grammar.
+
+2003-05-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       %parse-param support for lalr1.cc.
+
+       * data/lalr1.cc (b4_parse_param_decl, b4_parse_param_cons,
+       b4_cc_constructor_calls, b4_cc_constructor_call,
+       b4_parse_param_vars, b4_cc_var_decls, b4_cc_var_decl): New m4
+       definitions.
+       (yy::b4_parser_class_name::b4_parser_class_name): Take extra
+       parse-param arguments.
+       (yy::b4_parser_class_name): Declare instance variables to
+       hold parse-param arguments.
+       * tests/calc.at: s/value/semantic_value/ because value clashes
+       with a member of yy::b4_parser_class_name.  Adjust C++ code
+       to handle %parse-param.  Enable %parse-param test in C++.
+
+2003-05-12  Paul Eggert  <eggert@twinsun.com>
+
+       * doc/bison.texinfo (How Can I Reset @code{yyparse}): Reword the
+       English a bit.  Fix fclose typo.  Change "const char" to "char
+       const", and use ANSI C rather than K&R for "main".  Suggest
+       YY_FLUSH_BUFFER over yyrestart (as that is what Flex recommends)
+       and suggest yy_switch_to_buffer.
+
+2003-05-05  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/bitset.h (__INT_TO_PTR): Define to a value that presumes
+       C89.  This avoids a diagnostic on compilers that define __STDC__
+       to 0, fixing a problem with Tru64 cc reported by Martin Mokrejs in
+       <http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
+
+2003-05-03  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/bitset.h (BITSET_FOR_EACH, BITSET_FOR_EACH_REVERSE):
+       Do not overrun array bounds.
+       This should fix a bug reported today by Olatunji Oluwabukunmi in
+       <http://mail.gnu.org/archive/html/bug-bison/2003-05/msg00004.html>.
+
+2003-04-29  Akim Demaille  <akim@epita.fr>
+
+       * src/gram.h, src/gram.c (pure_parser, glr_parser): Move to...
+       * src/getargs.c, src/getargs.h: here, as bool, not int.
+       (nondeterministic_parser): New.
+       * src/parse-gram.y, src/scan-gram.l: Support
+       %nondeterministic-parser.
+       * src/output.c (prepare): Use nondeterministic_parser instead
+       of glr_parser where appropriate.
+       * src/tables.c (conflict_row, action_row, save_row)
+       (token_actions, token_actions, pack_vector): Ditto.
+
+2003-04-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (C++ Parsers, Implementing Loops): New.
+
+2003-04-29  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.at: Also test yacc.c and glr.c (but not lalr1.cc yet)
+       with %pure-parser and %locations to exercise the patch from Yakov
+       Markovitch below.
+
+2003-04-28  Tim Van Holder <tim.van.holder@pandora.be>
+
+       * data/yacc.c: (b4_lex_param): Corrected for the case where
+       %lex-param is provided and %pure-parser isn't.
+
+2003-04-27  Paul Eggert  <eggert@twinsun.com>
+
+       Avoid gcc -Wundef warnings reported by Gerald Pfeifer in
+       <http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00044.html>.
+       * data/yacc.c (YYSTACK_ALLOC): Don't evaluate YYSTACK_USE_ALLOCA
+       if it is not defined.
+       (YYMAXDEPTH): Don't evaluate YYMAXDEPTH if it is not defined.
+
+2003-04-26  Paul Eggert  <eggert@twinsun.com>
+
+       * data/lalr1.cc (yy::Parser::pact_ninf_, yy::Parser::table_ninf_):
+       Declare to be of type suitable for the ninf value itself, not of
+       type suitable for the corresponding table, since the latter might
+       be unsigned but the ninf value might be negative.  This fixes a
+       bug reported by Alexandre Duret-Lutz in
+       <http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00017.html>.
+
+       * configure.ac (AC_FUNC_ERROR_AT_LINE): Remove, since gl_ERROR
+       invokes it.  We shouldn't invoke it twice because it will attempt
+       to put error.o in the archive twice.  This fixes a glitch reported
+       by Martin Mokrejs in
+       <http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
+
+2003-04-21  Paul Eggert  <eggert@twinsun.com>
+
+       * m4/error.m4: Update from Bruno Haible's 2003-04-14 patch
+       to gnulib.
+
+2003-04-21  Yakov Markovitch <Markovitch@iso.ru>
+
+       * data/glr.c (yyexpandGLRStack) [!YYSTACKEXPANDABLE]:
+       Fix obvious typo that results in uncompilable GLR parsers
+       when both %pure-parser and %locations are used.  (trivial change)
+
+2003-04-17  Paul Eggert  <eggert@twinsun.com>
+
+       * src/scan-gram.l: Add %option nounput, since we no longer use unput.
+       (unexpected_eof): Renamed from unexpected_end_of_file, for brevity.
+       Do not insert the expected token via unput, as this runs afoul
+       of a POSIX-compatibility bug in flex 2.5.31.
+       All uses changed to BEGIN the parent state,
+       since we no longer insert the expected token via unput.
+       * tests/regression.at (Invalid inputs): Remove cascaded diagnostic
+       that is no longer emitted after the above change.
+
+       * src/conflicts.c (set_conflicts): Resolve all conflicts, not just
+       the first one.  This change is from Paul Hilfinger, and it fixes
+       regression reported by Werner Lemberg in
+       <http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00026.html>.
+
+       (resolve_sr_conflict): Don't invoke state_errs_set
+       unless one or more tokens have been explicitly made errors.
+       Otherwise, the above change causes Bison to abort.
+
+       * tests/existing.at (GNU pic Grammar): New test case, taken from
+       Lemberg's email.
+
+2003-03-31  Akim Demaille  <akim@epita.fr>
+
+       * doc/Makefile.am (AM_MAKEINFOFLAGS): Don't split the info file.
+
+2003-03-31  Akim Demaille  <akim@epita.fr>
+
+       * src/output.c (prepare_symbols): Avoid trailing spaces in the
+       output.
+
+2003-03-31  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Strings are Destroyed): s/losses/loses/.
+       From Paul Hilfinger.
+
+2003-03-29  Akim Demaille  <akim@epita.fr>
+
+       * m4/error.m4: Do not put under dynamic conditions some code which
+       expansion is under static control.
+
 2003-03-29  Akim Demaille  <akim@epita.fr>
 
        * doc/bison.texinfo (How Can I Reset @code{yyparse}): New.
 
+2003-03-29  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo (Strings are Destroyed): New.
+
 2003-03-13  Paul Eggert  <eggert@twinsun.com>
 
        * .cvsignore: Add configure.lineno.