mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-18 00:33:03 +00:00
(yyparse): Rewrite to avoid "comparison is always true due to limited
range of data type" warning from GCC in synclines.at test.
This commit is contained in:
22
data/yacc.c
22
data/yacc.c
@@ -918,27 +918,19 @@ yybackup:
|
|||||||
YYDPRINTF ((stderr, "\n"));
|
YYDPRINTF ((stderr, "\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set YYN to the action to take in STATE on seeing token YYCHAR1.
|
/* If the proper action on seeing token YYCHAR1 is to reduce or to
|
||||||
Result YYN means
|
detect an error, take that action. */
|
||||||
- YYN < 0: Reduce on rule -YYN.
|
|
||||||
- YYN = 0: Error.
|
|
||||||
- YYN > 0: Shift to state YYN. */
|
|
||||||
yyn += yychar1;
|
yyn += yychar1;
|
||||||
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yychar1)
|
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yychar1)
|
||||||
/* Defaulted action (reduction). */
|
goto yydefault;
|
||||||
yyn = -yydefact[yystate];
|
yyn = yytable[yyn];
|
||||||
else if (yytable[yyn] != YYTABLE_NINF)
|
if (yyn <= 0)
|
||||||
yyn = yytable[yyn];
|
|
||||||
else
|
|
||||||
yyn = 0;
|
|
||||||
|
|
||||||
if (yyn < 0)
|
|
||||||
{
|
{
|
||||||
|
if (yyn == 0 || yyn == YYTABLE_NINF)
|
||||||
|
goto yyerrlab;
|
||||||
yyn = -yyn;
|
yyn = -yyn;
|
||||||
goto yyreduce;
|
goto yyreduce;
|
||||||
}
|
}
|
||||||
else if (yyn == 0)
|
|
||||||
goto yyerrlab;
|
|
||||||
|
|
||||||
if (yyn == YYFINAL)
|
if (yyn == YYFINAL)
|
||||||
YYACCEPT;
|
YYACCEPT;
|
||||||
|
|||||||
Reference in New Issue
Block a user