summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2021-03-07 10:01:53 +0100
committerAkim Demaille <akim.demaille@gmail.com>2021-03-07 18:41:38 +0100
commitcf899f7a7cc19661861344d2b34cc98f10273cd9 (patch)
treee926c25751837d4587686095efbc049dd08dd1fb /NEWS
parenta774839ca873d1082f79ba3c4eecc1e242a28ce1 (diff)
downloadbison-cf899f7a7cc19661861344d2b34cc98f10273cd9.tar.gz
yacc: fix push parser
When a pstate is used for multiple successive parses, some state may leak from one run into the following one. That was introduced in 330552ea499ca474f65967160e9d4e50265f9631 "yacc.c: push: don't clear the parser state when accepting/rejecting". Reported by Ryan <dev@splintermail.com> https://lists.gnu.org/r/bug-bison/2021-03/msg00000.html * data/skeletons/yacc.c (yypush_parse): We reusing a pstate from a previous run, do behave as if it were the first run. * tests/push.at (Pstate reuse): Check this.
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS8
1 files changed, 7 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 9598c0c2..454eba25 100644
--- a/NEWS
+++ b/NEWS
@@ -4,11 +4,17 @@ GNU Bison NEWS
** Bug fixes
+*** Reused Push Parsers
+
+ When a push-parser state structure is used for multiple parses, it was
+ possible for some state to leak from one run into the following one.
+
*** Fix Table Generation
In some very rare conditions, when there are many useless tokens, it was
possible to generate incorrect parsers.
+
* Noteworthy changes in release 3.7.5 (2021-01-24) [stable]
** Bug fixes
@@ -290,7 +296,7 @@ GNU Bison NEWS
parse errors, since `yynerrs` was also reset. This can be especially
troublesome when used in autocompletion, since a parser with error
recovery would suggest (irrelevant) expected tokens even if there were
- failure.
+ failures.
Now the parser state can be examined when parsing is finished. The parser
state is reset when starting a new parse.