]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
Use unlocked I/O for a minor performance improvement on hosts like
[bison.git] / ChangeLog
index 58a6c9ef59e196ba92e39f50af9936dad30a03fd..888421cf194b5ac0098a8f9fbfd55a7a9cee781d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,118 @@
+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.h (%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 rathe 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>