X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/eb714592014d00c816018a32dd66ff2ef471ae4a..1318e37d587d59dd1137aea238d3b6d952ba3676:/ChangeLog?ds=sidebyside diff --git a/ChangeLog b/ChangeLog index 07800e0d..402e38b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,146 @@ +2002-10-14 Paul Eggert + + * data/c.m4 (b4_int_type): Use yysigned_char instead of signed char, + for portability to K&R hosts. Fix typo: signed char is guaranteed + only to 127, not to 128. + * data/glr.c (yysigned_char): New type. + * data/yacc.c (yysigned_char): Likewise. + * tests/regression.at (Web2c Actions): signed char -> yysigned_char. + +2002-10-13 Paul Eggert + + * data/yacc.c (yyparse): Rewrite to avoid "comparison is always + true due to limited range of data type" warning from GCC. + + * data/c.m4 (b4_token_defines): Protect against double-inclusion + by wrapping enum yytokentype's definition inside #ifndef + YYTOKENTYPE. This undoes a bug I introduced on 2002-10-12. + +2002-10-13 Akim Demaille + + * data/glr.c (yyglrShiftDefer, yyaddDeferredAction, yydoAction): + Un yy- yyrhs to avoid the name clash with the global YYRHS. + +2002-10-13 Akim Demaille + + * Makefile.maint: Update from Autoconf 2.54. + * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Remove, shipped with 2.54. + +2002-10-13 Akim Demaille + + * src/print.c (print_state): Separate the list of solved conflicts + from the other items. + * tests/conflicts.at (Resolved SR Conflicts): Adjust. + +2002-10-13 Akim Demaille + + Let nondeterministic skeletons be usable with deterministic + tables. + + With the patch, GAWK compiled by GCC without -O2 passes its test + suite using a GLR parser driven by LALR tables. It fails with -O2 + because `struct stat' gives two different answers on my machine: + 88 (definition of an auto var) and later 96 (memset on this var). + Hence the stack is badly corrumpted. The headers inclusion is to + blame: if I move the awk.h inclusion before GLR's system header + inclusion, the two struct stat have the same size. + + * src/tables.c (pack_table): Always create conflict_table. + (token_actions): Always create conflict_list. + * data/glr.c (YYFLAG): Remove, unused. + +2002-10-13 Akim Demaille + + * configure.ac (AC_GNU_SOURCE): Use it instead of hand written code. + (O0FLAGS): New. + (VALGRIND, GXX): New. + * tests/atlocal.in (CFLAGS): Use O0FLAGS. + * tests/bison.in: Run $PREBISON a pre-command. + * tests/Makefile.am (maintainer-check, maintainer-check-valgrind) + (maintainer-check-g++): New. + * Makefile.am (maintainer-check): New. + +2002-10-13 Akim Demaille + + * data/glr.c: Formatting changes. + Tweak some trace messages to match yacc.c's. + +2002-10-13 Akim Demaille + + GLR parsers sometimes raise parse errors instead of performing the + default reduction. + Reported by Charles-Henry de Boysson. + + * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Don't + check the length of the traces when %glr. + (_AT_CHECK_CALC_ERROR): Also skip `^Stack' lines, coming from + GLR's traces. + (AT_CHECK_CALC_LALR, AT_CHECK_CALC_GLR): New. + Test GLR parsers. + * data/glr.c (YYLEFTMOST_STATE): Fix its value. + (yyltype): Remove the yy prefix from the member names. + (yytable): Complete its comment. + (yygetLRActions): Map error action number from YYTABLE from + YYTABLE_NINF to 0. + (yyisErrorAction): No longer compare YYACTION to YYPACT_NINF + (which was a bug: it should have been YYTABEL_NINF, and yet it was + not satisfying as we could compare an YYACTION computed from + YYDEFACT to YYTABLE_NINF although they are unrelated): 0 is the + only value for error actions. + (yyreportParseError): In verbose parse error messages, don't issue + `error' in the list of expected tokens. + * data/yacc.c (yyparse) : Rewrite the decoding of the + next action to perform to match glr.c's decoding. + (yytable): Complete its comment. + +2002-10-13 Paul Eggert + + Fix problem reported by Henrik Grubbstroem in + : + "nonterm: { $$ = 123; } { $$ = $1; };" was wrongly rejected, + because the Bison parser reads the second action before reducing + the first one. + * src/scan-gram.l (rule_length): New static var. + Use it to keep track of the rule length in the scanner, since + we can't expect the parser to be in lock-step sync with the scanner. + (handle_action_dollar, handle_action_at): Use this var. + * tests/actions.at (Exotic Dollars): Test for the problem. + +2002-10-12 Paul Eggert + + * lib/timevar.c [! IN_GCC && HAVE_SYS_TIME_H]: Include . + * m4/timevar.m4 (BISON_PREREQ_TIMEVAR): Check for . + Include when checking for clock_t and struct tms. + Use same include order as source. + This is for the SunOS 4.1.4 porting bug reported by Peter Klein in + . + + * lib/timevar.c: Update copyright date and clarify comments. + (get_time) [IN_GCC]: Keep the GCC version for reference. + + * lib/timevar.c, lib/timevar.h, lib/timevar.def: Import + GCC version as of today, then merge Bison's changes. + Change "GCC" to "Bison" in copyright notice. timevar.def's + author is Akim, so change that too. + + * src/reader.c (grammar_current_rule_check): + Don't worry about the default action if $$ is untyped. + Prevents bogus warnings reported by Jim Gifford in + . + + * data/c.m4 (b4_token_enum): Do not define YYTOKENTYPE. + * data/glr.c, data/lalr1.cc, data/yacc.c: + Output token definitions before the first part of user declarations. + Fixes compatibility problem reported by Jim Gifford for kbd in + . + +2002-10-11 Paul Eggert + + * data/yacc.c (yyreport_parse_error): Remove, putting its body into... + (yyparse): here. This undoes some of the 2002-07-25 change. + Compatibility problem reported by Ralf S. Engelschall with + OSSP cfg . + 2002-10-11 Akim Demaille * tests/regression.at Characters Escapes): New.