]> git.saurik.com Git - bison.git/commitdiff
Add yysyntax_error to data/yacc.c.
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 20 Sep 2005 06:07:07 +0000 (06:07 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 20 Sep 2005 06:07:07 +0000 (06:07 +0000)
ChangeLog

index 0905232c09877a656d5e223765970e3c2478a46e..f667b485247b47b23269a4f0f3a07b88c0609abd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
 2005-09-19  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * data/yacc.c (YYSIZE_MAXIMUM): New macro.
+       (YYSTACK_ALLOC_MAXIMUM): Use it.
+       (yysyntax_error): New function.
+       (yyparse) [YYERROR_VERBOSE]: Don't leak memory indefinitely if
+       multiple syntax errors are reported, and alloca is being used.
+       Instead, reallocate buffers twice as big each time, so that
+       we waste at most half the allocated memory.  Start with a small
+       (128-byte) buffer that will suffice in most cases anyway.
+       Use yysyntax_error to do most of the work.
+
+       * doc/bison.texinfo (Error Reporting, Table of Symbols):
+       yynerrs is the number of errors reported, not the number of
+       errors encountered.
+
        * tests/glr-regression.at (Duplicated user destructor for lookahead):
        Mark it as expected to fail.
        Cast result of malloc; problem reported by twlevo@xs4all.nl.