mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
cex: make "rerun with '-Wcex'" a note instead of a warning
Currently the suggestion to rerun is a -Wother warning:
warning: 2 shift/reduce conflicts [-Wconflicts-sr]
warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
Instead, let's attach it as a subnote of the diagnostic (in the
current case, -Wconflicts-sr):
warning: 2 shift/reduce conflicts [-Wconflicts-sr]
note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
* src/conflicts.c (conflicts_print): Do that.
Adjust the test suite.
This commit is contained in:
@@ -686,7 +686,8 @@ conflicts_print (void)
|
|||||||
expected_rr_conflicts = -1;
|
expected_rr_conflicts = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool has_unexpected_conflicts = false;
|
// The warning flags used to emit a diagnostic, if we did.
|
||||||
|
warnings unexpected_conflicts_warning = Wnone;
|
||||||
/* The following two blocks scream for factoring, but i18n support
|
/* The following two blocks scream for factoring, but i18n support
|
||||||
would make it ugly. */
|
would make it ugly. */
|
||||||
{
|
{
|
||||||
@@ -703,7 +704,8 @@ conflicts_print (void)
|
|||||||
complain (NULL, complaint,
|
complain (NULL, complaint,
|
||||||
_("shift/reduce conflicts: %d found, %d expected"),
|
_("shift/reduce conflicts: %d found, %d expected"),
|
||||||
total, expected);
|
total, expected);
|
||||||
has_unexpected_conflicts = true;
|
if (total)
|
||||||
|
unexpected_conflicts_warning = complaint;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (total)
|
else if (total)
|
||||||
@@ -713,7 +715,7 @@ conflicts_print (void)
|
|||||||
"%d shift/reduce conflicts",
|
"%d shift/reduce conflicts",
|
||||||
total),
|
total),
|
||||||
total);
|
total);
|
||||||
has_unexpected_conflicts = true;
|
unexpected_conflicts_warning = Wconflicts_sr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -731,7 +733,8 @@ conflicts_print (void)
|
|||||||
complain (NULL, complaint,
|
complain (NULL, complaint,
|
||||||
_("reduce/reduce conflicts: %d found, %d expected"),
|
_("reduce/reduce conflicts: %d found, %d expected"),
|
||||||
total, expected);
|
total, expected);
|
||||||
has_unexpected_conflicts = true;
|
if (total)
|
||||||
|
unexpected_conflicts_warning = complaint;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (total)
|
else if (total)
|
||||||
@@ -741,15 +744,16 @@ conflicts_print (void)
|
|||||||
"%d reduce/reduce conflicts",
|
"%d reduce/reduce conflicts",
|
||||||
total),
|
total),
|
||||||
total);
|
total);
|
||||||
has_unexpected_conflicts = true;
|
unexpected_conflicts_warning = Wconflicts_rr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (warning_is_enabled (Wcounterexamples))
|
if (warning_is_enabled (Wcounterexamples))
|
||||||
report_counterexamples ();
|
report_counterexamples ();
|
||||||
else if (has_unexpected_conflicts)
|
else if (unexpected_conflicts_warning != Wnone)
|
||||||
complain (NULL, Wother,
|
subcomplain (NULL, unexpected_conflicts_warning,
|
||||||
_("rerun with option '-Wcounterexamples' to generate conflict counterexamples"));
|
_("rerun with option '-Wcounterexamples'"
|
||||||
|
" to generate conflict counterexamples"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -726,7 +726,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
AT_BISON_CHECK([[-Dlr.type=canonical-lr -o input.c input.y]],
|
AT_BISON_CHECK([[-Dlr.type=canonical-lr -o input.c input.y]],
|
||||||
[[0]], [[]],
|
[[0]], [[]],
|
||||||
[[input.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
|
[[input.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([[input]])
|
AT_COMPILE([[input]])
|
||||||
AT_PARSER_CHECK([[input]], [[1]], [[]],
|
AT_PARSER_CHECK([[input]], [[1]], [[]],
|
||||||
@@ -737,7 +737,7 @@ AT_PARSER_CHECK([[input]], [[1]], [[]],
|
|||||||
AT_BISON_CHECK([[-Dlr.type=canonical-lr -Dparse.lac=full \
|
AT_BISON_CHECK([[-Dlr.type=canonical-lr -Dparse.lac=full \
|
||||||
-o input.c input.y]], [[0]], [[]],
|
-o input.c input.y]], [[0]], [[]],
|
||||||
[[input.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
|
[[input.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([[input]])
|
AT_COMPILE([[input]])
|
||||||
AT_PARSER_CHECK([[input]], [[1]], [[]],
|
AT_PARSER_CHECK([[input]], [[1]], [[]],
|
||||||
@@ -748,7 +748,7 @@ AT_PARSER_CHECK([[input]], [[1]], [[]],
|
|||||||
AT_BISON_CHECK([[-Dlr.type=ielr -Dparse.lac=full -o input.c input.y]],
|
AT_BISON_CHECK([[-Dlr.type=ielr -Dparse.lac=full -o input.c input.y]],
|
||||||
[[0]], [[]],
|
[[0]], [[]],
|
||||||
[[input.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
|
[[input.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([[input]])
|
AT_COMPILE([[input]])
|
||||||
AT_PARSER_CHECK([[input]], [[1]], [[]],
|
AT_PARSER_CHECK([[input]], [[1]], [[]],
|
||||||
@@ -773,7 +773,7 @@ exp: exp OP exp | NUM;
|
|||||||
|
|
||||||
AT_BISON_CHECK([-o input.c --report=all input.y], 0, [],
|
AT_BISON_CHECK([-o input.c --report=all input.y], 0, [],
|
||||||
[[input.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
[[input.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
|
|
||||||
# Check the contents of the report.
|
# Check the contents of the report.
|
||||||
@@ -1032,7 +1032,7 @@ cond:
|
|||||||
|
|
||||||
AT_BISON_CHECK([-o input.c input.y], 0, [],
|
AT_BISON_CHECK([-o input.c input.y], 0, [],
|
||||||
[[input.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
[[input.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
input.y:12.3-18: warning: rule useless in parser due to conflicts [-Wother]
|
input.y:12.3-18: warning: rule useless in parser due to conflicts [-Wother]
|
||||||
]])
|
]])
|
||||||
|
|
||||||
@@ -1137,7 +1137,7 @@ id : '0';
|
|||||||
|
|
||||||
AT_BISON_CHECK([-o input.c --report=all input.y], 0, [],
|
AT_BISON_CHECK([-o input.c --report=all input.y], 0, [],
|
||||||
[[input.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
[[input.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
input.y:4.6-8: warning: rule useless in parser due to conflicts [-Wother]
|
input.y:4.6-8: warning: rule useless in parser due to conflicts [-Wother]
|
||||||
]])
|
]])
|
||||||
|
|
||||||
@@ -1272,7 +1272,7 @@ exp: exp OP exp | NUM;
|
|||||||
|
|
||||||
AT_BISON_CHECK([-o input.c input.y], 1, [],
|
AT_BISON_CHECK([-o input.c input.y], 1, [],
|
||||||
[[input.y: error: shift/reduce conflicts: 1 found, 0 expected
|
[[input.y: error: shift/reduce conflicts: 1 found, 0 expected
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|
||||||
@@ -1309,7 +1309,7 @@ exp: exp OP exp | NUM;
|
|||||||
|
|
||||||
AT_BISON_CHECK([-o input.c input.y], 1, [],
|
AT_BISON_CHECK([-o input.c input.y], 1, [],
|
||||||
[[input.y: error: shift/reduce conflicts: 1 found, 2 expected
|
[[input.y: error: shift/reduce conflicts: 1 found, 2 expected
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|
||||||
@@ -1329,7 +1329,7 @@ a: 'a';
|
|||||||
|
|
||||||
AT_BISON_CHECK([-o input.c input.y], 1, [],
|
AT_BISON_CHECK([-o input.c input.y], 1, [],
|
||||||
[[input.y: error: reduce/reduce conflicts: 1 found, 0 expected
|
[[input.y: error: reduce/reduce conflicts: 1 found, 0 expected
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|
||||||
@@ -1530,7 +1530,7 @@ e: e '+' e
|
|||||||
|
|
||||||
AT_BISON_CHECK([-Wall -o input.c input.y], 0, [],
|
AT_BISON_CHECK([-Wall -o input.c input.y], 0, [],
|
||||||
[[input.y: warning: 4 shift/reduce conflicts [-Wconflicts-sr]
|
[[input.y: warning: 4 shift/reduce conflicts [-Wconflicts-sr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
input.y:1.1-5: warning: useless precedence and associativity for '+' [-Wprecedence]
|
input.y:1.1-5: warning: useless precedence and associativity for '+' [-Wprecedence]
|
||||||
input.y:2.1-5: warning: useless precedence and associativity for '*' [-Wprecedence]
|
input.y:2.1-5: warning: useless precedence and associativity for '*' [-Wprecedence]
|
||||||
]])
|
]])
|
||||||
@@ -1638,7 +1638,7 @@ reported_conflicts:
|
|||||||
AT_BISON_CHECK([[--report=all input.y]], 0, [],
|
AT_BISON_CHECK([[--report=all input.y]], 0, [],
|
||||||
[[input.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
[[input.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
||||||
input.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
input.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
input.y:12.5-20: warning: rule useless in parser due to conflicts [-Wother]
|
input.y:12.5-20: warning: rule useless in parser due to conflicts [-Wother]
|
||||||
input.y:20.5-20: warning: rule useless in parser due to conflicts [-Wother]
|
input.y:20.5-20: warning: rule useless in parser due to conflicts [-Wother]
|
||||||
input.y:21.4: warning: rule useless in parser due to conflicts [-Wother]
|
input.y:21.4: warning: rule useless in parser due to conflicts [-Wother]
|
||||||
@@ -1838,7 +1838,7 @@ AT_CHECK([[cat input.y >> input-keep.y]])
|
|||||||
AT_BISON_CHECK([[input-keep.y]], 0, [],
|
AT_BISON_CHECK([[input-keep.y]], 0, [],
|
||||||
[[input-keep.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
|
[[input-keep.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
|
||||||
input-keep.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
input-keep.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
||||||
input-keep.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input-keep.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
input-keep.y:22.4: warning: rule useless in parser due to conflicts [-Wother]
|
input-keep.y:22.4: warning: rule useless in parser due to conflicts [-Wother]
|
||||||
input-keep.y:26.16: warning: rule useless in parser due to conflicts [-Wother]
|
input-keep.y:26.16: warning: rule useless in parser due to conflicts [-Wother]
|
||||||
input-keep.y:32.5-7: warning: rule useless in parser due to conflicts [-Wother]
|
input-keep.y:32.5-7: warning: rule useless in parser due to conflicts [-Wother]
|
||||||
@@ -2038,7 +2038,7 @@ exp: 'a' | 'a';
|
|||||||
AT_BISON_CHECK([[2.y]], [[0]], [],
|
AT_BISON_CHECK([[2.y]], [[0]], [],
|
||||||
[[2.y: warning: %expect-rr applies only to GLR parsers [-Wother]
|
[[2.y: warning: %expect-rr applies only to GLR parsers [-Wother]
|
||||||
2.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
2.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
2.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
2.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
2.y:3.12-14: warning: rule useless in parser due to conflicts [-Wother]
|
2.y:3.12-14: warning: rule useless in parser due to conflicts [-Wother]
|
||||||
]])
|
]])
|
||||||
|
|
||||||
@@ -2075,15 +2075,14 @@ B: ;
|
|||||||
AT_BISON_CHECK([[sr-rr.y]], [[0]], [[]],
|
AT_BISON_CHECK([[sr-rr.y]], [[0]], [[]],
|
||||||
[[sr-rr.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
[[sr-rr.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
||||||
sr-rr.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
sr-rr.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
sr-rr.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
sr-rr.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([[-Wno-conflicts-sr sr-rr.y]], [[0]], [[]],
|
AT_BISON_CHECK([[-Wno-conflicts-sr sr-rr.y]], [[0]], [[]],
|
||||||
[[sr-rr.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
[[sr-rr.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
sr-rr.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
sr-rr.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([[-Wno-conflicts-rr sr-rr.y]], [[0]], [[]],
|
AT_BISON_CHECK([[-Wno-conflicts-rr sr-rr.y]], [[0]], [[]],
|
||||||
[[sr-rr.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
[[sr-rr.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
||||||
sr-rr.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
|
||||||
]])
|
]])
|
||||||
|
|
||||||
[
|
[
|
||||||
@@ -2140,19 +2139,30 @@ for gram in sr-rr sr rr; do
|
|||||||
]AT_BISON_CHECK([[-Werror $file]])[
|
]AT_BISON_CHECK([[-Werror $file]])[
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
issue_note=false
|
||||||
if test -z "$sr_exp_i" && test "$sr_count" -ne 0; then
|
if test -z "$sr_exp_i" && test "$sr_count" -ne 0; then
|
||||||
echo "warning: $sr_count shift/reduce conflicts"
|
echo "warning: $sr_count shift/reduce conflicts"
|
||||||
|
issue_note=true
|
||||||
elif test "$sr_exp_i" -ne "$sr_count"; then
|
elif test "$sr_exp_i" -ne "$sr_count"; then
|
||||||
echo "error: shift/reduce conflicts: $sr_count found, $sr_exp_i expected"
|
echo "error: shift/reduce conflicts: $sr_count found, $sr_exp_i expected"
|
||||||
|
if test "$sr_exp_i" -ne 0; then
|
||||||
|
issue_note=true
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if test -z "$rr_exp_i" && test "$rr_count" -ne 0; then
|
if test -z "$rr_exp_i" && test "$rr_count" -ne 0; then
|
||||||
echo "warning: $rr_count reduce/reduce conflicts"
|
echo "warning: $rr_count reduce/reduce conflicts"
|
||||||
|
issue_note=true
|
||||||
elif test "$rr_exp_i" -ne "$rr_count"; then
|
elif test "$rr_exp_i" -ne "$rr_count"; then
|
||||||
echo "error: reduce/reduce conflicts: $rr_count found, $rr_exp_i expected"
|
echo "error: reduce/reduce conflicts: $rr_count found, $rr_exp_i expected"
|
||||||
|
if test "$rr_exp_i" -ne 0; then
|
||||||
|
issue_note=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if $issue_note; then
|
||||||
|
echo "note: rerun with option '-Wcounterexamples' to generate conflict counterexamples"
|
||||||
fi
|
fi
|
||||||
} | sed -e "s/^/$file: /" > experr
|
} | sed -e "s/^/$file: /" > experr
|
||||||
]AT_BISON_CHECK([[-Wnone $file]], [[1]], [[]], [[experr]])[
|
]AT_BISON_CHECK([[-Wnone $file]], [[1]], [[]], [[experr]])[
|
||||||
echo "$file: error: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Werror=other]" >> experr
|
|
||||||
]AT_BISON_CHECK([[-Werror $file]], [[1]], [[]], [[experr]])[
|
]AT_BISON_CHECK([[-Werror $file]], [[1]], [[]], [[experr]])[
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -434,7 +434,7 @@ input.y:323.10: warning: empty rule without %empty [-Wempty-rule]
|
|||||||
]AT_COND_CASE([[canonical LR]],
|
]AT_COND_CASE([[canonical LR]],
|
||||||
[[input.y: warning: 265 shift/reduce conflicts [-Wconflicts-sr]]],
|
[[input.y: warning: 265 shift/reduce conflicts [-Wconflicts-sr]]],
|
||||||
[[input.y: warning: 65 shift/reduce conflicts [-Wconflicts-sr]]])[
|
[[input.y: warning: 65 shift/reduce conflicts [-Wconflicts-sr]]])[
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
input.y:39.1-5: warning: useless associativity for FUNC_CALL, use %precedence [-Wprecedence]
|
input.y:39.1-5: warning: useless associativity for FUNC_CALL, use %precedence [-Wprecedence]
|
||||||
input.y:44.1-5: warning: useless associativity for YNUMBER, use %precedence [-Wprecedence]
|
input.y:44.1-5: warning: useless associativity for YNUMBER, use %precedence [-Wprecedence]
|
||||||
input.y:44.1-5: warning: useless associativity for YSTRING, use %precedence [-Wprecedence]
|
input.y:44.1-5: warning: useless associativity for YSTRING, use %precedence [-Wprecedence]
|
||||||
@@ -1419,7 +1419,7 @@ input.y:591.18: warning: empty rule without %empty [-Wempty-rule]
|
|||||||
input.y: warning: 144 reduce/reduce conflicts [-Wconflicts-rr]]],
|
input.y: warning: 144 reduce/reduce conflicts [-Wconflicts-rr]]],
|
||||||
[[input.y: warning: 78 shift/reduce conflicts [-Wconflicts-sr]
|
[[input.y: warning: 78 shift/reduce conflicts [-Wconflicts-sr]
|
||||||
input.y: warning: 10 reduce/reduce conflicts [-Wconflicts-rr]]])[
|
input.y: warning: 10 reduce/reduce conflicts [-Wconflicts-rr]]])[
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
input.y:72.1-5: warning: useless associativity for HQUA, use %precedence [-Wprecedence]
|
input.y:72.1-5: warning: useless associativity for HQUA, use %precedence [-Wprecedence]
|
||||||
input.y:53.1-6: warning: useless associativity for HASSIGN, use %precedence [-Wprecedence]
|
input.y:53.1-6: warning: useless associativity for HASSIGN, use %precedence [-Wprecedence]
|
||||||
input.y:54.1-5: warning: useless associativity for HORELSE, use %precedence [-Wprecedence]
|
input.y:54.1-5: warning: useless associativity for HORELSE, use %precedence [-Wprecedence]
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr1.c -rall glr-regr1.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr1.c -rall glr-regr1.y]], 0, [],
|
||||||
[[glr-regr1.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
[[glr-regr1.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
||||||
glr-regr1.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr1.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr1])
|
AT_COMPILE([glr-regr1])
|
||||||
AT_PARSER_CHECK([[glr-regr1 BPBPB]], 0,
|
AT_PARSER_CHECK([[glr-regr1 BPBPB]], 0,
|
||||||
@@ -214,7 +214,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr2a.c -rall glr-regr2a.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr2a.c -rall glr-regr2a.y]], 0, [],
|
||||||
[[glr-regr2a.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
|
[[glr-regr2a.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr]
|
||||||
glr-regr2a.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr2a.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr2a])
|
AT_COMPILE([glr-regr2a])
|
||||||
|
|
||||||
@@ -350,7 +350,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
AT_BISON_CHECK([[-o glr-regr3.c -rall glr-regr3.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr3.c -rall glr-regr3.y]], 0, [],
|
||||||
[[glr-regr3.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
[[glr-regr3.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
||||||
glr-regr3.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
glr-regr3.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
||||||
glr-regr3.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr3.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr3])
|
AT_COMPILE([glr-regr3])
|
||||||
|
|
||||||
@@ -447,7 +447,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr4.c -rall glr-regr4.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr4.c -rall glr-regr4.y]], 0, [],
|
||||||
[[glr-regr4.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
[[glr-regr4.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
||||||
glr-regr4.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr4.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr4])
|
AT_COMPILE([glr-regr4])
|
||||||
|
|
||||||
@@ -505,7 +505,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr5.c -rall glr-regr5.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr5.c -rall glr-regr5.y]], 0, [],
|
||||||
[[glr-regr5.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
[[glr-regr5.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
glr-regr5.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr5.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr5])
|
AT_COMPILE([glr-regr5])
|
||||||
|
|
||||||
@@ -555,7 +555,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr6.c -rall glr-regr6.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr6.c -rall glr-regr6.y]], 0, [],
|
||||||
[[glr-regr6.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
[[glr-regr6.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
glr-regr6.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr6.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr6])
|
AT_COMPILE([glr-regr6])
|
||||||
|
|
||||||
@@ -646,7 +646,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr7.c -rall glr-regr7.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr7.c -rall glr-regr7.y]], 0, [],
|
||||||
[[glr-regr7.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
[[glr-regr7.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
||||||
glr-regr7.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr7.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr7])
|
AT_COMPILE([glr-regr7])
|
||||||
|
|
||||||
@@ -737,7 +737,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr8.c -rall glr-regr8.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr8.c -rall glr-regr8.y]], 0, [],
|
||||||
[[glr-regr8.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
[[glr-regr8.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
glr-regr8.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr8.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr8])
|
AT_COMPILE([glr-regr8])
|
||||||
|
|
||||||
@@ -819,7 +819,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr9.c -rall glr-regr9.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr9.c -rall glr-regr9.y]], 0, [],
|
||||||
[[glr-regr9.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
[[glr-regr9.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
||||||
glr-regr9.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr9.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr9])
|
AT_COMPILE([glr-regr9])
|
||||||
|
|
||||||
@@ -877,7 +877,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr10.c -rall glr-regr10.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr10.c -rall glr-regr10.y]], 0, [],
|
||||||
[[glr-regr10.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
[[glr-regr10.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
glr-regr10.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr10.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr10])
|
AT_COMPILE([glr-regr10])
|
||||||
|
|
||||||
@@ -937,7 +937,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr11.c -rall glr-regr11.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr11.c -rall glr-regr11.y]], 0, [],
|
||||||
[[glr-regr11.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
[[glr-regr11.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
glr-regr11.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr11.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr11])
|
AT_COMPILE([glr-regr11])
|
||||||
|
|
||||||
@@ -1060,7 +1060,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
AT_BISON_CHECK([[-o glr-regr12.c -rall glr-regr12.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr12.c -rall glr-regr12.y]], 0, [],
|
||||||
[[glr-regr12.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
[[glr-regr12.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
|
||||||
glr-regr12.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
glr-regr12.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
glr-regr12.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr12.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr12])
|
AT_COMPILE([glr-regr12])
|
||||||
|
|
||||||
@@ -1392,7 +1392,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr14.c -rall glr-regr14.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr14.c -rall glr-regr14.y]], 0, [],
|
||||||
[[glr-regr14.y: warning: 5 reduce/reduce conflicts [-Wconflicts-rr]
|
[[glr-regr14.y: warning: 5 reduce/reduce conflicts [-Wconflicts-rr]
|
||||||
glr-regr14.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr14.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr14])
|
AT_COMPILE([glr-regr14])
|
||||||
|
|
||||||
@@ -1487,7 +1487,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr15.c -rall glr-regr15.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr15.c -rall glr-regr15.y]], 0, [],
|
||||||
[[glr-regr15.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
[[glr-regr15.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
|
||||||
glr-regr15.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr15.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr15])
|
AT_COMPILE([glr-regr15])
|
||||||
|
|
||||||
@@ -1549,7 +1549,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr16.c -rall glr-regr16.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr16.c -rall glr-regr16.y]], 0, [],
|
||||||
[[glr-regr16.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
[[glr-regr16.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
glr-regr16.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr16.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr16])
|
AT_COMPILE([glr-regr16])
|
||||||
|
|
||||||
@@ -1625,7 +1625,7 @@ AT_BISON_OPTION_POPDEFS
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o glr-regr17.c -rall glr-regr17.y]], 0, [],
|
AT_BISON_CHECK([[-o glr-regr17.c -rall glr-regr17.y]], 0, [],
|
||||||
[[glr-regr17.y: warning: 3 reduce/reduce conflicts [-Wconflicts-rr]
|
[[glr-regr17.y: warning: 3 reduce/reduce conflicts [-Wconflicts-rr]
|
||||||
glr-regr17.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
glr-regr17.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([glr-regr17])
|
AT_COMPILE([glr-regr17])
|
||||||
|
|
||||||
@@ -1719,7 +1719,7 @@ d: /* nada. */;
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-o input.c input.y]], 0, [],
|
AT_BISON_CHECK([[-o input.c input.y]], 0, [],
|
||||||
[[input.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
[[input.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([input])
|
AT_COMPILE([input])
|
||||||
|
|
||||||
|
|||||||
@@ -2887,7 +2887,6 @@ input.y:13.1-14: note: previous definition
|
|||||||
input.y:14.16-29: warning: %define variable 'parse.error' redefined [-Wother]
|
input.y:14.16-29: warning: %define variable 'parse.error' redefined [-Wother]
|
||||||
input.y:13.16-29: note: previous definition
|
input.y:13.16-29: note: previous definition
|
||||||
input.y: error: reduce/reduce conflicts: 0 found, 42 expected
|
input.y: error: reduce/reduce conflicts: 0 found, 42 expected
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
|
||||||
input.y: warning: fix-its can be applied. Rerun with option '--update'. [-Wother]
|
input.y: warning: fix-its can be applied. Rerun with option '--update'. [-Wother]
|
||||||
]])
|
]])
|
||||||
|
|
||||||
|
|||||||
@@ -1300,7 +1300,7 @@ dnl INPUT
|
|||||||
dnl BISON-STDERR
|
dnl BISON-STDERR
|
||||||
[AT_COND_CASE([[LALR]],
|
[AT_COND_CASE([[LALR]],
|
||||||
[[input.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
[[input.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
]], [])],
|
]], [])],
|
||||||
|
|
||||||
dnl TABLES
|
dnl TABLES
|
||||||
|
|||||||
@@ -285,7 +285,7 @@ term: 'n'
|
|||||||
|
|
||||||
AT_BISON_CHECK([[-fcaret input.y]], [], [],
|
AT_BISON_CHECK([[-fcaret input.y]], [], [],
|
||||||
[[input.y: warning: 5 reduce/reduce conflicts [-Wconflicts-rr]
|
[[input.y: warning: 5 reduce/reduce conflicts [-Wconflicts-rr]
|
||||||
input.y: warning: rerun with option '-Wcounterexamples' to generate conflict counterexamples [-Wother]
|
input.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
|
||||||
input.y:2.14-17: warning: rule useless in parser due to conflicts [-Wother]
|
input.y:2.14-17: warning: rule useless in parser due to conflicts [-Wother]
|
||||||
2 | expr: term | term | term | term | term | term
|
2 | expr: term | term | term | term | term | term
|
||||||
| ^~~~
|
| ^~~~
|
||||||
|
|||||||
Reference in New Issue
Block a user