X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/22b081deb7ab1d0ec7a279e5213fa7fdc2c85207..d140056923f4942c645cf56e0f6940e28113cfdd:/tests/conflicts.at?ds=inline diff --git a/tests/conflicts.at b/tests/conflicts.at index 3cced5d7..169509f2 100644 --- a/tests/conflicts.at +++ b/tests/conflicts.at @@ -37,7 +37,7 @@ e: 'e' | /* Nothing. */; ]]) AT_BISON_CHECK([-o input.c input.y], 0, [], -[[input.y:4.9: warning: rule useless in parser due to conflicts: e: /* empty */ +[[input.y:4.9: warning: rule useless in parser due to conflicts: e: /* empty */ [-Wother] ]]) AT_CLEANUP @@ -485,7 +485,7 @@ reduce-nonassoc: %prec 'a'; %% ]AT_YYERROR_DEFINE[ -]AT_YYLEX_DEFINE([aaa])[ +]AT_YYLEX_DEFINE(["aaa"])[ int main (void) @@ -785,7 +785,7 @@ cond: AT_BISON_CHECK([-o input.c input.y], 0, [], [[input.y: conflicts: 1 shift/reduce -input.y:12.3-18: warning: rule useless in parser due to conflicts: cond: cond "then" cond +input.y:12.3-18: warning: rule useless in parser due to conflicts: cond: cond "then" cond [-Wother] ]]) AT_CLEANUP @@ -829,7 +829,7 @@ id : '0'; AT_BISON_CHECK([-o input.c --report=all input.y], 0, [], [[input.y: conflicts: 1 reduce/reduce -input.y:4.6-8: warning: rule useless in parser due to conflicts: id: '0' +input.y:4.6-8: warning: rule useless in parser due to conflicts: id: '0' [-Wother] ]]) # Check the contents of the report. @@ -1149,13 +1149,13 @@ reported_conflicts: AT_BISON_CHECK([[--report=all input.y]], 0, [], [[input.y: conflicts: 1 shift/reduce, 1 reduce/reduce -input.y:12.5-20: warning: rule useless in parser due to conflicts: resolved_conflict: 'a' unreachable1 -input.y:20.5-20: warning: rule useless in parser due to conflicts: unreachable1: 'a' unreachable2 -input.y:21.4: warning: rule useless in parser due to conflicts: unreachable1: /* empty */ -input.y:25.13: warning: rule useless in parser due to conflicts: unreachable2: /* empty */ -input.y:25.16: warning: rule useless in parser due to conflicts: unreachable2: /* empty */ -input.y:31.5-7: warning: rule useless in parser due to conflicts: reported_conflicts: 'a' -input.y:32.4: warning: rule useless in parser due to conflicts: reported_conflicts: /* empty */ +input.y:12.5-20: warning: rule useless in parser due to conflicts: resolved_conflict: 'a' unreachable1 [-Wother] +input.y:20.5-20: warning: rule useless in parser due to conflicts: unreachable1: 'a' unreachable2 [-Wother] +input.y:21.4: warning: rule useless in parser due to conflicts: unreachable1: /* empty */ [-Wother] +input.y:25.13: warning: rule useless in parser due to conflicts: unreachable2: /* empty */ [-Wother] +input.y:25.16: warning: rule useless in parser due to conflicts: unreachable2: /* empty */ [-Wother] +input.y:31.5-7: warning: rule useless in parser due to conflicts: reported_conflicts: 'a' [-Wother] +input.y:32.4: warning: rule useless in parser due to conflicts: reported_conflicts: /* empty */ [-Wother] ]]) AT_CHECK([[cat input.output]], 0, @@ -1301,10 +1301,10 @@ AT_CHECK([[cat input.y >> input-keep.y]]) AT_BISON_CHECK([[input-keep.y]], 0, [], [[input-keep.y: conflicts: 2 shift/reduce, 2 reduce/reduce -input-keep.y:22.4: warning: rule useless in parser due to conflicts: unreachable1: /* empty */ -input-keep.y:26.16: warning: rule useless in parser due to conflicts: unreachable2: /* empty */ -input-keep.y:32.5-7: warning: rule useless in parser due to conflicts: reported_conflicts: 'a' -input-keep.y:33.4: warning: rule useless in parser due to conflicts: reported_conflicts: /* empty */ +input-keep.y:22.4: warning: rule useless in parser due to conflicts: unreachable1: /* empty */ [-Wother] +input-keep.y:26.16: warning: rule useless in parser due to conflicts: unreachable2: /* empty */ [-Wother] +input-keep.y:32.5-7: warning: rule useless in parser due to conflicts: reported_conflicts: 'a' [-Wother] +input-keep.y:33.4: warning: rule useless in parser due to conflicts: reported_conflicts: /* empty */ [-Wother] ]]) AT_CLEANUP @@ -1459,9 +1459,40 @@ state 1 AT_CLEANUP -## --------------------------------- ## -## -W versus %expect and %expect-rr ## -## --------------------------------- ## +## -------------------- ## +## %expect-rr non GLR. ## +## -------------------- ## + +AT_SETUP([[%expect-rr non GLR]]) + +AT_DATA([[1.y]], +[[%expect-rr 0 +%% +exp: 'a' +]]) + +AT_BISON_CHECK([[1.y]], [[0]], [], +[[1.y: warning: %expect-rr applies only to GLR parsers [-Wother] +]]) + +AT_DATA([[2.y]], +[[%expect-rr 1 +%% +exp: 'a' | 'a'; +]]) + +AT_BISON_CHECK([[2.y]], [[0]], [], +[[2.y: warning: %expect-rr applies only to GLR parsers [-Wother] +2.y: conflicts: 1 reduce/reduce +2.y:3.12-14: warning: rule useless in parser due to conflicts: exp: 'a' [-Wother] +]]) + +AT_CLEANUP + + +## ---------------------------------- ## +## -W versus %expect and %expect-rr. ## +## ---------------------------------- ## AT_SETUP([[-W versus %expect and %expect-rr]])