+2005-12-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Improve wording for unused-value warnings.
+
+2005-12-22 Akim Demaille <akim@epita.fr>
+
+ * data/lalr1.cc, data/yacc.c, data/glr.c, data/c.m4
+ (b4_yysymprint_generate): Rename as...
+ (b4_yy_symbol_print_generate): this.
+ Generate yy_symbol_print instead of yysymprint.
+ Generate also yy_symbol_value_print, and use it.
+
+2005-12-22 Akim Demaille <akim@epita.fr>
+
+ * NEWS: Warn about unused values.
+ * src/symlist.h, src/symlist.c (symbol_list, symbol_list_new): Add
+ a `used' member.
+ (symbol_list_n_get, symbol_list_n_used_set): New.
+ (symbol_list_n_type_name_get): Use symbol_list_n_get.
+ * src/scan-gram.l (handle_action_dollar): Flag used symbols.
+ * src/reader.c (grammar_current_rule_check): Check that values are
+ used.
+ * src/symtab.c (symbol_print): Accept 0.
+ * tests/existing.at: Remove the type information.
+ Empty the actions.
+ Remove useless actions (beware of mid-rule actions: perl -000
+ -pi -e 's/\s*\{\}(?=[\n\s]*[|;])//g').
+ * tests/actions.at (Exotic Dollars): Use unused values.
+ * tests/calc.at: Likewise.
+ * tests/glr-regression.at (No users destructors if stack 0 deleted):
+ Likewise.
+
+ * src/gram.c (rule_useful_p, rule_never_reduced_p): Use
+ rule_useful_p.
+
+2005-12-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ Undo 2005-12-01 tentative license wording change. The wording is
+ still being reviewed by the lawyers, and we don't want to wait for
+ them before publishing a test release. For now, revert to the
+ previous wording.
+ * NEWS: Undo 2005-12-01 change.
+ * data/glr.c: Revert to previous license wording.
+ * data/glr.cc: Likewise.
+ * data/lalr1.cc: Likewise.
+ * data/location.cc: Likewise.
+ * data/yacc.c: Likewise.
+
+ * NEWS: Reword %destructor vs YYABORT etc.
+ * data/glr.c: Use American spacing, for consistency.
+ * data/glr.cc: Likewise.
+ * data/lalr1.cc: Likewise.
+ * data/yacc.c: Likewise.
+ * data/yacc.c: Reformat comments slightly.
+ * doc/bison.texinfo: Replace "non-" with "non" when that makes sense,
+ for consistency. Fix some spelling errors and reword recently-included
+ text slightly.
+ * tests/cxx-type.at: Cast results of malloc, for C++.
+
+2005-12-21 Joel E. Denny <address@hidden>
+
+ * tests/cxx-type.at: Construct a tree, count the parents of shared
+ nodes, and free each node once and only once. Previously, the memory
+ for semantic values was leaked instead.
+
+2005-12-21 Joel E. Denny <address@hidden>
+
+ * data/glr.c (struct yyGLRStack): If pure, add yyval and yyloc members.
+ (yylval, yylloc): If pure, #define to yystackp->yyval and
+ yystackp->yyloc similar to yychar and yynerrs.
+ (yyparse): If pure, remove local yylval and yylloc. Add local
+ yystackp to accommodate pure definitions of yylval and yylloc.
+ (b4_lex_param, b4_lyyerror_args, b4_lpure_args): If pure, change
+ yylvalp and yyllocp to &yylval and &yylloc.
+ (nerrs, char, lval, lloc): If pure, add #define's for b4_prefix[]
+ namespace. Previously, nerrs and char were missing, but lval and lloc
+ weren't necessary.
+ (yyprocessOneStack, yyreportSyntaxError, yyrecoverSyntaxError): Remove
+ yylvalp and yyllocp parameters since, if pure, these are now always
+ accessible through yystackp. If not pure, they are still accessible
+ globally.
+ * data/glr.c, data/yacc.c (YYLLOC_DEFAULT): Change `if (N)' to
+ `if (YYID (N))' to pacify lint.
+
+2005-12-21 Akim Demaille <akim@epita.fr>
+
+ YYACCEPT, YYERROR, and YYABORT, as user actions, should not
+ destroy the RHS symbols of a rule.
+ * data/yacc.c (yylen): Initialize to 0.
+ Keep its value to the number of items to possibly shift.
+ In particular, a regular successful parse that ends on YYFINAL by
+ a (internal) YYACCEPT must not have yylen != 0.
+ (yyerrorlab, yyreturn): Pop the RHS.
+ Reorder a bit to emphasize the `shifting' bits of code.
+ (YYPOPSTACK): Now accept a number of items to pop.
+ * data/lalr1.cc: Likewise.
+ * data/glr.c: Formatting changes.
+ Use goto instead of fall through.
+ * doc/bison.texinfo (Destructor Decl): Complete.
+
+2005-12-20 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ * Makefile.am: DJGPP specific files added to EXTRA_DIST.
+ * djgpp/Makefile.maint: Fix PACKAGE variable computation.
+ * djgpp/config.bat: Replace every occurence of the file name
+ scan-gram-c.c with c-scan-gram.c. The same for scan-skel-c.c with
+ c-scan-skel.c to conform with the 8.3 file name restriction on MSDOS.
+ * djgpp/config.sed: Replace every occurence of the file name
+ scan-gram-c.c with c-scan-gram.c. The same for scan-skel-c.c with
+ c-scan-skel.c to conform with the 8.3 file name restriction on MSDOS.
+ * djgpp/djunpack.bat: DJGPP specific file.
+ * djgpp/fnchange.lst: DJGPP specific file.
+ * djgpp/README.in: Add new information about how to unpack the bison
+ source on MSDOS and other systems which have 8.3 file name restrictions
+ using djunpack.bat and fnchange.lst.
+
+2005-12-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap (build_cvs_prefix): Remove; unused.
+ (CVS_PREFIX): Adjust to yesterday's Savannah reorganization
+ when getting gnulib.
+
+2005-12-12 "Joel E. Denny" <jdenny@ces.clemson.edu>
+
+ * data/glr.c: Reorder typedef declarations for structs to match order
+ of struct declarations.
+ Rename yystack everywhere to yystackp except in yyparse where it's not
+ a pointer.
+ (yyglrShift): Change parameter YYSTYPE yysval to YYSTYPE* yyvalp for
+ consistency.
+ (yyis_table_ninf): Change 0 to YYID (0) to pacify lint.
+ (yyreportSyntaxError): Add /*ARGSUSED*/ to pacify lint.
+ (yyparse): Change while (yytrue) to while ( YYID (yytrue)) to pacify
+ lint.
+
+2005-12-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/sets.at (Accept): Fix typos in regular expression used to
+ sed out the final state number.
+
+ Work around portability problem on Solaris 10: flex-generated
+ files include <stdio.h> before <config.h>, which messes up
+ because the latter defines __EXTENSIONS__. Address the problem
+ by creating two new little files that include <config.h> first,
+ then include the flex-generated files. Rewrite everyone else
+ to include <config.h> first, as well.
+ * lib/timevar.c: Always include "config.h".
+ * src/Makefile.am (bison_SOURCES): Replace scan-gram.l with
+ scan-gram-c.c, and scan-skel.l with scan-skel-c.c.
+ (EXTRA_bison_SOURCES): New macro.
+ * src/scan-gram-c.c, src/scan-skel-c.c: New files.
+ * src/system.h: Don't include config.h.
+ * src/LR0.c: Include <config.h> first.
+ * src/assoc.c: Likewise.
+ * src/closure.c: Likewise.
+ * src/complain.c: Likewise.
+ * src/conflicts.c: Likewise.
+ * src/derives.c: Likewise.
+ * src/files.c: Likewise.
+ * src/getargs.c: Likewise.
+ * src/gram.c: Likewise.
+ * src/lalr.c: Likewise.
+ * src/location.c: Likewise.
+ * src/main.c: Likewise.
+ * src/muscle_tab.c: Likewise.
+ * src/nullable.c: Likewise.
+ * src/output.c: Likewise.
+ * src/parse-gram.y: Likewise.
+ * src/print.c: Likewise.
+ * src/print_graph.c: Likewise.
+ * src/reader.c: Likewise.
+ * src/reduce.c: Likewise.
+ * src/relation.c: Likewise.
+ * src/state.c: Likewise.
+ * src/symlist.c: Likewise.
+ * src/symtab.c: Likewise.
+ * src/tables.c: Likewise.
+ * src/uniqstr.c: Likewise.
+ * src/vcg.c: Likewise.
+
+ * src/parse-gram.y: Fix minor problems uncovered by lint.
+ (current_lhs, current_lhs_location): Now static.
+ (current_assoc): Remove unused variable.
+
+ Cleanups so that Bison-generated parsers have less lint.
+ * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate):
+ Prepend /*ARGSUSED*/, for lint's sake.
+ * data/glr.c (YYUSE): Properly parenthesize, and use an alternate
+ definition if 'lint' is defined.
+ (YYID): New macro (or function, if lint).
+ All uses of /*CONSTCOND*/0 replaced by YYID(0).
+ * data/yacc.c: Likewise.
+ * data/glr.c (yyuserAction, yyuserMerge, yy_reduce_print):
+ (yyrecoverSyntaxError): Prepend /*ARGSUSED*/.
+ * data/glr.cc (YYLLOC_DEFAULT): Omit /*CONSTCOND*/ since this code
+ is C++ only.
+ * data/lalr1.cc (YYUSE): Just use a cast, since this code is C++ only.
+ * data/yacc.c (YYSTACK_FREE) [defined YYSTACK_ALLOC]:
+ Use YYID(0) rather than 0, for lint.
+ (yystrlen): Rewrite to avoid lint warning about ptrdiff_t overflow.
+ (yysyntax_error): Rewrite to avoid lint warnings about parenthesization.
+
+2005-12-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/glr-regression.at
+ (Improper handling of embedded actions and dollar(-N) in GLR parsers):
+ Close memory leak reported by twlevo.
+
+2005-12-06 "Joel E. Denny" <jdenny@ces.clemson.edu>
+
+ * data/glr.c (yyprocessOneStack, yyparse): Synchronize the shift for
+ all stacks.
+ (yyparse): Iterate another stack in order to call user destructors.
+ * tests/glr-regression.at (No users destructors if stack 0 deleted):
+ New test case.
+ (Duplicated user destructor for lookahead): This test now is expected
+ to succeed.
+
+2005-12-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Document the following change.
+ * data/yacc.c: Say "parser skeleton" rather than "file", since
+ it's no longer just a file.
+ * data/glr.c: Grant a special exception for C GLR parsers, that
+ reads like the already-existing exception for C LALR(1) parsers.
+ * data/glr.cc: Likewise.
+ * data/lalr1.cc: Likewise.
+ * data/location.cc: Likewise.
+ * data/yacc.c: Reword the "written by" statement to clarify that
+ it was the parser skeleton, not the entire output file.
+ * data/glr.c: Written by Paul Hilfinger.
+ * data/glr.cc: Written by Akim Demaille.
+ * data/lalr1.cc: Likewise.
+
+2005-11-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/yacc.c (yy_reduce_print, YY_REDUCE_PRINT):
+ Fix typos in previous change that broke 'make check'.
+ YY_REDUCE_PRINT cannot be a pseudo-varargs macro; that isn't
+ supported in C.
+ * tests/calc.at (_AT_CHECK_CALC,_AT_CHECK_CALC_ERROR):
+ Don't check NUM-STDERR-LINES, since the output format is fluctuating.
+ We can revert this once things settle down.
+
+ * src/conflicts.c (conflicts_print): Don't print file name twice
+ when %expect fails because there were no conflicts.
+ * doc/bison.texinfo (Expect Decl): Tighten up wording in previous
+ change.
+ * tests/conflicts.at (%expect not enough, %expect too much):
+ (%expect with reduce conflicts): Adjust to new behavior.
+
+2005-11-18 Akim Demaille <akim@epita.fr>
+
+ * src/conflicts.c (conflicts_print): Unsatisfied %expectation are
+ errors.
+ * NEWS: Document this.
+ * doc/bison.texinfo (Expect Decl): Likewise.
+
+2005-11-16 Akim Demaille <akim@epita.fr>
+
+ Generalize the display of semantic values and locations in traces.
+ * data/glr.c (yy_reduce_print): Fix indices (again).
+ * data/c++.m4 (b4_rhs_value, b4_rhs_location): Don't expect
+ literal integers.
+ * data/lalr1.cc (yyreduce_print): Rename as...
+ (yy_reduce_print): this.
+ Display values and locations.
+ * data/yacc.c (yy_reduce_print): Likewise.
+ (YY_REDUCE_PRINT): Adjust to pass the required arguments.
+ (yysymprint): Move higher to be visible from yy_reduce_print).
+ (yyparse): Adjust.
+ * tests/calc.at: Adjust the expected length of the traces.
+
+2005-11-14 Akim Demaille <akim@epita.fr>
+
+ * data/glr.c (yy_reduce_print): The loop was quite wrong: type are
+ from 1 to N, while values and location start at 0.
+ (b4_rhs_location, b4_rhs_value): Add parens around $1 and $2.
+
+2005-11-14 Akim Demaille <akim@epita.fr>
+
+ * data/glr.c (yy_reduce_print): Fix the $ number.
+
+2005-11-14 Akim Demaille <akim@epita.fr>
+
+ "Use" parse parameters.
+ * data/c.m4 (b4_parse_param_for, b4_parse_param_use): New.
+ * data/glr.c, data/glr.cc: Use them.
+ * data/glr.c (YYUSE): Have a C++ definition that supports
+ non-pointer types.
+
+2005-11-14 Akim Demaille <akim@epita.fr>
+
+ * data/glr.c (yyexpandGLRStack): Declare only if defined.
+
+2005-11-14 Akim Demaille <akim@epita.fr>
+
+ * data/glr.cc: New.
+ * data/m4sugar/m4sugar.m4 (m4_prepend): New.
+
+2005-11-12 Akim Demaille <akim@epita.fr>
+
+ Let position and location be PODs.
+ * data/location.cc (position::initialize, location::initialize): New.
+ (position::position, location::location): Define only if
+ b4_location_constructors is defined.
+ * data/lalr1.cc (b4_location_constructors): Define it for backward
+ compatibility.
+ * doc/bison.texinfo (Initial Action Decl): Use initialize.
+
+2005-11-12 Akim Demaille <akim@epita.fr>
+
+ * data/lalr1.cc: Move the body of the ctor and dtor into the
+ parser file (instead of the header).
+ Wrap the implementations in a "namespace yy".
+
+2005-11-12 Akim Demaille <akim@epita.fr>
+
+ Have glr.c include its header file when created.
+ * data/glr.c (b4_shared_declarations): New.
+ Output them verbatim in the parser if !%defines, otherwise
+ output then in the header file, and include it instead.
+
+2005-11-11 Akim Demaille <akim@epita.fr>
+
+ * data/glr.c: Comment changes.
+
+2005-11-11 Akim Demaille <akim@epita.fr>
+
+ When yydebug, report semantic and location values for reductions.
+ * data/glr.c (yy_reduce_print): Report the semantic values and the
+ locations.
+ (YY_REDUCE_PRINT): Adjust.
+ (yyglrReduce): Use them.
+ (b4_rhs_value, b4_rhs_location): Remove m4_eval invocations.
+ * data/c.m4 (b4_yysymprint_generate): Specify the const arguments.
+ * tests/calc.at (_AT_CHECK_CALC_ERROR): Remove the reduction
+ traces.
+
+2005-11-10 Akim Demaille <akim@epita.fr>
+
+ * data/glr.c (yynewGLRStackItem, YY_RESERVE_GLRSTACK): New.
+ (yyaddDeferredAction, yyglrShift, yyglrShiftDefer): Use them.
+ (yyexpandGLRStack, YYRELOC): Define only when YYSTACKEXPANDABLE.
+
+2005-11-09 Albert Chin-A-Young <china@thewrittenword.com>
+
+ * m4/cxx.m4, examples/Makefile.am: Don't build
+ examples/calc++ if no C++ compiler is available. (trivial change)
+
+2005-11-09 Akim Demaille <akim@epita.fr>
+
+ * src/scan-skel.l: Use a couple of asserts.
+
+2005-11-03 Akim Demaille <akim@epita.fr>
+
+ In some (weird) cases, the final state number is incorrect.
+ Reported by Alexandre Duret-Lutz.
+ * src/LR0.c (state_list_append): Remove the computation of
+ final_state.
+ (save_reductions): Do it here.
+ (get_state): Alpha conversion.
+ (generate_states): Use a for loop.
+ * src/gram.h (item_number_is_rule_number)
+ (item_number_is_symbol_number): New.
+ * src/state.c: Use assert.
+ * src/system.h: Include assert.h.
+ * tests/sets.at (Accept): New.
+
+2005-10-30 Paul Hilfinger <hilfingr@tully.CS.Berkeley.EDU>
+
+ * data/glr.c (yyfill): Adjust comment.
+ (yyresolveAction): Initialize default location properly
+ for empty right-hand sides.
+ (yydoAction): Ditto.
+ Add comment explaining apparently dead code.
+ * tests/glr-regression.at
+ (Incorrectly initialized location for empty right-hand side in GLR):
+ New test.
+
+2005-10-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ * bootstrap (cleanup_gnulib): New function. Use it to clean up
+ gnulib when interrupted. This fixes some race conditions and
+ works around some portability problems (one noted by Paul
+ Hilfinger).
+
+2005-10-22 Akim <akim@epita.fr>
+
+ * Makefile.cfg: Adjust to config -> build-aux.
+ Reported by twledo.
+
+2005-10-21 Akim Demaille <akim@epita.fr>
+
+ * data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Pass
+ the %parse-params.
+ * data/glr.c (YY_SYMBOL_PRINT, yydestroyGLRState): Adjust.
+ * data/yacc.c (b4_Pure_if): Rename as...
+ (b4_yacc_pure_if): this.
+ (YY_SYMBOL_PRINT, yyparse): Adjust.
+ * doc/bison.texinfo: Formatting changes.
+
+2005-10-21 Akim Demaille <akim@epita.fr>
+
+ Finish the transition config -> build-aux.
+ * configure.ac, Makefile.am: Use build-aux.
+ * config/prev-version, config/announce-gen, config/Makefile.am:
+ Move to...
+ * build-aux/prev-version, build-aux/announce-gen,
+ * build-aux/Makefile.am: here.
+
+2005-10-14 Akim Demaille <akim@epita.fr>
+
+ * examples/calc++/test: Use set -x only when VERBOSE.
+
+2005-10-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Bison now warns if it finds a stray `$' or `@' in an action.
+ * src/scan-gram.l (<SC_BRACED_CODE>[$@]): Implement this.
+
+2005-10-13 Akim Demaille <akim@epita.fr>
+
+ * src/scan-skel.l: Output the base name parts of the parser and
+ header file names.
+ * tests/output.at (AT_CHECK_OUTPUT): Support subdirectories, and
+ additional checks.
+ Use this to exercise C++ outputs in subdirs.
+ Reported by Oleg Smolsky.
+
+2005-10-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/c.m4 (b4_c_function_def): Look at __C99_FUNC__, not at
+ __STDC_VERSION__, as IBM cc 7.0 doesn't define the latter either.
+ Problem reported by John P. Hartmann.
+ * data/yacc.c (YYMODERN_C): Likewise. Don't define if the user has
+ already defined it.
+
+2005-10-12 Akim Demaille <akim@epita.fr>
+
+ * src/parse-gram.y (version_check): Exit 63 to please missing
+ (stands for "version mismatch).
+ * tests/input.at, doc/bison.texinfo: Adjust.
+
+2005-10-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ Work around portability problems with Visual Age C compiler
+ (xlc and xlC_r) reported by John P. Hartmann.
+ * data/location.cc (initial_column, initial_line): Remove.
+ All uses replaced by 0 and 1.
+ * src/scan-gram.l (gram_wrap): Redefine to avoid bug in flex 2.5.31
+ that xlc complains about.
+ * src/scan-skel.l (skel_wrap): Likewise.
+ * data/c.m4 (b4_c_function_def): Look at __STDC_VERSION__ as well
+ as __STDC__.
+ * data/yacc.c (YYMODERN_C): New macro, which also looks at
+ __STDC_VERSION__. Use it everywhere instead of looking at
+ __STDC__ and __cplusplus.
+
+2005-10-10 Akim Demaille <akim@epita.fr>
+
+ * examples/calc++/test: Be quiet unless VERBOSE.
+
+2005-10-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/c.m4 (yydestruct, yysymprint):
+ Use YYUSE instead of casting to void.
+ * data/glr.c (YYUSE): New macro.
+ (yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
+ Use it instead of rolling our own.
+ (YYLLOC_DEFAULT, YYCHK, YYDPRINTF, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
+ (YYCHK1):
+ Use /*CONSTCOND*/ to suppress lint warnings.
+ * data/lalr1.cc (YYLLOC_DEFAULT, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
+ (YY_STACK_PRINT): Use 'false' not '0'.
+ (YYUSE): New macro.
+ (yysymprint_, yydestruct_): Use it instead of rolling our own.
+ * data/yacc.c (YYUSE): New macro.
+ (YYCOPY, YYSTACK_RELOCATE, YYBACKUP, YYLLOC_DEFAULT):
+ (YYDPRINTF, YY_SYMBOL_PRINT, YY_STACK_PRINT, YY_REDUCE_PRINT):
+ (yyerrorlab): Use /*CONSTCOND*/ to suppress lint warnings.
+
+
+ * data/m4sugar/m4sugar.m4 (_m4_map): New macro.
+ (m4_map, m4_map_sep): Use it. Handle the empty list correctly.
+
+2005-10-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Undo the parts of the unlocked-I/O change that substituted
+ putc or puts for printf. This might hurt performance a bit,
+ but some people prefer the printf style.
+ * data/c.m4 (yysymprint): Prefer printf to puts and putc.
+ * data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): Remove.
+ All uses replaced by YYFPRINTF and YYDPRINTF.
+ * data/yacc.c: Likewise.
+ * lib/bitset.c (bitset_print): Likewise.
+ * lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer printf to
+ putc and puts.
+ * lib/lbitset.c (debug_lbitset): Likewise.
+ * src/closure.c (print_firsts, print_fderives): Likewise.
+ * src/gram.c (grammar_dump): Likewise.
+ * src/lalr.c (look_ahead_tokens_print): Likewise.
+ * src/output.c (escaped_output): Likewise.
+ (user_actions_output): Break apart two printfs.
+ * src/parse-gram.y (%printer): Prefer printf to putc and puts.
+ * src/reduce.c (reduce_print): Likewise.
+ * src/state.c (state_rule_look_ahead_tokens_print): Likewise.
+ * src/system.h: Include unlocked-io.h rathe than stdio.h.
+
+ * data/glr.c (yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
+ Use assignments rather than casts-to-void to suppress
+ unused-variable warnings. This pacifies 'lint'.
+ * data/lalr1.cc (yysymprint_, yydestruct_): Use a call to suppress
+ unused-variable warnings.
+
+2005-10-03 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ * Makefile.am: DJGPP specific files added to EXTRA_DIST.
+
+2005-10-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use unlocked I/O for a minor performance improvement on hosts like
+ GNU/Linux and Solaris that support unlocked I/O. The basic idea
+ is to use the gnlib unlocked-io module, and to prefer putc and
+ puts to printf when either will work (since the latter doesn't
+ come in an unlocked flavor).
+ * bootstrap (gnulib_modules): Add unlocked-io.
+ * data/c.m4 (yysymprint): Prefer puts and putc to printf.
+ * data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): New macros.
+ Prefer them to YYFPRINTF and YYDPRINTF if either will do,
+ and similarly for puts and putc and printf.
+ * data/yacc.c: Likewise.
+ * lib/bitset.c (bitset_print): Likewise.
+ * lib/bitset.h [USE_UNLOCKED_IO]: Include unlocked-io.h.
+ * lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer putc and puts
+ to printf.
+ * lib/lbitset.c (debug_lbitset): Likewise.
+ * src/closure.c (print_firsts, print_fderives): Likewise.
+ * src/gram.c (grammar_dump): Likewise.
+ * src/lalr.c (look_ahead_tokens_print): Likewise.
+ * src/output.c (escaped_output): Likewise.
+ (user_actions_output): Coalesce two printfs.
+ * src/parse-gram.y (%printer): Prefer putc and puts to printf.
+ * src/reduce.c (reduce_print): Likewise.
+ * src/state.c (state_rule_look_ahead_tokens_print): Likewise.
+ * src/system.h: Include unlocked-io.h rather than stdio.h.
+
+ * data/lalr1.cc: Don't put an unmatched ' in a dnl comment, as
+ this confuses xgettext.
+
+2005-10-02 Akim Demaille <akim@epita.fr>
+
+ * bootstrap (gnulib_modules): Add strverscmp.
+ * lib/.cvsignore: Add strverscmp.c, strverscmp.h.
+ * m4/.cvsignore: Add strverscmp.m4.
+ * src/parse-gram.y (%require): New token, new rule.
+ (version_check): New.
+ * src/scan-gram.l (%require): Adjust.
+ * tests/input.at (AT_REQUIRE): New.
+ Use it.
+ * doc/bison.texinfo (Require Decl): New.
+ (Calc++ Parser): Use %require.
+
+2005-10-02 Akim Demaille <akim@epita.fr>
+
+ * data/location.cc: New.
+
+2005-10-02 Paul Eggert <eggert@cs.ucla.edu>,
+ Akim Demaille <akim@epita.fr>
+
+ Make sure -odir/foo.cc creates dir/location.hh etc.
+ * src/files.h (spec_outfile, parser_file_name, spec_name_prefix)
+ (spec_file_prefix, spec_verbose_file, spec_graph_file)
+ (spec_defines_file): Now const.
+ (dir_prefix): New.
+ (short_base_name): Remove.
+ * src/files.c: Adjust.
+ (dirname.h): Include.
+ (base_name): Don't prototype it.
+ (finput): Remove, duplicates gram_in.
+ (full_base_name, short_base_name): Replace by...
+ (all_but_ext, all_but_tab_ext): these.
+ (compute_base_names): Rename as...
+ (compute_file_name_parts): this.
+ Update to compute the new variables, including dir_prefix.
+ Adjust dependencies.
+ * src/output.c (prepare): Output them.
+ * src/reader.c: Adjust to use gram_in, not finput.
+ * src/scan-skel.l (@dir_prefix@): New.
+
+2005-10-02 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ * lib/subpipe.c: New function end_of_output_subpipe() added
+ to allow support for non-posix systems. This is a no-op function
+ for posix systems.
+
+ * lib/subpipe.h: New function end_of_output_subpipe() added
+ to allow support for non-posix systems. This is a no-op function
+ for posix systems.
+
+ * src/output.c (output_skeleton): Use end_of_output_subpipe() to
+ handle the lack of pipe/fork functionality on non-posix systems.
+
+ * djgpp/Makefile.maint: DJGPP specific file.
+
+ * djgpp/README.in: DJGPP specific file.
+
+ * djgpp/config.bat: DJGPP specific configuration file.
+
+ * djgpp/config.sed: DJGPP specific configuration file.
+
+ * djgpp/config.site: DJGPP specific configuration file.
+
+ * djgpp/config_h.sed: DJGPP specific configuration file.
+
+ * djgpp/subpipe.c: DJGPP specific replacement file for lib/subpipe.c.
+
+ * djgpp/subpipe.h: DJGPP specific replacement file for lib/subpipe.h.
+
+2005-10-02 Akim Demaille <akim@epita.fr>
+
+ * data/location.cc: New, extract from...
+ * data/lalr1.cc: here.
+ (location.hh): Include it after the user prologue, in case the
+ filename type is defined by the user.
+ Forward declation location and position before the pre-prologue.
+ (yyresult_): Rename as...
+ (yyresult): this, it's a local variable, not an attribute.
+ * data/Makefile.am (dist_pkgdata_DATA): Adjust.
+
+2005-10-01 Akim Demaille <akim@epita.fr>
+
+ * examples/extexi: Restore the #line generation.
+
2005-09-30 Akim Demaille <akim@epita.fr>,
Alexandre Duret-Lutz <adl@gnu.org>
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.
+ 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.
struct lbitset_struct, struct bitset_stats_struct): New types.
All uses of struct bitset_struct changed to union bitset_union,
etc.
- * lib/abitset.c (struct abitset_struct, abitset,
+ * lib/abitset.c (struct abitset_struct, abitset,
struct bitset_struct): Remove.
* lib/bitset_stats.c (struct bitset_stats_struct, bitset_stats,
struct bitset_struct): Remove.
2002-06-28 Akim Demaille <akim@epita.fr>
- * src/reader.h: s/grammer_current_rule_merge_set/grammar_.../.
+ * src/reader.h: s/grammer_current_rule_merge_set/grammar_.../.
* src/conflicts.c (conflicts_total_count): `i' is unsigned, to
pacify GCC.
* src/output.c (save_row): Initialize all the variables to pacify GCC.
* src/getargs.c:
* src/symlist.h: Add dprec and merger fields to symbol_list_s.
- * src/symlist.c (symbol_list_new): Initialize dprec and merger fields.
+ * src/symlist.c (symbol_list_new): Initialize dprec and merger fields.
Originally 2002-06-16 Paul Hilfinger <Hilfinger@CS.Berkeley.EDU>
2002-01-20 Marc Autret <marc@gnu.org>
- * src/system.h: Need to define __attribute__ away for non-GCC
- compilers as well (i.e. the vendor C compiler).
+ * src/system.h: Need to define __attribute__ away for non-GCC
+ compilers as well (i.e., the vendor C compiler).
Suggested by Albert Chin-A-Young.
2002-01-11 Tim Van Holder <tim.van.holder@pandora.be>
* src/warshall.c (bitmatrix_print): New.
(TC): Use it.
- When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
+ When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
j must be the outer loop.
* tests/regression.at (Broken Closure): New.
* src/output.c (output): Delete call to reader_output_yylsp.
* src/reader.c (reader): Likewise.
- * src/reader.h: Delete declaration of reader_output_yylsp.
+ * src/reader.h: Delete declaration of reader_output_yylsp.
2001-09-02 Marc Autret <autret_m@epita.fr>