mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-14 06:43:03 +00:00
src/tables.c (matching_state): Don't allow states to match if
either has GLR conflict entries. ChangeLog: update for this and Hilfinger's preceding test-suite addition.
This commit is contained in:
12
src/tables.c
12
src/tables.c
@@ -610,6 +610,15 @@ matching_state (vector_number_t vector)
|
||||
t = tally[i];
|
||||
w = width[i];
|
||||
|
||||
/* If VECTOR has GLR conflicts, return -1 */
|
||||
if (conflict_tos[i] != NULL)
|
||||
{
|
||||
int j;
|
||||
for (j = 0; j < t; j += 1)
|
||||
if (conflict_tos[i][j] != 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (prev = vector - 1; prev >= 0; prev--)
|
||||
{
|
||||
vector_number_t j = order[prev];
|
||||
@@ -622,7 +631,8 @@ matching_state (vector_number_t vector)
|
||||
return -1;
|
||||
|
||||
for (k = 0; match && k < t; k++)
|
||||
if (tos[j][k] != tos[i][k] || froms[j][k] != froms[i][k])
|
||||
if (tos[j][k] != tos[i][k] || froms[j][k] != froms[i][k]
|
||||
|| (conflict_tos[j] != NULL && conflict_tos[j][k] != 0))
|
||||
match = 0;
|
||||
|
||||
if (match)
|
||||
|
||||
Reference in New Issue
Block a user