+2005-07-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/glr.c (yyFail): Drastically simplify; since the format argument
+ never had any % directives, we can simply pass it to yyerror.
+ (yyparse): Use "t a; a=b;" rather than "t a = b;" when a will
+ be modified later, as that is the usual style in glr.c.
+ Problems reported by Paul Hilfinger.
+
+ Rewrite GLR parser to catch more buffer overrun, storage exhaustion,
+ and size overflow errors.
+ * data/glr.c: Include <stdio.h> etc. after user prolog, not before,
+ in case the user prolog sets feature-test macros like _GNU_SOURCE.
+ (YYSIZEMAX): New macro.
+ (yystpcpy): New function, taken from yacc.c.
+ (struct yyGLRStack.yyspaceLeft): Now size_t, not int.
+ (yyinitGLRStack, yyfreeGLRstack): Remove unnecessary forward decls,
+ so that we don't have to maintain their signatures.
+ (yyFail): Check for buffer overflow, by using vsnprintf rather
+ than vsprintf. Allocate a bigger buffer if possible.
+ Report an error if buffer allocation fails.
+ (yyStackOverflow): New function.
+ (yyinitStateSet, yyinitGLRStack): Return a boolean indicating whether
+ the initialization was successful. It might fail if storage was
+ exhausted.
+ (yyexpandGLRStack): Add more checks for storage allocation failure.
+ Use yyStackOverflow to report failures.
+ (yymarkStackDeleted, yyglrShift, yyglrShiftDefer, yydoAction):
+ (yysplitStack, yyprocessOneStack, yyparse, yypstack):
+ Don't assume stack number fits in int.
+ (yysplitStack): Check for storage allocation failure.
+ (yysplitStack, yyprocessOneStack): Add pure_formals, so that we
+ can print diagnostics on storage allocation failure. All callers
+ changed.
+ (yyresolveValue): Use yybool for boolean.
+ (yyreportSyntaxError): Check for size-calculation overflow.
+ This code is taken from yacc.c.
+ (yyparse): Check for storage allocation errors when allocating
+ the initial stack.
+
+2005-07-05 Akim Demaille <akim@epita.fr>
+
+ Extract calc++ from the documentation.
+ * doc/bison.texinfo (Calc++): Add the extraction marks.
+ * examples/extexi: New, from the aborted GNU Programming 2E.
+ Separate the different paragraph of a file with empty lines.
+ * examples/Makefile: Use it to extract the whole calc++ example.
+
+2005-06-24 Akim Demaille <akim@epita.fr>
+
+ * doc/bison.texinfo (C++ Parser Interface): Use defcv to define
+ class typedefs.
+
+2005-06-22 Akim Demaille <akim@epita.fr>
+
+ * doc/bison.texinfo (C++ Language Interface): First stab.
+ (C++ Parsers): Remove.
+
+2005-06-22 Akim Demaille <akim@epita.fr>
+
+ * data/lalr1.cc (yylex_): Honor %lex-param.
+
+2005-06-22 Akim Demaille <akim@epita.fr>
+
+ Start a set of simple examples.
+ * examples/calc++/Makefile, examples/calc++/calc++-driver.cc,
+ * examples/calc++/calc++-driver.hh,
+ * examples/calc++/calc++-parser.yy,
+ * examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc,
+ * examples/calc++/compile, examples/calc++/test: New.
+
+2005-06-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/yacc.c (malloc, free) [defined __cplusplus]: Wrap inside
+ extern "C" {}. This fixes a problem reported by Paul Hilfinger,
+ which stems from the 2005-05-27 patch.
+
+2005-06-06 Paul Hilfinger <hilfingr@tully.CS.Berkeley.EDU>
+
+ * data/glr.c: Modify treatment of unused parameters to permit use
+ of g++ (which doesn't allow __attribute__ ((unused)) for parameters).
+
+2005-05-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix infringement on user name space reported by Janos Zoltan Szabo.
+ * data/yacc.c (yyparse): strlen -> yystrlen.
+
+2005-05-30 Akim Demaille <akim@epita.fr>
+
+ * data/lalr1.cc (_): New.
+ Translate the various messages.
+
+2005-05-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix infringement on user name space reported by Bruno Haible.
+ * data/yacc.c (YYSIZE_T): Define first, so that later decls can use it.
+ Prefer GCC's __SIZE_TYPE__ if available, so that we don't infringe on
+ the user's name space.
+ (alloca): Include <stdlib.h> to get it, if it's not built in.
+ (YYMALLOC, YYFREE): Define only if needed.
+ (malloc, free): Declare, but only if needed, as this infringes on
+ the user name space.
+
+2005-05-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix BeOS, FreeBSD, MacOS porting problems reported by Bruno Haible.
+ * lib/bitset.c (bitset_print): Don't assume size_t can be printed
+ with %d format.
+ * lib/ebitset.c (min, max): Undef before defining.
+ * lib/vbitset.c (min, max): Likewise.
+ * lib/subpipe.c (create_subpipe): Save local variables in case
+ vfork clobbers them.
+
+2005-05-24 Bruno Haible <bruno@clisp.org>
+
+ * tests/synclines.at (AT_SYNCLINES_COMPILE): Add support for the
+ error message syntax used by gcc-4.0.
+
+2005-05-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * README: Mention m4 1.4.3. Remove obsolete advice about
+ Sun Forte Developer 6 update 2, VMS, and MS-DOS.
+
+ * bootstrap: Remove workaround for problem I encountered with
+ gettext 0.14.1; it seems to be fixed now.
+
2005-05-22 Paul Eggert <eggert@cs.ucla.edu>
* NEWS: Version 2.0a.
* tests/atlocal.at (GCC): New.
* tests/synclines.at (AT_TEST_SYNCLINE): New macro.
- (Prologue synch line, ,%union synch line, Postprologue synch line)
+ (Prologue synch line, %union synch line, Postprologue synch line)
(Action synch line, Epilogue synch line): New tests.
* src/reader.c (parse_union_decl): Define the muscle stype_line.
* data/bison.simple, data/bison.c++: Use it.