]> git.saurik.com Git - bison.git/commit - src/parse-gram.c
yysyntax_error: avoid duplicate lookahead collection.
authorJoel E. Denny <jdenny@clemson.edu>
Wed, 23 Sep 2009 21:54:04 +0000 (17:54 -0400)
committerJoel E. Denny <jdenny@clemson.edu>
Sun, 4 Oct 2009 20:26:39 +0000 (16:26 -0400)
commit69a2ab11cf39c253cd6a879915445de18171b739
tree4fd6def01c5d3b19e149d2ea8f4863df83bb7263
parentd88cf117910f0023d3a0f53c2380aec40a748c3d
yysyntax_error: avoid duplicate lookahead collection.

Except when memory reallocation is required, this change
eliminates the need to invoke yysyntax_error twice and thus to
repeat the collection of lookaheads.  It also prepares for
future extensions that will make those repetitions more
expensive and that will require additional memory management in
yysyntax_error.  Finally, it fixes an obscure bug already
exercised in the test suite.
* data/yacc.c (yysyntax_error): Add arguments for message
buffer variables stored in the parser.  Instead of size, return
status similar to yyparse status but indicating success of
message creation.  Other than the actual reallocation of the
message buffer, import and clean up memory management code
from...
(yyparse, yypush_parse): ... here.
* tests/regression.at (%error-verbose overflow): No longer an
expected failure.
(cherry picked from commit 45319f1365eb8d125424f31401d9d33cc02ff4ad)

Conflicts:

src/parse-gram.c
src/parse-gram.h
ChangeLog
data/yacc.c
src/parse-gram.c
src/parse-gram.h
tests/regression.at