X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/23f2d9dc0f8f52ebfafba88e2666d14e0d168e80..ab8fe29d0ca22f49bc97a452204935507a269d01:/ChangeLog diff --git a/ChangeLog b/ChangeLog index e7d623cf..e8c03c4b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,610 @@ +2003-03-12 Paul Eggert + + * scan-gram.l (YY_USER_INIT): Initialize code_start, too. + (<>, <>): Set *loc to the scanner + cursor, instead of leaving it undefined. This fixes a bug + reported by Tim Van Holder in + . + * tests/input.at (Torturing the Scanner): Test the scanner on + an empty input file, which was Tim Van Holder's test case. + + * m4/timevar.m4 (BISON_PREREQ_TIMEVAR): When checking whether + can be included, include sys/time.h and + sys/times.h first, if available. This works around the SunOS + 4.1.4 porting bug reported by Bruce Becker in + . + + * m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't + AC_CHECK_HEADERS([sys/wait.h]), as this interferes with + AC_HEADER_SYS_WAIT. + + Merge changes from gnulib. This was prompted because the CVS + snapshot didn't build on Solaris 7 due to strnlen problems. + + These changes need to be merged back into gnulib: + * lib/hash.c: Include unconditionally. + * m4/onceonly.m4 (m4_quote): New macro. + (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE): + Quote AC_FOREACH variable-expansions properly. + The 2003-01-03 obstack.h change also needs merging. + {end of changes requiring merging} + + * lib/stdbool.h.in, m4/alloca.m4, m4/dirname.m4, m4/dos.m4, + m4/getopt.m4, m4/hash.m4, m4/malloc.m4, m4/memchr.m4, + m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/quote.m4, + m4/quotearg.m4, m4/realloc.m4, m4/stpcpy.m4, m4/strnlen.m4, + m4/strtol.m4, m4/strtoul.m4, m4/unlocked-io.m4, m4/xalloc.m4: + New files, imported from gnulib. + * m4/Makefile.am (EXTRA_DIST): Add the new m4/*.m4 files mentioned + above. + + * lib/mbswidth.c, m4/error.m4, m4/mbrtowc.m4, m4/mbswidth.m4, + m4/memcmp.m4, m4/prereq.m4, m4/stdbool.m4: Update to current + gnulib sources. + + * configure.ac (gl_DIRNAME, gl_GETOPT, gl_HASH, gl_QUOTE, gl_XALLOC): + Add. + (gl_ERROR): New, replacing jm_PREREQ_ERROR. + (gl_FUNC_ALLOCA): New, replacing AC_FUNC_ALLOCA. + (gl_FUNC_STPCPY): New, replacing AC_REPLACE_FUNCS(stpcpy). + (gl_FUNC_STRNLEN): New, replacing AC_FUNC_STRNLEN. + (gl_MBSWIDTH): New, replacing jm_PREREQ_MBSWIDTH. + (gl_OBSTACK): New, replacing AC_FUNC_OBSTACK. + (gl_QUOTEARG): New, replacing jm_PREREQ_QUOTEARG. + (jm_FUNC_GLIBC_UNLOCKED_IO, gl_FUNC_STPCPY, gl_FUNC_STRTOL): New. + (jm_FUNC_MALLOC): New, replacing AC_FUNC_MALLOC. + (jm_FUNC_REALLOC): New, replacing AC_FUNC_REALLOC. + (jm_PREREQ_ARGMATCH): Remove. + (AC_REPLACE_FUNCS): Remove memchr, memrchr, stpcpy, strtol, strtoul. + * lib/Makefile.am (libbison_a_SOURCES): Add argmatch.c, argmatch.h. + + * src/system.h: Include unconditionally. + + * lib/bbitset.h: Include unconditionally. We have been + assuming at least C89 in the bitset code for some time now. + +2003-03-03 Akim Demaille + + * ro.po: New. + +2003-03-02 Akim Demaille + + * doc/bison.texinfo (Table of Symbols): Reactivate the + documentation for %lex-param, and %parse-param. + +2003-03-02 Akim Demaille + + * data/yacc.c, data/glr.c, data/lal1.cc: Use similar code to + generate verbose error messages. + Use the number of tokens as an upper bound in yytname, as it + cannot be a non terminal. + +2003-03-02 Akim Demaille + + * tests/regression.at (_AT_DATA_DANCER_Y): Fix the expected error + message. + +2003-03-02 Akim Demaille + + * tests/regression.at (_AT_DATA_DANCER_Y, AT_CHECK_DANCER): New. + Use them to exercise yycheck overrun. + Based on Andrew Suffield's grammar. + +2003-03-02 Akim Demaille + + Create tests/local.at for Bison generic testing macros. + + * tests/calc.at (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): Move to... + * tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS): + This new file. + * tests/calc.at (AT_CHECK_CALC): Adjust. + * tests/testsuite.at (AT_DATA_GRAMMAR_PROLOGUE, AT_DATA_GRAMMAR) + (AT_COMPILE, AT_COMPILE_CXX, AT_PARSER_CHECK): Move to... + * tests/local.at: here. + (AT_COMPILE_CXX): Tags the tests using it as c++. + Ignore the test if CXX is not functional. + +2003-03-01 Paul Eggert + + * src/scan-gram.l (code_start): Initialize it to scanner_cursor, + not loc->end, since loc->end might contain garbage and this leads + to undefined behavior on some platforms. + (id_loc, token_start): Use (IF_LINTed) initial values that do not + depend on *loc, so that the reader doesn't give the the false + impression that *loc is initialized. + ("%%"): Do not bother setting code_start, since its value + does not survive the return. + +2003-03-01 Akim Demaille + + * src/scan-gram.l (code_start): Always initialize it when entering + into yylex, as SC_EPILOGUE is activated *before* the corresponding + yylex invocation. An alternative would be making it static, but + then it starts with the second %%'s beginning, instead of its end. + +2003-02-28 Paul Eggert + + * lib/mbswidth.c: Include before "mbswidth.h", to work + around a UnixWare 7.1.1 porting bug reported by John Hughes in + . + +2003-02-26 Paul Eggert + + * README: Mention compiler bug in Sun Forte Developer 6 update 2. + Remove Sequent/Pyramid discussion (nobody uses them any more). + Merge VMS and MS-DOS discussion; these ports may well be dead + but let's keep mentioning them for now. Put <> around email + addresses. Add copyright notice. + +2003-02-24 Paul Eggert + + * data/glr.c (yy_reduce_print): yylineno -> yylno, + to avoid collision with flex use of yylineno. + Problem reported by Bruce Lilly in + . + * data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise. + * data/yacc.c (yy_reduce_print): Likewise. + + * config/depcomp: Sync with Automake 1.7.3. + +2003-02-21 Akim Demaille + + * data/lalr1.cc: Use temporary variables instead of casts to + change integer types. + Suggested by Paul Eggert. + +2003-02-21 Akim Demaille + + * doc/bison.texinfo: Use "location" consistently to refer to @n, + to avoid confusions with lalr1.cc's notion of Position. + Suggested by Paul Eggert. + +2003-02-20 Akim Demaille + + * data/lalr1.cc (position.hh): Make sure "columns" never pushes + before initial_columns. + (location.hh): Use consistent variable names when defining the + operator<<. + Use "last" so that we subtract from Positions, not from unsigned. + +2003-02-20 Akim Demaille + + * data/lalr1.cc (position.hh): New subfile, including the extended + and Doxygen'ed documentation of class Position. + (location.hh): Use it. + Document a` la Doxygen. + With the help of Benoit Perrot. + +2003-02-20 Akim Demaille + + * tests/calc.at (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): Define + AT_YACC_IF. + Redefine AT_YYERROR_SEES_LOC_IF using it. + (_AT_DATA_CALC_Y): Don't declare yyerror when lalr1.cc, as it is + not defined. + Don't use the location in yy::Parser::error_ and + yy::Parser::print_ when not %locations. + Activate more lalr1.cc tests. + +2003-02-19 Akim Demaille + + * data/lalr1.cc: When displaying a line number, be sure to make it + an int. + +2003-02-19 Akim Demaille + + * data/lalr1.cc (b4_stack_depth_init, yy::Parser::initdepth_): + Remove, useless. + (YYABORT, YYACCEPT, YYERROR): New. + * tests/calc.at: Renable the lalr1.cc test. + +2003-02-19 Akim Demaille + + * tests/calc.at (AT_CHECK_CALC): Check different scenarios of + error recovery, mixing with/without pops and discarding of the + lookahead. + Exercise YYERROR. + Disable the lalr1.cc tests as currently it doesn't support YYERROR. + +2003-02-17 Paul Eggert + + * tests/atlocal.in (LDFLAGS, LIBS): New vars. + * tests/testsuite.at (AT_COMPILE): Use them. + This fixes the testsuite problem reported by Robert Lentz in + . + +2003-02-12 Paul Eggert + + * data/yacc.c (yyerrlab) [YYERROR_VERBOSE]: + Avoid subscript error in yycheck. Bug reported by Andrew Suffield in + . + * data/glr.c (yyreportSyntaxError) [YYERROR_VERBOSE]: Likewise. + Check for malloc failure, for consistency with yacc.c. + (yytname_size): Remove, for consistency with yacc.c. + + The bug still remains in data/lalr1.cc, as I didn't have time + to fix it there. + +2003-02-06 Akim Demaille + + * configure.ac (GXX): Rename as... + (CXX): this, to keep the original Autoconf semantics. + Require 2.57. + * data/lalr1.cc: Fix b4_copyright invocations. + If YYDEBUG is not defined, don't depend upon name_ being defined. + (location.hh): Include string and iostream. + (Position::filename): New member. + (Position::Position ()): New. + (operator<< (Position)): New. + (operator- (Position, int)): New. + (Location::first, Location::last): Rename as... + (Location::begin, Location::end): these, to mock the conventional + iterator names. + (operator<< (Location)): New. + * tests/atlocal.in (CXX): New. + * tests/testsuite.at (AT_COMPILE_CXX): New. + * tests/calc.at (_AT_DATA_CALC_Y): Adjust yyerror to report the + locations in a more synthetic way. + (AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF is positive if + lalr1.cc is used. + Adjust the C locations to match those from Emacs: first column is + column 0. + Change all the expected results. + Conform to the GCS: simplify the locations when applicable. + (LOC, VAL, YYLLOC_FORMAL, YYLLOC_ARG, USE_YYLLOC, LEX_FORMALS) + (LEX_ARGS, USE_LEX_ARGS, LEX_PRE_FORMALS, LEX_PRE_ARGS): Replace + these CPP macros with the m4 macros new defined by... + (AT_CHECK_PUSHDEFS): this, i.e.: + (AT_LALR1_CC_IF, AT_PURE_LEX_IF, AT_LOC, AT_VAL, AT_LEX_FORMALS) + (AT_LEX_ARGS, AT_USE_LEX_ARGS, AT_LEX_PRE_FORMALS, AT_LEX_PRE_ARGS) + New macros. + (AT_CHECK_POPDEFS): Undefine them. + (AT_CHECK_CALC_LALR1_CC): New. + Use it for the first lalr1.cc test. + +2003-02-04 Akim Demaille + + * data/lalr1.cc (YYLLOC_DEFAULT): Fix its definition: be based on + Location as is defined. + +2003-02-04 Akim Demaille + + * data/lalr1.cc: If YYDEBUG is not defined, don't depend upon + name_ being defined. + +2003-02-03 Paul Eggert + + * src/gram.h (start_symbol): Remove unused decl. + + Use more-consistent naming conventions for local vars. + + * src/derives.c (derives_compute): Change type of local var from + int to rule_number. + * src/gram.c (grammar_rules_partial_print): Likewise. + * src/print.c (print_core): Likewise. + * src/reduce.c (reduce_grammar_tables): Likewise. + + * src/gram.c (grammar_dump): Change name of item_number * + local var from r to rp. + * src/nullable.c (nullable_compute): Likewise. + + * src/gram.h (ISTOKEN, ISVAR): Use i, not s, for int var. + + * src/gram.h (symbol_number_as_item_number): Use sym, not s, + for symbol or symbol_number var. + * src/reader.c (grammar_start_symbol_set): Likewise. + * src/reader.h (grammar_start_symbol_set, grammar_symbol_append): + Likewise. + * src/state.c (transitions_to): Likewise. + * src/state.h: Likewise. + * src/tables.c (symbol_number_to_vector_number): Likewise. + + * src/muscle_tab.h (MUSCLE_OBSTACK_SGROW): Use p, not s, for + char * var. + + * src/parse-gram.y (lloc_default): Use loc, not r, for YYLTYPE + var. + + * src/scan-gram.l (no_cr_read): Use bytes_read, not s, for size + var. + + * src/system.h (xstrndup, strchr, strspn, strnlen, memchr, memrchr): + Use str, not s, for char * var. Use ch, not c, for character var. + Use size for size var. + + * src/uniqstr.c (uniqstr_new, uniqstr_assert): Use str, not s, for + char * var. + (uniqstr_print, uniqst_print_processor): Use ustr, not s, for + uniqstr var. + * src/uniqstr.h: Likewise. + + * src/vcg.c (get_color_str, get_textmode_str, get_shape_str, + get_layoutalgorithm_str, get_decision_str, get_orientation_str, + get_node_alignment_str, get_arrow_mode_str, get_crossing_type_str, + get_view_str, get_linestyle_str, get_arrowstyle_str): Rename + param to have same name as that of enum, so that we don't use + "s" to stand for a non-state. + +2003-02-02 Akim Demaille + + * src/scan-skel.l: Scan more than one inert character per yylex + invocation. + +2003-02-01 Paul Eggert + + Version 1.875a. + + * po/LINGUAS: Add ms. + +2003-01-30 Akim Demaille + + * doc/Makefile.am (CLEANFILES): Add bison.fns for distcheck. + +2003-01-29 Paul Hilfinger + + * tests/cxx-type.at: Correct apparent typo in Bison input: $$ instead + of $1. + + Changes in response to error report by S. Eken: GLR mode does not + handle negative $ indices or $ indices in embedded rules correctly. + See . + + * data/glr.c (b4_rhs_value): Change to use YYFILL macro. + (b4_rhs_location): Ditto. + (yyfill): New function to copy from stack tree into array + incrementally. + (yyuserAction): Modify to allow incremental move of semantic values + to rhs array when in GLR mode. + Define YYFILL to use in user-defined actions to fill semantic array + as needed. + Remove dummy use of yystack, as there is now a guaranteed use. + (yydoAction): Modify to allow incremental move of semantic values + to rhs array when in GLR mode. + (yyresolveAction): Ditto. + (yyglrShiftDefer): Update comment. + (yyresolveStates): Use X == NULL for pointers, not !X. + (yyglrReduce): Ditto. + (yydoAction): Ditto + + * tests/glr-regr1.at: Rename to ... + * tests/glr-regression.at: Add new regression test for the problems + described above (adapted from S. Eken). + Update copyright notice. + * tests/testsuite.at: Rename glr-regr1.at to glr-regression.at. + * tests/Makefile.am: Ditto. + +2003-01-28 Paul Eggert + + * data/lalr1.cc: Do not use @output_header_name@ unless + b4_defines_flag is set. This fixes two bugs reported by + Tim Van Holder in + + and . + +2003-01-21 Paul Eggert + + * data/yacc.c (YYERROR): Move code from yyerrlab1 to here, so that + we don't need to worry about yyerrlab1 being reported as an + "unused label" by non-GCC C compilers. The downside is that if + locations are used then a couple of statements are duplicated each + time YYERROR is invoked, but the upside is that the warnings + should vanish. + (yyerrlab1): Move code to YERROR. + (yyerrlab2): Remove. Change uses back to yyerrlab1. + This reverts some of the 2002-12-27 change. + +2003-01-17 Paul Eggert + + * src/output.c (symbol_printers_output): Fix typo that led + to core dump. Problem reported by Antonio Rus in + . + +2003-01-13 Akim Demaille , + Quoc Peyrot , + Robert Anisko + + * data/lalr1.cc (parse::yyerrlab1): When popping the stack, stop + when the stacks contain one element, as the loop would otherwise + free the last state, and then use the top state (the one we just + popped). This means that the initial elements will not be freed + explicitly, as is the case in yacc.c; it is not a problem, as + these elements have fake values. + +2003-01-11 Paul Eggert + + * NEWS: %expect-violations are now just warnings, reverting + to Bison 1.30 and 1.75 behavior. This fixes the GCC 3.2 + bootstrapping problem reported by Matthias Klose; see + . + * src/conflicts.c (conflicts_print): Likewise. + * tests/conflicts.at (%expect not enough, %expect too much, + %expect with reduce conflicts): Likewise. + * doc/bison.texinfo (Expect Decl): Document this. Also mention + that the warning is enabled if the number of conflicts changes + (not necessarily increases). + + * src/getargs.c (version): Update copyright year. + +2003-01-09 Akim Demaille + + * src/Makefile.am, lib/Makefile.am: Use $(VAR) instead of @VAR@. + +2003-01-08 Paul Eggert + + * Makefile.maint (WGETFLAGS): + New macro, containing "-C off" to disable proxy caches. + All uses of $(WGET) changed to $(WGET) $(WGETFLAGS). + (rel-check): Use $(WGET) instead of wget. + +2003-01-06 Paul Eggert + + * doc/bison.texinfo (Generalized LR Parsing): Add a reference to + the GLR paper of Scott, Johnstone and Hussain. + +2003-01-04 Paul Eggert + + * configure.ac (AC_ARG_ENABLE): Add --disable-yacc. + (YACC_SCRIPT, YACC_LIBRARY): New vars to AC_SUBST. + * lib/Makefile.am (lib_LIBRARIES): liby.a -> @YACC_LIBRARY@. + (EXTRA_LIBRARIES): New var, for liby.a. + * src/Makefile.am (bin_SCRIPTS): yacc -> @YACC_SCRIPT@. + (EXTRA_SCRIPTS): New var, for yacc. + + * data/yacc.c (yyerrlab1): Omit attribute if __cplusplus is defined, + since GNU C++ (as of 3.2.1) does not allow attributes on labels. + Problem reported by Nelson H. F. Beebe. + +2003-01-03 Paul Eggert + + * lib/obstack.h (__INT_TO_PTR) [__STDC__]: Cast result to + (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5 + when compiling Bison 1.875's `bitset bset = obstack_alloc + (bobstack, bytes);'. Problem reported by Nelson H. F. Beebe. + + * src/scan-skel.l (QPUTS): Omit redundant `;' from macro definition. + ([^@\n]): Renamed from [^@\n]+ so that the token buffer does not + grow to a huge size with typical invocation. + + * lib/hash.c (_Bool, bool, false, true, __bool_true_false_are_defined): + Use the pattern recommended by Autoconf 2.57, except also protect + against double-definition. + * src/system.h: Likewise. + Portability issues reported by Nelson H. F. Beebe. + + * data/glr.c (yybool): Renamed from bool, to avoid collisions in C. + All uses changed. Provide a definition in both C and C++. + (yytrue, yyfalse): Define even if defined (__cplusplus). + + * lib/bitset_stats.c (bitset_stats_list): Remove unused var. + Reported by Nelson H. F. Beebe. + + * src/scan-skel.l ("@oline@"): Output lineno+1, not lineno. + +2003-01-02 Paul Eggert + + * data/yacc.c (yyerrlab1): Append `;' after attribute, to + pacify the buggy "smart preprocessor" in MacOS 10.2.3. + Bug reported by Nelson H. F. Beebe. + +2003-01-01 Paul Eggert + + * Version 1.875. + +2002-12-30 Paul Eggert + + * src/scan-gram.l (","): + Moved here from... + (","): Here. This causes stray "," to be treated + more uniformly. + + * src/scan-gram.l ("}"): Output ";" before the + last brace in braced code when not in Yacc mode, for compatibility + with Bison 1.35. This resurrects the 2001-12-15 patch to + src/reader.c. + + * src/reader.h (YYDECL): Use YYSTYPE, not its deprecated alias + yystype. This follows up the 2002-12-24 YYSTYPE bug fix. + +2002-12-28 Paul Eggert + + * src/symtab.c (symbol_make_alias): Set type of SYMVAL to be + that of SYM's type. This fixes Debian bug 168069, reported by + Thomas Olsson. + +2002-12-28 Paul Eggert + + Version 1.75f. + + Switch back to the Yacc style of conflict reports, undoing some + of the 2002-07-30 change. + * doc/bison.texinfo (Understanding): Use Yacc style for + conflict reports. Also, use new way of locating rules. + * src/conflicts.c (conflict_report): + Renamed from conflict_report_yacc, removing the old + 'conflict_report'. Translate the entire conflict report at once, + so that we don't assume that "," has the same interpretation in + all languages. + (conflicts_output): Use Yacc-style conflict report for each state, + instead of our more-complicated style. + (conflicts_print): Use Yacc-style conflict report, except print + the input file name when not emulating Yacc. + * tests/conflicts.at (Unresolved SR Conflicts, Defaulted + Conflicted Reduction, %expect not enough, %expect too much, + %expect with reduce conflicts): Switch to Yacc-style conflict reports. + * tests/existing.at (GNU Cim Grammar): Likewise. + * tests/glr-regr1.at (Badly Collapsed GLR States): Likewise. + + * src/complain.c (warn_at, warn, complain_at, complain, fatal_at, + fatal): Don't invoke fflush; it's not needed and it might even be + harmful for stdout, as stdout might not be open. + * src/reduce.c (reduce_print): Likewise. + +2002-12-27 Paul Eggert + + Fix a bug where error locations were not being recorded correctly. + This problem was originally reported by Paul Hilfinger in + . + + * data/yacc.c (yyparse): New local var yylerrsp, to record the + top of the location stack's error locations. + (yyerrlab): Set it. When discarding a token, push its location + onto yylerrsp so that we don't lose track of the error's end. + (yyerrlab1): Now is only the target of YYERROR, so that we can + properly record the location of the action that failed. For GCC + 2.93 and later, insert an __attribute__ ((__unused__)) to avoid + GCC warning about yyerrlab1 being unused if YYERROR is unused. + (yyerrlab2): New label, which yyerrlab now falls through to. + Compute the error's location by applying YYLLOC_DEFAULT to + the locations of all the symbols that went into the error. + * doc/bison.texinfo (Location Default Action): Mention that + YYLLOC_DEFAULT is also invoked for syntax errors. + * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): + Error locations include the locations of all the tokens that were + discarded, not just the last token. + +2002-12-26 Paul Eggert + + * src/files.c: Include quote.h. + (compute_output_file_names): Warn if we detect conflicting + outputs to the same file. This should catch the misunderstanding + exemplified by Debian Bug 165349, reported by Bruce Stephens.. + + * src/conflicts.c (conflicts_print): If the user specifies + "%expect N", report an error if there are any reduce/reduce + conflicts. This is what the manual says should happen. + This fixes Debian bug 130890, reported by Anthony DeRobertis. + * tests/conflicts.at (%expect with reduce conflicts): New test. + + Don't use m4_include on relative file names, as it doesn't work as + desired if there happens to be a file with that name under ".". + + * m4sugar/version.m4: Remove; it was included but it wasn't used. + * data/Makefile.am (dist_m4sugar_DATA): Remove m4sugar/version.m4. + * data/m4sugar/m4sugar.m4: Don't include m4sugar/version.m4. + * data/glr.c, data/lalr1.cc, data/yacc.c: Don't include c.m4. + * src/output.c (output_skeleton): Use full path names when + specifying a file to include; don't rely on include path, as + it's unreliable when the working file contains a file with + that name. + +2002-12-25 Paul Eggert + + Remove obsolete references to bison.simple and bison.hairy. + Problem mentioned by Aubin Mahe in + . + * data/glr.c: Comment fix. + * doc/bison.1: Remove references. Also, mention "yacc". + + * src/getargs.c (getargs) [MSDOS]: Don't assume optarg != NULL + with -g option. + + * src/parse-gram.y (declaration): Use enum "report_states" rather + than its numeric value 1. + + * src/scan-skel.l ("@output ".*\n): Close any old yyout before + opening a new one. This fixes Debian bug 165349, reported by + Bruce Stephens. + 2002-12-24 Paul Eggert Version 1.75e. @@ -59,7 +666,7 @@ (token_type): New local var, to keep track of which token type to return when scanning braced code. ("%destructor", "%lex-param", - "%parse-param", "%printer, + "%parse-param", "%printer", "%union"): Set token type and BEGIN SC_PRE_CODE instead of returning a token type immediately. ("{"): Set token type. @@ -84,10 +691,9 @@ Undo most of the 2002-11-12 yychar -> yytoken patch, as it broke GCC 3.2.1 (which depends on yychar == YYEMPTY when there is no lookahead symbol, and which sets yychar in parser actions) and it - disagreed with the Bison documentation. This should fix the bug - reported by Andrew Walrond in - . - + disagreed with the Bison documentation. Bug + reported by Andrew Walrond. + * data/yacc.c (YYTRANSLATE): Don't check for negative argument, as the caller now does that. (yyclearin, YYBACKUP, yyparse): Use yychar, not yytoken. @@ -107,7 +713,7 @@ as an alias for bison y. * po/LINGUAS: Add da. - + * src/getargs.c (__GNU_LIBRARY__) [lint]: Define to work around problem with latest . (HACK_FOR___GNU_LIBRARY___PROTOTYPE): New macro. @@ -120,7 +726,7 @@ * config/install-sh: Sync with autotools. Fix a bad interaction with flex 2.5.23 reported by Bruce Lilly in - . + . * data/yacc.c (YYLTYPE, struct yyltype): Do not define unless locations are requested. (union yyalloc): Do not depend on YYLTYPE_IS_TRIVIAL unless @@ -401,7 +1007,7 @@ sequences like "@" that are treated specially by src/scan-skel.l. Instead, just use the file's basename. This fixes the bug reported by Martin Mokrejs in - . + . 2002-12-06 Paul Eggert @@ -499,7 +1105,7 @@ * configure.ac (AC_REPLACE_FUNCS): Add strtoul. * lib/strtoul.c: New file, from gnulib. This fixes a porting bug reported by Peter Klein in - . + . 2002-11-30 Paul Eggert @@ -551,7 +1157,7 @@ * data/c.m4 (b4_yysymprint_generate): yyout -> yyoutput, to avoid collision with lex macro described by Bruce Lilly in - . + . * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise. * doc/bison.texinfo (Prologue, Tracing): yyprint -> print_token_value. * src/parse-gram.y (print_token_value): Renamed from yyprint. @@ -649,7 +1255,7 @@ * data/glr.c (yygetLRActions): Replace `yyindex' with `yytable[yyindex]' to fix typo introduced in my 2002-11-09 patch. This fixes the regression with Sun ONE Studio 7 cc that I reported in - . + . 2002-11-18 Akim Demaille @@ -767,7 +1373,7 @@ duplicating xfopen's body. Fix bugs reported by Nelson H. F. Beebe in - . + . * tests/headers.at (AT_TEST_CPP_GUARD_H): Don't assume that "$CC -E foo.h" is allowed, as this doesn't work with the Portland @@ -778,9 +1384,7 @@ backslash-newline tests with "#if 0", to make it less likely that we'll run into compiler bugs. Bring back solitary \ inside comment, but add a closing comment to work around HP C bug. Don't - test backslash-newline in C character constant. This should fix - the input.at bug reported by Nelson H. F. Beebe in - . + test backslash-newline in C character constant. 2002-11-14 Akim Demaille @@ -812,7 +1416,7 @@ 2002-11-13 Paul Eggert Fix some bugs reported by Albert Chin-A-Young in - . + . * tests/input.at (Torturing the Scanner): Don't invoke "cc a.c b.c -o c"; the HP C compiler chatters during compilation. @@ -840,8 +1444,8 @@ * data/glr.c (yydoAction): Return YYRESULTTAG, not int. (yyglrReduce): Return yyok, not 0. This should avoid the enumerated-type warnings reported - by Nelson H.F. Beebe in - . + by Nelson H. F. Beebe in + . * lib/bbitset.h (BITSET_INLINE): Remove. * lib/bitset.h [! BITSET_INLINE]: Remove. @@ -850,13 +1454,13 @@ * data/glr.c (inline): Remove #define. It's the user's responsibility to #define it away, just like 'const'. - This fixes one of the bugs reported by Nelson H.F. Beebe in - . + This fixes one of the bugs reported by Nelson H. F. Beebe in + . * Makefile.maint (po-check): Scan .l and .y files instead of the .c and the .h files that they generate. This fixes the bug reported by Tim Van Holder in: - + Look for N_ as well as for _. Try to avoid matching #define for N_ and _. * po/POTFILES.in: Remove src/parse-gram.c, src/scan-gram.c, @@ -1017,7 +1621,7 @@ Revamp to fix many (but not all) of the C- and M4-related quoting problems. Among other things, this fixes the Bison bug reported by Jan Hubicka when processing the Bash grammar; see: - + Use new @ escapes consistently. Represent brackets with @{ and @} rather than @<:@ and @:>@, since this works a bit better with dumb @@ -1085,7 +1689,7 @@ 2002-11-09 Paul Eggert Fix the test failure due to GCC warnings described in - . + . * data/glr.c (yyis_pact_ninf, yyis_table_ninf): New macros, which evaluate to 0 if it's impossible for NINF to be in the respective table. @@ -1437,10 +2041,8 @@ * data/glr.c (struct yyltype): Define members even when not doing locations. This is more consistent with yacc.c, and it works around the following bug reports: - http://mail.gnu.org/pipermail/bug-bison/2002-October/001764.html - http://mail.gnu.org/pipermail/bug-bison/2002-October/001769.html - and I hope it also fixes this bug report: - http://mail.gnu.org/pipermail/bug-bison/2002-October/001748.html + http://mail.gnu.org/archive/html/bug-bison/2002-10/msg00106.html + http://mail.gnu.org/archive/html/bug-bison/2002-10/msg00111.html * doc/bison.texinfo: Minor spelling and typographical fixes. Use @acronym consistently. Standardize on "Yacc" instead of "YACC", @@ -1872,7 +2474,7 @@ 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. @@ -1889,7 +2491,7 @@ 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. @@ -1902,13 +2504,13 @@ * 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 @@ -2033,7 +2635,7 @@ * lib/bitset.h (bitset_reset): Do not assume that bitset_word is the same width as int. This reapplies a hunk of the 2002-08-12 patch - , + , which was inadvertently undone by the 2002-09-30 patch. * lib/lbitset.c (debug_lbitset): Do not assume that bitset_word is the same width as int. @@ -6295,7 +6897,7 @@ * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and its argument. - Reported by Peter Hámorský. + Reported by Peter Hamorsky. 2001-12-05 Akim Demaille @@ -7135,7 +7737,7 @@ 2001-11-12 Akim Demaille - %expext was not functioning at all. + %expect was not functioning at all. * src/conflicts.c (expected_conflicts): Set to -1. (conflict_report): Use ngettext. @@ -10493,10 +11095,11 @@ 1987-12-16 Richard Stallman * REFERENCES: entered into RCS + ----- Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, -1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler.