+2004-05-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ Ensure that the C++ compiler used for testing actually works on a
+ simple test program; if not, skip the C++-related tests. Problem
+ reported by Vin Shelton in:
+ http://mail.gnu.org/archive/html/bug-bison/2004-05/msg00026.html
+
+ * m4/cxx.m4: New file.
+ * configure.ac (BISON_TEST_FOR_WORKING_CXX_COMPILER): Add.
+ * tests/atlocal.in (BISON_CXX_WORKS): Add.
+ * tests/local.at (AT_COMPILE_CXX): Use it.
+
+2004-05-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/glr.c (yylloc): Output this macro even if locations are not
+ being generated, as the GLR parser needs it even in that case.
+ Problem reported by Troy A. Johnson
+ <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=195946>.
+
+ * configure.ac (AC_INIT): Update to 1.875e.
+
+2004-05-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Version 1.875d.
+ * configure.ac (AC_INIT): Likewise.
+ * src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875d.
+
+ * configure.ac (--enable-gcc-warnings): Do not enable -Wshadow,
+ -Wmissing-prototypes, or -Wstrict-prototypes for C++. The current
+ lalr1.cc runs afoul of the first, and the last two are no longer
+ supported by GCC 3.4.0.
+ * README: Mention GNU m4 1.4 or later; mention m4 patches.
+ * HACKING: Use ./bootstrap, not "make update" to import foreign files.
+
+2004-05-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * src/muscle_tab.c (hash_muscle): Accept and return size_t, not
+ unsigned int, for compatibility with latest gnulib hash module.
+ * src/state.c (state_hash, state_hasher): Likewise.
+ * src/symtab.c (hash_symbol, hash_symbol_hasher): Likewise.
+ * src/uniqstr.c (hash_uniqstr): Likewise.
+
+2004-05-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Unescaped newlines are no longer allowed in char & strings.
+
+ * src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER,
+ SC_CHARACTER,SC_STRING>): Reject unescaped newlines in
+ character and string literals.
+ (unexpected_end): New function.
+ (unexpected_eof): Use it.
+ (unexpected_newline): New function.
+ (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>): Coalesce duplicate
+ actions.
+
+ * NEWS: Document %expect-rr.
+
+ * bootstrap (--gnulib-srcdir=*, --cvs-user=*):
+ Fix typo by replacing $1 with $option.
+ Remove more 'intl'-related files.
+ Don't DEFUN AM_INTL_SUBDIR twice.
+
+ * lib/.cvsignore: Add strndup.h. Remove memchr.c, memcmp.c,
+ memrchr.c, strcasecmp.c, strchr.c, strrchr.c, strspn.c, strtol.c,
+ strtoul.c.
+ * m4/.cvsignore: Add exitfail.m4, extensions.m4, gnulib.m4,
+ hard-locale.m4, mbstate_t.m4, strerror_r.m4, strndup.m4,
+ xstrndup.m4. Remove glibc21.m4, intdiv0.m4, inttypes-pri.m4,
+ inttypes.m4, inttypes_h.m4, isc-posix.m4, lcmessage.m4,
+ stdint_h.m4, uintmax_t.m4, ulonglong.m4.
+ * src/.cvsignore: Add *.output.
+
+ * src/parse-gram.y: Put copyright notice inside %{ %} so it
+ gets copied to the output file.
+
+2004-04-28 Paul Eggert <eggert@twinsun.com>
+
+ Get files from the gnulib and po repositories, instead of relying
+ on them being in our CVS. Upgrade to latest versions of gnulib
+ and Automake.
+
+ * Makefile.am (SUBDIRS): Remove m4; Automake now does m4.
+ * bootstrap: Bootstrap from gnulib and po repositories.
+ Much of this code was stolen from GNU diff and GNU tar's bootstrap.
+ * README-cvs: Document these changes. Remove version numbers from
+ mentions of build tools, since they change so often. Mention Flex.
+
+ * configure.ac (AC_CONFIG_MACRO_DIR): Add, with m4 as arg.
+ (gl_USE_SYSTEM_EXTENSIONS): Add.
+ (AC_GNU_SOURCE, AC_AIX, AC_MINIX):
+ Remove; no longer needed, as gl_USE_SYSTEM_EXTENSIONS
+ does this for us.
+ (AC_ISC_POSIX): Remove; we no longer support this
+ ancient OS, as it gets in the way of latest Autoconf & gnulib.
+ (AC_HEADER_STDC): Remove: we now assume C89 or better.
+ (AC_CHECK_HEADERS_ONCE): Use instead of AC_CHECK_HEADERS.
+ Do not check for C89 headers, except for locale.h which is used
+ by the Yacc library and must port to K&R hosts.
+ (AC_CHECK_FUNCS_ONCE): Use instead of AC_CHECK_FUNCS.
+ Do not check for C89 functions, except for setlocale which is
+ used by the Yacc library.
+ (AC_CHECK_DECLS, AC_REPLACE_FUNCS): Remove; no longer needed.
+ (gl_DIRNAME, gl_ERROR, gl_FUNC_ALLOCA, gl_FUNC_MEMCHR,
+ gl_FUNC_MEMRCHR, gl_FUNC_STPCPY, gl_FUNC_STRNLEN, gl_FUNC_STRTOL,
+ gl_GETOPT, gl_HASH, gl_MBSWIDTH, gl_OBSTACK, gl_QUOTE,
+ gl_QUOTEARG, gl_XALLOC, jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_MALLOC,
+ AM_GNU_GETTEXT): Remove; now done by:
+ (GNULIB_AUTOCONF_SNIPPET): Add. "bootstrap" builds this for us.
+ (AC_CONFIG_FILES): Remove m4/Makefile, as Automake now does this
+ for us.
+
+ * lib/Makefile.am: Include gnulib.mk, built for us by "bootstrap".
+ (BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES):
+ Define to empty, as gnulib.mk will do the rest for us.
+ ($(libbison_a_OBJECTS), stdbool.h): Remove, as gnulib.mk does this
+ for us.
+ (libbison_a_SOURCES): Define to $(lib_SOURCES) now.
+ (lib_SOURCES): New symbol, containing only the non-gnulib libs.
+
+ * src/files.c: Include gnulib's xstrndup.h.
+
+ * src/system.h (MALLOC): Use xnmalloc, for better overflow checking.
+ (REALLOC): Use xnrealloc, for likewise.
+ (xstrndup, stpcpy): Remove decls, as gnulib does this for us now.
+ (strnlen, memrchr): Remove decls; functions no longer used.
+ Include <stpcpy.h>.
+
+ * config/depcomp, config/install-sh, lib/alloca.c, lib/argmatch.c,
+ lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
+ lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
+ lib/getopt1.c, lib/gettext.h, lib/hash.c, lib/hash.h,
+ lib/malloc.c, lib/mbswidth.c, lib/mbswidth.h, lib/memchr.c,
+ lib/memcmp.c, lib/memrchr.c, lib/obstack.c, lib/obstack.h,
+ lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h,
+ lib/realloc.c, lib/stdbool_.h, lib/stpcpy.c, lib/strcasecmp.c,
+ lib/strchr.c, lib/strncasecmp.c, lib/strnlen.c, lib/strrchr.c,
+ lib/strspn.c, lib/strtol.c, lib/strtoul.c, lib/unlocked-io.h,
+ lib/xalloc.h, lib/xmalloc.c, lib/xstrdup.c, lib/xstrndup.c,
+ m4/Makefile.am, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
+ m4/error.m4, m4/getopt.m4, m4/hash.m4, m4/malloc.m4,
+ m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4, m4/memcmp.m4,
+ m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/prereq.m4,
+ m4/quote.m4, m4/quotearg.m4, m4/realloc.m4, m4/stdbool.m4,
+ m4/stpcpy.m4, m4/strnlen.m4, m4/strtol.m4, m4/strtoul.m4,
+ m4/unlocked-io.m4, m4/xalloc.m4, po/LINGUAS, po/Makefile.in.in,
+ po/Makevars, po/da.po, po/de.po, po/es.po, po/et.po, po/fr.po,
+ po/hr.po, po/id.po, po/it.po, po/ja.po, po/ms.po, po/nl.po,
+ po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po:
+ Remove, as these files are now generated automatically
+ by bootstrap or automake.
+
+ * po/ChangeLog: Remove: all but one entry was a duplicate
+ of this file, and I moved that 2000-11-02 entry here.
+
+ * config/.cvsignore: Add Makefile, depcomp, install-sh.
+ * lib/.cvsignore: Add alloca.c, alloca.h, alloca_.h, argmatch.c,
+ argmatch.h, basename.c, dirname.c, dirname.h, error.c, error.h,
+ exit.h, exitfail.c, exitfail.h, getopt.c, getopt.h, getopt1.c,
+ getopt_int.h, gettext.h, gnulib.mk, hard-locale.c, hard-locale.h,
+ hash.c, hash.h, malloc.c, mbswidth.c, mbswidth.h, memchr.c,
+ memcmp.c, memrchr.c, obstack.c, obstack.h, quote.c, quote.h,
+ quotearg.c, quotearg.h, realloc.c, stdbool_.h, stpcpy.c, stpcpy.h,
+ strcasecmp.c, strchr.c, stripslash.c, strncasecmp.c, strndup.c,
+ strnlen.c, strrchr.c, strspn.c, strtol.c, strtoul.c,
+ unlocked-io.h, xalloc.h, xmalloc.c, xstrdup.c, xstrndup.c,
+ xstrndup.h.
+ * m4/.cvsignore: Remove Makefile, Makefile.in. Add alloca.m4,
+ dirname.m4, dos.m4, error.m4, getopt.m4, hash.m4, mbrtowc.m4,
+ mbswidth.m4, obstack.m4, onceonly.m4, quote.m4, quotearg.m4,
+ stdbool.m4, stpcpy.m4, strnlen.m4, unlocked-io.m4, xalloc.m4.
+ * po/.cvsignore: Add *.po, LINGUAS, Makefile.in.in, Makevars.
+ * src/.cvsignore: Remove *_.c.
+
+
+ * Makefile.maint (GZIP_ENV): Don't use --rsyncable if gzip doesn't
+ support it. (The latest stable gzip doesn't.)
+
+2004-04-27 Paul Eggert <eggert@twinsun.com>
+
+ * data/lalr1.cc (Parser::stos_) [! YYDEBUG]: Define even in this
+ case, as stos_ is now used by destructors due to the 2004-02-09
+ change.
+
+ Remove more K&R C support.
+ * lib/libiberty.y (PARAMS): Remove. All uses removed.
+ * lib/subpipe.c (errno): Remove decl.
+ Include <stdlib.h> unconditionally.
+ (EXIT_FAILURE): Remove macro.
+ * src/complain.c (vfprintf, strerror): Remove.
+ * src/system.h: Include limits.h, stdlib.h, string.h, locale.h
+ unconditionally.
+ (EXIT_FAILURE, EXIT_SUCCESS, setlocale): Remove defns.
+ Use latest Autoconf recommendations for including inttypes.h, stdint.h.
+ (strchr, strspn, memchr): Remove decls.
+ * tests/calc.at (_AT_DATA_CALC_Y): Include stdlib.h, string.h
+ unconditionally. Do not declare perror.
+ * tests/conflicts.at (%nonassoc and eof): Include stdlib.h
+ unconditionally.
+
+ * src/complain.c (_): Remove useless defn, as system.h defines this.
+
+ * lib/bitset.h (__INT_TO_PTR): Remove; workaround no longer needed
+ with latest obstack.h.
+ * lib/ebitset.c (ebitset_elt_alloc): Don't bother to cast args
+ to procedure types, as obstack.h now does that for us.
+ * lib/lbitset.c (lbitset_elt_alloc): Likewise.
+
+ * lib/subpipe.h [HAVE_SYS_TYPES_H]: Include <sys/types.h>,
+ so that this include file can stand alone.
+ * lib/subpipe.c: Do not include <sys/types.h>, as subpipe.h
+ does this now. Include subpipe.h first after config.h, to
+ test whether it can stand alone.
+
+ * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't
+ declare yyerror when using lalr.cc, as GCC 3.4.0 warns about the
+ unused declaration.
+
+ * tests/synclines.at (%union synch line): Put a dummy member in
+ the union, because empty unions aren't allowed in C. Caught
+ by GCC 3.4.0.
+
+2004-04-13 Jim Meyering <jim@meyering.net>
+
+ * src/conflicts.c (conflicts_print): Correct format string typo:
+ use `%%' to produce literal `%'. (trivial change)
+
+2004-03-30 Paul Eggert <eggert@twinsun.com>
+
+ * src/getargs.c (version): Update copyright year to 2004.
+
+ * data/c.m4 (b4_int_type): Use 'short int' rather than
+ 'short', and similarly for 'long', 'unsigned', etc.
+ * data/glr.c (YYTRANSLATE, yyconfl, yySymbol, yyItemNum,
+ yygetLRActions, yyprocessOneStack, yyrecoverSyntaxError,
+ yy_yypstack, yydumpstack): Likewise.
+ * data/lalr1.cc (user_token_number_max_, user_token_number_max_,
+ translate_, seq_, [], pop, Slice, range_, operator+, operator+=):
+ Likewise.
+ * data/yacc.c (b4_int_type, yyss, YYSTACK_BYTES, yysigned_char,
+ yy_stack_print, yyparse): Likewise.
+ * doc/bison.texinfo (Prologue, Multiple Types): Likewise.
+ * lib/bbitset.h (bitset_word, BITSET_WORD_BITS): Likewise.
+ * lib/bitset.c (bitset_print): Likewise.
+ * lib/bitset_stats.c (bitste_log_histogram_print): Likewise.
+ * lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
+ * lib/bitsetv.c (bitsetv_dump): Likewise.
+ * lib/ebitset.c (EBITSET_ELT_BITS, ebitset_elt_alloc): Likewise.
+ * lib/lbitset.c (LBITSET_ELT_BITS, lbitset_elt_alloc, debug_lbitset):
+ Likewise.
+ * src/LR0.c (allocate_itemsets): Likewise.
+ * src/gram.h (rule_number, rule): Likewise.
+ * src/lalr.h (goto_number): Likewise.
+ * src/nullable.c (nullable_compute): Likewise.
+ * src/output.c (prepare_rules): Likewise.
+ * src/relation.c (relation_print, relation_digraph): Likewise.
+ * src/relation.h (relation_node): Likewise.
+ * src/state.h (state_number, transitions, errs, reductions,
+ struct state): Likewise.
+ * src/symtab.h (symbol_number, struct symbol): Likewise.
+ * src/tables.c (vector_number, tally, action_number,
+ default_goto, goto_actions): Likewise.
+ * tests/existing.at (GNU Cim Grammar): Likewise.
+ * tests/regression.at (Web2c Actions): Likewise.
+
+ * src/output.c (muscle_insert_short_int_table): Renamed from
+ muscle_insert_short_table. All uses changed.
+
+2004-03-25 Paul Hilfinger <hilfingr@tully.CS.Berkeley.EDU>
+
+ * src/parse-gram.y: Define PERCENT_EXPECT_RR.
+ (declaration): Replace expected_conflicts with expected_sr_conflicts.
+ Add %expect-rr rule.
+
+ * src/scan-gram.l: Recognize %expect-rr.
+
+ * src/conflicts.h (expected_sr_conflicts): Rename from
+ expected_conflicts.
+ (expected_rr_conflicts): Declare.
+
+ * src/conflicts.c (expected_sr_conflicts): Rename from
+ expected_conflicts.
+ (expected_rr_conflicts): Define.
+ (conflicts_print): Check r/r conflicts against expected_rr_conflicts
+ for GLR parsers.
+ Use expected_sr_conflicts in place of expected_conflicts.
+ Warn if expected_rr_conflicts used in non-GLR parser.
+
+ * doc/bison.texinfo: Add documentation for %expect-rr.
+
+2004-03-08 Paul Eggert <eggert@gnu.org>
+
+ Add support for hex token numbers. Suggested by Odd Arild Olsen in
+ <http://mail.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>.
+
+ * NEWS: Document hexadecimal tokens, no NUL bytes, %destructor
+ in lalr1.cc.
+ * doc/bison.texinfo (Token Decl): Add hexadecimal token numbers.
+ * src/scan-gram.l (scan_integer): New function.
+ ({int}): Use it.
+ (0[xX][0-9abcdefABCDEF]+): New pattern, to support hex numbers.
+ (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>, \\x[0-9abcdefABCDEF]+,
+ handle_action_dollar, handle_action_at, convert_ucn_to_byte):
+ Say "long int", not "long", for uniformity with GNU style.
+
2004-02-25 Paul Eggert <eggert@twinsun.com>
* tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Ignore stdout from
obstacks.
(output_token_defines, reader_output_yylsp): Use obstacks.
* src/system.h (obstack_fgrow3): New.
+ * po/POTFILES.in: Adjust.
2000-11-01 Akim Demaille <akim@epita.fr>