X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/c6bf97ccb45672a004ef376b9f3e578d2f558d5f..de7331a0759815a4e1d5e736aa84e80ef9cd04a0:/tests/input.at diff --git a/tests/input.at b/tests/input.at index faa939c1..6b876334 100644 --- a/tests/input.at +++ b/tests/input.at @@ -174,42 +174,109 @@ l: INT | INT { $$ = $1; } INT { $$ = $2 + $< _AT_UNUSED_VALUES_DECLARATIONS]) ) -AT_BISON_CHECK(m4_ifval($2, [ --warnings=midrule-values ])[ input.y], [0], [], -[[input.y:11.10-32: warning: unset value: $]$[ -input.y:11.10-32: warning: unused value: $]1[ -input.y:11.10-32: warning: unused value: $]3[ -input.y:11.10-32: warning: unused value: $]5[ +AT_BISON_CHECK(m4_ifval($2, [--warnings=midrule-values ])[-fcaret input.y], + [0], [], +[[input.y:11.10-32: warning: unset value: $][$ + a: INT | INT { } INT { } INT { }; + ^^^^^^^^^^^^^^^^^^^^^^^ +input.y:11.10-12: warning: unused value: $][1 + a: INT | INT { } INT { } INT { }; + ^^^ +input.y:11.18-20: warning: unused value: $][3 + a: INT | INT { } INT { } INT { }; + ^^^ +input.y:11.26-28: warning: unused value: $][5 + a: INT | INT { } INT { } INT { }; + ^^^ input.y:12.9: warning: empty rule for typed nonterminal, and no action -]]m4_ifval($2, [[[input.y:13.14-20: warning: unset value: $$ -input.y:13.26-41: warning: unset value: $$ -]]])[[input.y:13.10-62: warning: unset value: $]$[ -input.y:13.10-62: warning: unused value: $]3[ -input.y:13.10-62: warning: unused value: $]5[ -]]m4_ifval($2, [[[input.y:14.14-16: warning: unset value: $$ -]]])[[input.y:14.10-49: warning: unset value: $]$[ -input.y:14.10-49: warning: unused value: $]3[ -input.y:14.10-49: warning: unused value: $]5[ -input.y:15.10-37: warning: unset value: $]$[ -input.y:15.10-37: warning: unused value: $]3[ -input.y:15.10-37: warning: unused value: $]5[ -input.y:17.10-58: warning: unset value: $]$[ -input.y:17.10-58: warning: unused value: $]1[ -]]m4_ifval($2, [[[input.y:17.10-58: warning: unused value: $]2[ -]]])[[input.y:17.10-58: warning: unused value: $]3[ -]]m4_ifval($2, [[[input.y:17.10-58: warning: unused value: $]4[ -]]])[[input.y:17.10-58: warning: unused value: $]5[ -input.y:18.10-72: warning: unset value: $]$[ -input.y:18.10-72: warning: unused value: $]1[ -input.y:18.10-72: warning: unused value: $]3[ -]]m4_ifval($2, [[[input.y:18.10-72: warning: unused value: $]4[ -]]])[[input.y:18.10-72: warning: unused value: $]5[ -]]m4_ifval($2, [[[input.y:20.10-55: warning: unused value: $]3[ -]]])[[input.y:21.10-68: warning: unset value: $]$[ -input.y:21.10-68: warning: unused value: $]1[ -input.y:21.10-68: warning: unused value: $]2[ -]]m4_ifval($2, [[[input.y:21.10-68: warning: unused value: $]4[ -]]]))]) - + b: INT | /* empty */; + ^ +]]m4_ifval($2, [[[input.y:13.14-20: warning: unset value: $][$ + c: INT | INT { $][1; } INT { $2; } INT { $4; }; + ^^^^^^^ +input.y:13.26-41: warning: unset value: $][$ + c: INT | INT { $][1; } INT { $2; } INT { $4; }; + ^^^^^^^^^^^^^^^^ +]]])[[input.y:13.10-62: warning: unset value: $][$ + c: INT | INT { $][1; } INT { $2; } INT { $4; }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:13.22-24: warning: unused value: $][3 + c: INT | INT { $][1; } INT { $2; } INT { $4; }; + ^^^ +input.y:13.43-45: warning: unused value: $][5 + c: INT | INT { $][1; } INT { $2; } INT { $4; }; + ^^^ +]]m4_ifval($2, [[[input.y:14.14-16: warning: unset value: $][$ + d: INT | INT { } INT { $][1; } INT { $2; }; + ^^^ +]]])[[input.y:14.10-49: warning: unset value: $][$ + d: INT | INT { } INT { $][1; } INT { $2; }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:14.18-20: warning: unused value: $][3 + d: INT | INT { } INT { $][1; } INT { $2; }; + ^^^ +input.y:14.30-32: warning: unused value: $][5 + d: INT | INT { } INT { $][1; } INT { $2; }; + ^^^ +input.y:15.10-37: warning: unset value: $][$ + e: INT | INT { } INT { } INT { $][1; }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:15.18-20: warning: unused value: $][3 + e: INT | INT { } INT { } INT { $][1; }; + ^^^ +input.y:15.27-29: warning: unused value: $][5 + e: INT | INT { } INT { } INT { $][1; }; + ^^^ +input.y:17.10-58: warning: unset value: $][$ + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:17.10-12: warning: unused value: $][1 + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^ +]]m4_ifval($2, [[[input.y:17.14-29: warning: unused value: $][2 + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^^^^^^^^^^^^^^ +]]])[[input.y:17.31-33: warning: unused value: $][3 + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^ +]]m4_ifval($2, [[[input.y:17.35-50: warning: unused value: $][4 + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^^^^^^^^^^^^^^ +]]])[[input.y:17.52-54: warning: unused value: $][5 + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^ +input.y:18.10-72: warning: unset value: $][$ + h: INT | INT { $$; } INT { $$ = $2; } INT { }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:18.10-12: warning: unused value: $][1 + h: INT | INT { $$; } INT { $$ = $2; } INT { }; + ^^^ +input.y:18.31-33: warning: unused value: $][3 + h: INT | INT { $$; } INT { $$ = $2; } INT { }; + ^^^ +]]m4_ifval($2, [[[input.y:18.35-64: warning: unused value: $][4 + h: INT | INT { $$; } INT { $$ = $2; } INT { }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +]]])[[input.y:18.66-68: warning: unused value: $][5 + h: INT | INT { $$; } INT { $$ = $2; } INT { }; + ^^^ +]]m4_ifval($2, [[[input.y:20.18-37: warning: unused value: $][3 + j: INT | INT INT { $$ = 1; } { $][$ = $][1 + $][2; }; + ^^^^^^^^^^^^^^^^^^^^ +]]])[[input.y:21.10-68: warning: unset value: $][$ + k: INT | INT INT { $$; } { $$ = $3; } { }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:21.10-12: warning: unused value: $][1 + k: INT | INT INT { $$; } { $$ = $3; } { }; + ^^^ +input.y:21.14-16: warning: unused value: $][2 + k: INT | INT INT { $$; } { $$ = $3; } { }; + ^^^ +]]m4_ifval($2, [[[input.y:21.35-64: warning: unused value: $][4 + k: INT | INT INT { $$; } { $$ = $3; } { }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +]]])) +]) ## --------------- ## ## Unused values. ## @@ -353,7 +420,7 @@ tagged: { } ; AT_BISON_CHECK([input.y], [0], [], [[input.y:6.8-45: warning: unset value: $$ -input.y:6.8-45: warning: unused value: $2 +input.y:6.12-14: warning: unused value: $2 input.y:7.6-8: warning: unset value: $$ ]]) @@ -369,7 +436,7 @@ tagged: { } ; ]]) AT_BISON_CHECK([input.y], [0], [], -[[input.y:6.8-45: warning: unused value: $4 +[[input.y:6.23-28: warning: unused value: $4 input.y:8.9-11: warning: unset value: $$ ]]) @@ -394,7 +461,7 @@ end: { } ; AT_BISON_CHECK([input.y], [0], [], [[input.y:6.8-22: warning: unset value: $$ -input.y:6.8-22: warning: unused value: $2 +input.y:6.12-14: warning: unused value: $2 input.y:7.6-8: warning: unset value: $$ ]]) @@ -813,6 +880,25 @@ input.y:19.13-20.0: error: missing '}' at end of file input.y:20.1: error: syntax error, unexpected end of file ]]) +AT_BISON_CHECK([-fcaret -o input.c input.y], 1, [], +[[input.y:1.10-2.0: error: missing '"' at end of line + %token A "a + ^^ +input.y:4.10-5.0: error: missing "'" at end of line + %token C '1 + ^^ +input.y:14.11-15.0: error: missing "'" at end of line + %type 'a + ^^ +input.y:16.11-17.0: error: missing '"' at end of line + %type "a + ^^ +input.y:19.13-20.0: error: missing '}' at end of file + %destructor { free ($$) + ^^^^^^^^^^^ +input.y:20.1: error: syntax error, unexpected end of file +]]) + AT_CLEANUP @@ -1042,6 +1128,18 @@ start: ; ]]) AT_BISON_CHECK([[-Dvar=cmd-d input-dg.y]], [[1]], [], [[input-dg.y:1.9-11: error: %define variable 'var' redefined +:1: previous definition +]]) + +AT_DATA([[input-dg.y]], +[[%define var "gram" +%% +start: ; +]]) +AT_BISON_CHECK([[-fcaret -Dvar=cmd-d input-dg.y]], [[1]], [], +[[input-dg.y:1.9-11: error: %define variable 'var' redefined + %define var "gram" + ^^^ :2: previous definition ]]) @@ -1050,8 +1148,8 @@ AT_DATA([[input-unused.y]], start: ; ]]) AT_BISON_CHECK([[-Dunused-d -Funused-f input-unused.y]], [[1]], [], -[[:2: error: %define variable 'unused-d' is not used -:3: error: %define variable 'unused-f' is not used +[[:1: error: %define variable 'unused-d' is not used +:2: error: %define variable 'unused-f' is not used ]]) AT_CLEANUP @@ -1357,11 +1455,11 @@ start: ; # parse.lac.* options are useless if LAC isn't actually activated. AT_BISON_CHECK([[-Dparse.lac.es-capacity-initial=1 input.y]], [[1]], [], -[[:2: error: %define variable 'parse.lac.es-capacity-initial' is not used +[[:1: error: %define variable 'parse.lac.es-capacity-initial' is not used ]]) AT_BISON_CHECK([[-Dparse.lac.memory-trace=full input.y]], [[1]], [], -[[:2: error: %define variable 'parse.lac.memory-trace' is not used +[[:1: error: %define variable 'parse.lac.memory-trace' is not used ]]) AT_CLEANUP @@ -1420,8 +1518,8 @@ AT_BISON_CHECK([[$2 input.y]], [[1]], [[]], ]) AT_TEST([%define api.prefix foo %name-prefix "bar"], [], [input.y:1.9-18]) -AT_TEST([], [-Dapi.prefix=foo -p bar], [:2]) -AT_TEST([%name-prefix "bar"], [-Dapi.prefix=foo], [:2]) +AT_TEST([], [-Dapi.prefix=foo -p bar], [:1]) +AT_TEST([%name-prefix "bar"], [-Dapi.prefix=foo], [:1]) AT_TEST([%define api.prefix foo], [-p bar], [input.y:1.9-18]) m4_popdef([AT_TEST])