diff options
author | Vincent Imbimbo <vmi6@cornell.edu> | 2021-01-23 13:25:18 -0500 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2021-01-24 08:24:56 +0100 |
commit | 2c294c132528ede23d8ae4959783a67e9ff05ac5 (patch) | |
tree | 80b6bd87234f4a3179060913a66dda772f18144a /NEWS | |
parent | 236b85dd28b8873eb8f7e8827e485f3b0c6a12d1 (diff) | |
download | bison-2c294c132528ede23d8ae4959783a67e9ff05ac5.tar.gz |
cex: fix state-item pruning
There were several bugs in pruning that would leave the state-item
graph in an inconsistent state which could cause crashes later on:
- Pruning now happens in one pass instead of two.
- Disabled state-items no longer prune the state-items they transition
to if that state-item has other states that transition to it.
- State-items that transition to disabled state-items are always
pruned even if they have productions.
Reported by Michal Bartkowiak <michal.bartkowiak@nokia.com>
https://lists.gnu.org/r/bug-bison/2021-01/msg00000.html
and Zartaj Majeed
https://github.com/akimd/bison/issues/71
* src/state-item.c (prune_forward, prune_backward): Fuse into...
(prune_state_item): this.
Adjust callers.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -4,6 +4,10 @@ GNU Bison NEWS ** Bug fixes +*** Counterexample Generation + + In some cases counterexample generation could crash. This is fixed. + *** GLR parsers now support %merge together with api.value.type=union. *** C++ parsers use noexcept in more places. |