X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/064e42b0aca1db0ca84b06b01cac5a40f3016591..781eaf908d291694da0716fa040ee0fe5d8c0899:/tests/input.at diff --git a/tests/input.at b/tests/input.at index 98a67847..a5d8d92b 100644 --- a/tests/input.at +++ b/tests/input.at @@ -169,42 +169,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: $]$[ [-Wother] -input.y:11.10-32: warning: unused value: $]1[ [-Wother] -input.y:11.10-32: warning: unused value: $]3[ [-Wother] -input.y:11.10-32: warning: unused value: $]5[ [-Wother] +AT_BISON_CHECK(m4_ifval($2, [--warnings=midrule-values ])[-fcaret input.y], + [0], [], +[[input.y:11.10-32: warning: unset value: $][$ [-Wother] + a: INT | INT { } INT { } INT { }; + ^^^^^^^^^^^^^^^^^^^^^^^ +input.y:11.10-12: warning: unused value: $][1 [-Wother] + a: INT | INT { } INT { } INT { }; + ^^^ +input.y:11.18-20: warning: unused value: $][3 [-Wother] + a: INT | INT { } INT { } INT { }; + ^^^ +input.y:11.26-28: warning: unused value: $][5 [-Wother] + a: INT | INT { } INT { } INT { }; + ^^^ input.y:12.9: warning: empty rule for typed nonterminal, and no action [-Wother] -]]m4_ifval($2, [[[input.y:13.14-20: warning: unset value: $$ [-Wmidrule-values] -input.y:13.26-41: warning: unset value: $$ [-Wmidrule-values] -]]])[[input.y:13.10-62: warning: unset value: $]$[ [-Wother] -input.y:13.10-62: warning: unused value: $]3[ [-Wother] -input.y:13.10-62: warning: unused value: $]5[ [-Wother] -]]m4_ifval($2, [[[input.y:14.14-16: warning: unset value: $$ [-Wmidrule-values] -]]])[[input.y:14.10-49: warning: unset value: $]$[ [-Wother] -input.y:14.10-49: warning: unused value: $]3[ [-Wother] -input.y:14.10-49: warning: unused value: $]5[ [-Wother] -input.y:15.10-37: warning: unset value: $]$[ [-Wother] -input.y:15.10-37: warning: unused value: $]3[ [-Wother] -input.y:15.10-37: warning: unused value: $]5[ [-Wother] -input.y:17.10-58: warning: unset value: $]$[ [-Wother] -input.y:17.10-58: warning: unused value: $]1[ [-Wother] -]]m4_ifval($2, [[[input.y:17.10-58: warning: unused value: $]2[ [-Wmidrule-values] -]]])[[input.y:17.10-58: warning: unused value: $]3[ [-Wother] -]]m4_ifval($2, [[[input.y:17.10-58: warning: unused value: $]4[ [-Wmidrule-values] -]]])[[input.y:17.10-58: warning: unused value: $]5[ [-Wother] -input.y:18.10-72: warning: unset value: $]$[ [-Wother] -input.y:18.10-72: warning: unused value: $]1[ [-Wother] -input.y:18.10-72: warning: unused value: $]3[ [-Wother] -]]m4_ifval($2, [[[input.y:18.10-72: warning: unused value: $]4[ [-Wmidrule-values] -]]])[[input.y:18.10-72: warning: unused value: $]5[ [-Wother] -]]m4_ifval($2, [[[input.y:20.10-55: warning: unused value: $]3[ [-Wmidrule-values] -]]])[[input.y:21.10-68: warning: unset value: $]$[ [-Wother] -input.y:21.10-68: warning: unused value: $]1[ [-Wother] -input.y:21.10-68: warning: unused value: $]2[ [-Wother] -]]m4_ifval($2, [[[input.y:21.10-68: warning: unused value: $]4[ [-Wmidrule-values] -]]]))]) - + b: INT | /* empty */; + ^ +]]m4_ifval($2, [[[input.y:13.14-20: warning: unset value: $][$ [-Wmidrule-values] + c: INT | INT { $][1; } INT { $2; } INT { $4; }; + ^^^^^^^ +input.y:13.26-41: warning: unset value: $][$ [-Wmidrule-values] + c: INT | INT { $][1; } INT { $2; } INT { $4; }; + ^^^^^^^^^^^^^^^^ +]]])[[input.y:13.10-62: warning: unset value: $][$ [-Wother] + c: INT | INT { $][1; } INT { $2; } INT { $4; }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:13.22-24: warning: unused value: $][3 [-Wother] + c: INT | INT { $][1; } INT { $2; } INT { $4; }; + ^^^ +input.y:13.43-45: warning: unused value: $][5 [-Wother] + c: INT | INT { $][1; } INT { $2; } INT { $4; }; + ^^^ +]]m4_ifval($2, [[[input.y:14.14-16: warning: unset value: $][$ [-Wmidrule-values] + d: INT | INT { } INT { $][1; } INT { $2; }; + ^^^ +]]])[[input.y:14.10-49: warning: unset value: $][$ [-Wother] + d: INT | INT { } INT { $][1; } INT { $2; }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:14.18-20: warning: unused value: $][3 [-Wother] + d: INT | INT { } INT { $][1; } INT { $2; }; + ^^^ +input.y:14.30-32: warning: unused value: $][5 [-Wother] + d: INT | INT { } INT { $][1; } INT { $2; }; + ^^^ +input.y:15.10-37: warning: unset value: $][$ [-Wother] + e: INT | INT { } INT { } INT { $][1; }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:15.18-20: warning: unused value: $][3 [-Wother] + e: INT | INT { } INT { } INT { $][1; }; + ^^^ +input.y:15.27-29: warning: unused value: $][5 [-Wother] + e: INT | INT { } INT { } INT { $][1; }; + ^^^ +input.y:17.10-58: warning: unset value: $][$ [-Wother] + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:17.10-12: warning: unused value: $][1 [-Wother] + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^ +]]m4_ifval($2, [[[input.y:17.14-29: warning: unused value: $][2 [-Wmidrule-values] + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^^^^^^^^^^^^^^ +]]])[[input.y:17.31-33: warning: unused value: $][3 [-Wother] + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^ +]]m4_ifval($2, [[[input.y:17.35-50: warning: unused value: $][4 [-Wmidrule-values] + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^^^^^^^^^^^^^^ +]]])[[input.y:17.52-54: warning: unused value: $][5 [-Wother] + g: INT | INT { $$; } INT { $$; } INT { }; + ^^^ +input.y:18.10-72: warning: unset value: $][$ [-Wother] + h: INT | INT { $$; } INT { $$ = $2; } INT { }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:18.10-12: warning: unused value: $][1 [-Wother] + h: INT | INT { $$; } INT { $$ = $2; } INT { }; + ^^^ +input.y:18.31-33: warning: unused value: $][3 [-Wother] + h: INT | INT { $$; } INT { $$ = $2; } INT { }; + ^^^ +]]m4_ifval($2, [[[input.y:18.35-64: warning: unused value: $][4 [-Wmidrule-values] + h: INT | INT { $$; } INT { $$ = $2; } INT { }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +]]])[[input.y:18.66-68: warning: unused value: $][5 [-Wother] + h: INT | INT { $$; } INT { $$ = $2; } INT { }; + ^^^ +]]m4_ifval($2, [[[input.y:20.18-37: warning: unused value: $][3 [-Wmidrule-values] + j: INT | INT INT { $$ = 1; } { $][$ = $][1 + $][2; }; + ^^^^^^^^^^^^^^^^^^^^ +]]])[[input.y:21.10-68: warning: unset value: $][$ [-Wother] + k: INT | INT INT { $$; } { $$ = $3; } { }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +input.y:21.10-12: warning: unused value: $][1 [-Wother] + k: INT | INT INT { $$; } { $$ = $3; } { }; + ^^^ +input.y:21.14-16: warning: unused value: $][2 [-Wother] + k: INT | INT INT { $$; } { $$ = $3; } { }; + ^^^ +]]m4_ifval($2, [[[input.y:21.35-64: warning: unused value: $][4 [-Wmidrule-values] + k: INT | INT INT { $$; } { $$ = $3; } { }; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +]]])) +]) ## --------------- ## ## Unused values. ## @@ -465,7 +532,7 @@ tagged: { } ; AT_BISON_CHECK([input.y], [0], [], [[input.y:6.8-45: warning: unset value: $$ [-Wother] -input.y:6.8-45: warning: unused value: $2 [-Wother] +input.y:6.12-14: warning: unused value: $2 [-Wother] input.y:7.6-8: warning: unset value: $$ [-Wother] ]]) @@ -481,7 +548,7 @@ tagged: { } ; ]]) AT_BISON_CHECK([input.y], [0], [], -[[input.y:6.8-45: warning: unused value: $4 [-Wother] +[[input.y:6.23-28: warning: unused value: $4 [-Wother] input.y:8.9-11: warning: unset value: $$ [-Wother] ]]) @@ -506,7 +573,7 @@ end: { } ; AT_BISON_CHECK([input.y], [0], [], [[input.y:6.8-22: warning: unset value: $$ [-Wother] -input.y:6.8-22: warning: unused value: $2 [-Wother] +input.y:6.12-14: warning: unused value: $2 [-Wother] input.y:7.6-8: warning: unset value: $$ [-Wother] ]]) @@ -925,6 +992,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 @@ -1154,6 +1240,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 ]]) @@ -1162,8 +1260,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 @@ -1245,6 +1343,18 @@ input.y:1.9-21: accepted value: 'push' input.y:1.9-21: accepted value: 'both' ]]) +AT_BISON_CHECK([[-fcaret input.y]], [1], [], +[[input.y:1.9-21: warning: deprecated %define variable name: 'api.push_pull', use 'api.push-pull' [-Wdeprecated] + %define api.push_pull "neither" + ^^^^^^^^^^^^^ +input.y:1.9-21: error: invalid value for %define variable 'api.push-pull': 'neither' + %define api.push_pull "neither" + ^^^^^^^^^^^^^ +input.y:1.9-21: accepted value: 'pull' +input.y:1.9-21: accepted value: 'push' +input.y:1.9-21: accepted value: 'both' +]]) + AT_DATA([[input.y]], [[%define lr.keep_unreachable_states maybe %% @@ -1483,11 +1593,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 @@ -1545,8 +1655,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])