mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-19 17:23:02 +00:00
tests: make room for more cases
* tests/input.at (AT_CHECK_UNUSED_VALUES): Add an empty line to allow more symbols, and adjust line numbers. Use a more consistent m4 quoting scheme.
This commit is contained in:
@@ -169,12 +169,12 @@ AT_CLEANUP
|
|||||||
m4_define([_AT_UNUSED_VALUES_DECLARATIONS],
|
m4_define([_AT_UNUSED_VALUES_DECLARATIONS],
|
||||||
[[[%token <integer> INT;
|
[[[%token <integer> INT;
|
||||||
%type <integer> a b c d e f g h i j k l;
|
%type <integer> a b c d e f g h i j k l;
|
||||||
%destructor { destroy ($$); } INT a b c d e f g h i j k l;]]])
|
%destructor { destroy ($$); } <integer>;]]])
|
||||||
|
|
||||||
|
|
||||||
# AT_CHECK_UNUSED_VALUES(DECLARATIONS_AFTER, CHECK_MIDRULE_VALUES)
|
# AT_CHECK_UNUSED_VALUES(DECLARATIONS_AFTER, CHECK_MIDRULE_VALUES)
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
# Generate a grammar to test unused values, compile it, run it. If
|
# Generate a grammar to test unused values, and compile it. If
|
||||||
# DECLARATIONS_AFTER is set, then the token, type, and destructor
|
# DECLARATIONS_AFTER is set, then the token, type, and destructor
|
||||||
# declarations are generated after the rules rather than before. If
|
# declarations are generated after the rules rather than before. If
|
||||||
# CHECK_MIDRULE_VALUES is set, then --warnings=midrule-values is set.
|
# CHECK_MIDRULE_VALUES is set, then --warnings=midrule-values is set.
|
||||||
@@ -186,125 +186,127 @@ m4_ifval($1, [
|
|||||||
], [_AT_UNUSED_VALUES_DECLARATIONS
|
], [_AT_UNUSED_VALUES_DECLARATIONS
|
||||||
])[[%%
|
])[[%%
|
||||||
start:
|
start:
|
||||||
'a' a { $]2[; } | 'b' b { $]2[; } | 'c' c { $]2[; } | 'd' d { $]2[; }
|
'a' a { $][2; } | 'b' b { $][2; } | 'c' c { $][2; } | 'd' d { $][2; }
|
||||||
| 'e' e { $]2[; } | 'f' f { $]2[; } | 'g' g { $]2[; } | 'h' h { $]2[; }
|
| 'e' e { $][2; } | 'f' f { $][2; } | 'g' g { $][2; } | 'h' h { $][2; }
|
||||||
| 'i' i { $]2[; } | 'j' j { $]2[; } | 'k' k { $]2[; } | 'l' l { $]2[; }
|
| 'i' i { $][2; } | 'j' j { $][2; } | 'k' k { $][2; } | 'l' l { $][2; }
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
a: INT | INT { } INT { } INT { };
|
a: INT | INT { } INT { } INT { };
|
||||||
b: INT | %empty;
|
b: INT | %empty;
|
||||||
c: INT | INT { $]1[; } INT { $<integer>2; } INT { $<integer>4; };
|
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
||||||
d: INT | INT { } INT { $]1[; } INT { $<integer>2; };
|
d: INT | INT { } INT { $][1; } INT { $<integer>2; };
|
||||||
e: INT | INT { } INT { } INT { $]1[; };
|
e: INT | INT { } INT { } INT { $][1; };
|
||||||
f: INT | INT { } INT { } INT { $]$[ = $]1[ + $]3[ + $]5[; };
|
f: INT | INT { } INT { } INT { $][$ = $][1 + $][3 + $][5; };
|
||||||
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
||||||
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
||||||
i: INT | INT INT { } { $]$[ = $]1[ + $]2[; };
|
i: INT | INT INT { } { $][$ = $][1 + $][2; };
|
||||||
j: INT | INT INT { $<integer>$ = 1; } { $]$[ = $]1[ + $]2[; };
|
j: INT | INT INT { $<integer>$ = 1; } { $][$ = $][1 + $][2; };
|
||||||
k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { };
|
k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { };
|
||||||
l: INT | INT { $<integer>$ = $<integer>1; } INT { $<integer>$ = $<integer>2 + $<integer>3; } INT { $<integer>$ = $<integer>4 + $<integer>5; };]]m4_ifval($1, [
|
l: INT | INT { $<integer>$ = $<integer>1; } INT { $<integer>$ = $<integer>2 + $<integer>3; } INT { $<integer>$ = $<integer>4 + $<integer>5; };
|
||||||
|
]]m4_ifval($1, [
|
||||||
_AT_UNUSED_VALUES_DECLARATIONS])
|
_AT_UNUSED_VALUES_DECLARATIONS])
|
||||||
)
|
)
|
||||||
|
|
||||||
AT_BISON_CHECK(m4_ifval($2, [--warnings=midrule-values ])[-fcaret input.y],
|
AT_BISON_CHECK(m4_ifval($2, [--warnings=midrule-values ])[-fcaret input.y],
|
||||||
[0], [],
|
[0], [],
|
||||||
[[input.y:11.10-32: warning: unset value: $][$ [-Wother]
|
[[input.y:12.10-32: warning: unset value: $][$ [-Wother]
|
||||||
a: INT | INT { } INT { } INT { };
|
a: INT | INT { } INT { } INT { };
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
input.y:11.10-12: warning: unused value: $][1 [-Wother]
|
input.y:12.10-12: warning: unused value: $][1 [-Wother]
|
||||||
a: INT | INT { } INT { } INT { };
|
a: INT | INT { } INT { } INT { };
|
||||||
^^^
|
^^^
|
||||||
input.y:11.18-20: warning: unused value: $][3 [-Wother]
|
input.y:12.18-20: warning: unused value: $][3 [-Wother]
|
||||||
a: INT | INT { } INT { } INT { };
|
a: INT | INT { } INT { } INT { };
|
||||||
^^^
|
^^^
|
||||||
input.y:11.26-28: warning: unused value: $][5 [-Wother]
|
input.y:12.26-28: warning: unused value: $][5 [-Wother]
|
||||||
a: INT | INT { } INT { } INT { };
|
a: INT | INT { } INT { } INT { };
|
||||||
^^^
|
^^^
|
||||||
input.y:12.10-15: warning: empty rule for typed nonterminal, and no action [-Wother]
|
input.y:13.10-15: warning: empty rule for typed nonterminal, and no action [-Wother]
|
||||||
b: INT | %empty;
|
b: INT | %empty;
|
||||||
^^^^^^
|
^^^^^^
|
||||||
]]m4_ifval($2, [[[input.y:13.14-20: warning: unset value: $][$ [-Wmidrule-values]
|
]]m4_ifval($2, [[[input.y:14.14-20: warning: unset value: $][$ [-Wmidrule-values]
|
||||||
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
input.y:13.26-41: warning: unset value: $][$ [-Wmidrule-values]
|
input.y:14.26-41: warning: unset value: $][$ [-Wmidrule-values]
|
||||||
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
]]])[[input.y:13.10-62: warning: unset value: $][$ [-Wother]
|
]]])[[input.y:14.10-62: warning: unset value: $][$ [-Wother]
|
||||||
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
input.y:13.22-24: warning: unused value: $][3 [-Wother]
|
input.y:14.22-24: warning: unused value: $][3 [-Wother]
|
||||||
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
||||||
^^^
|
^^^
|
||||||
input.y:13.43-45: warning: unused value: $][5 [-Wother]
|
input.y:14.43-45: warning: unused value: $][5 [-Wother]
|
||||||
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
c: INT | INT { $][1; } INT { $<integer>2; } INT { $<integer>4; };
|
||||||
^^^
|
^^^
|
||||||
]]m4_ifval($2, [[[input.y:14.14-16: warning: unset value: $][$ [-Wmidrule-values]
|
]]m4_ifval($2, [[[input.y:15.14-16: warning: unset value: $][$ [-Wmidrule-values]
|
||||||
d: INT | INT { } INT { $][1; } INT { $<integer>2; };
|
d: INT | INT { } INT { $][1; } INT { $<integer>2; };
|
||||||
^^^
|
^^^
|
||||||
]]])[[input.y:14.10-49: warning: unset value: $][$ [-Wother]
|
]]])[[input.y:15.10-49: warning: unset value: $][$ [-Wother]
|
||||||
d: INT | INT { } INT { $][1; } INT { $<integer>2; };
|
d: INT | INT { } INT { $][1; } INT { $<integer>2; };
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
input.y:14.18-20: warning: unused value: $][3 [-Wother]
|
input.y:15.18-20: warning: unused value: $][3 [-Wother]
|
||||||
d: INT | INT { } INT { $][1; } INT { $<integer>2; };
|
d: INT | INT { } INT { $][1; } INT { $<integer>2; };
|
||||||
^^^
|
^^^
|
||||||
input.y:14.30-32: warning: unused value: $][5 [-Wother]
|
input.y:15.30-32: warning: unused value: $][5 [-Wother]
|
||||||
d: INT | INT { } INT { $][1; } INT { $<integer>2; };
|
d: INT | INT { } INT { $][1; } INT { $<integer>2; };
|
||||||
^^^
|
^^^
|
||||||
input.y:15.10-37: warning: unset value: $][$ [-Wother]
|
input.y:16.10-37: warning: unset value: $][$ [-Wother]
|
||||||
e: INT | INT { } INT { } INT { $][1; };
|
e: INT | INT { } INT { } INT { $][1; };
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
input.y:15.18-20: warning: unused value: $][3 [-Wother]
|
input.y:16.18-20: warning: unused value: $][3 [-Wother]
|
||||||
e: INT | INT { } INT { } INT { $][1; };
|
e: INT | INT { } INT { } INT { $][1; };
|
||||||
^^^
|
^^^
|
||||||
input.y:15.27-29: warning: unused value: $][5 [-Wother]
|
input.y:16.27-29: warning: unused value: $][5 [-Wother]
|
||||||
e: INT | INT { } INT { } INT { $][1; };
|
e: INT | INT { } INT { } INT { $][1; };
|
||||||
^^^
|
^^^
|
||||||
input.y:17.10-58: warning: unset value: $][$ [-Wother]
|
input.y:18.10-58: warning: unset value: $][$ [-Wother]
|
||||||
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
input.y:17.10-12: warning: unused value: $][1 [-Wother]
|
input.y:18.10-12: warning: unused value: $][1 [-Wother]
|
||||||
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
||||||
^^^
|
^^^
|
||||||
]]m4_ifval($2, [[[input.y:17.14-29: warning: unused value: $][2 [-Wmidrule-values]
|
]]m4_ifval($2, [[[input.y:18.14-29: warning: unused value: $][2 [-Wmidrule-values]
|
||||||
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
]]])[[input.y:17.31-33: warning: unused value: $][3 [-Wother]
|
]]])[[input.y:18.31-33: warning: unused value: $][3 [-Wother]
|
||||||
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
||||||
^^^
|
^^^
|
||||||
]]m4_ifval($2, [[[input.y:17.35-50: warning: unused value: $][4 [-Wmidrule-values]
|
]]m4_ifval($2, [[[input.y:18.35-50: warning: unused value: $][4 [-Wmidrule-values]
|
||||||
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
]]])[[input.y:17.52-54: warning: unused value: $][5 [-Wother]
|
]]])[[input.y:18.52-54: warning: unused value: $][5 [-Wother]
|
||||||
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { };
|
||||||
^^^
|
^^^
|
||||||
input.y:18.10-72: warning: unset value: $][$ [-Wother]
|
input.y:19.10-72: warning: unset value: $][$ [-Wother]
|
||||||
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
input.y:18.10-12: warning: unused value: $][1 [-Wother]
|
input.y:19.10-12: warning: unused value: $][1 [-Wother]
|
||||||
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
||||||
^^^
|
^^^
|
||||||
input.y:18.31-33: warning: unused value: $][3 [-Wother]
|
input.y:19.31-33: warning: unused value: $][3 [-Wother]
|
||||||
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
||||||
^^^
|
^^^
|
||||||
]]m4_ifval($2, [[[input.y:18.35-64: warning: unused value: $][4 [-Wmidrule-values]
|
]]m4_ifval($2, [[[input.y:19.35-64: warning: unused value: $][4 [-Wmidrule-values]
|
||||||
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
]]])[[input.y:18.66-68: warning: unused value: $][5 [-Wother]
|
]]])[[input.y:19.66-68: warning: unused value: $][5 [-Wother]
|
||||||
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { };
|
||||||
^^^
|
^^^
|
||||||
]]m4_ifval($2, [[[input.y:20.18-37: warning: unused value: $][3 [-Wmidrule-values]
|
]]m4_ifval($2, [[[input.y:21.18-37: warning: unused value: $][3 [-Wmidrule-values]
|
||||||
j: INT | INT INT { $<integer>$ = 1; } { $][$ = $][1 + $][2; };
|
j: INT | INT INT { $<integer>$ = 1; } { $][$ = $][1 + $][2; };
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
]]])[[input.y:21.10-68: warning: unset value: $][$ [-Wother]
|
]]])[[input.y:22.10-68: warning: unset value: $][$ [-Wother]
|
||||||
k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { };
|
k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { };
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
input.y:21.10-12: warning: unused value: $][1 [-Wother]
|
input.y:22.10-12: warning: unused value: $][1 [-Wother]
|
||||||
k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { };
|
k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { };
|
||||||
^^^
|
^^^
|
||||||
input.y:21.14-16: warning: unused value: $][2 [-Wother]
|
input.y:22.14-16: warning: unused value: $][2 [-Wother]
|
||||||
k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { };
|
k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { };
|
||||||
^^^
|
^^^
|
||||||
]]m4_ifval($2, [[[input.y:21.35-64: warning: unused value: $][4 [-Wmidrule-values]
|
]]m4_ifval($2, [[[input.y:22.35-64: warning: unused value: $][4 [-Wmidrule-values]
|
||||||
k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { };
|
k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { };
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
]]]))
|
]]]))
|
||||||
|
|||||||
Reference in New Issue
Block a user