]> git.saurik.com Git - bison.git/commitdiff
warnings: display warnings categories
authorVictor Santet <victor.santet@epita.fr>
Fri, 29 Jun 2012 14:23:42 +0000 (16:23 +0200)
committerAkim Demaille <akim@lrde.epita.fr>
Fri, 29 Jun 2012 14:35:34 +0000 (16:35 +0200)
* src/complain.c (error_message): Call 'warnings_print_categories'.
* src/gram.c (grammar_rules_useless_report): Display itself warning
category.
* tests/actions.at, tests/conflicts.at, tests/existing.at,
tests/input.at, tests/named-refs.at, tests/output.at, tests/reduce.at,
tests/regression.at, tests/skeletons.at: Adjust.
* NEWS: Document this.

Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
12 files changed:
NEWS
src/complain.c
src/gram.c
tests/actions.at
tests/conflicts.at
tests/existing.at
tests/input.at
tests/named-refs.at
tests/output.at
tests/reduce.at
tests/regression.at
tests/skeletons.at

diff --git a/NEWS b/NEWS
index e1373657b4993abb3e5959c197713f510e05bc75..4c403a467d79a6bd204c80c138dbf361b6f3b369 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,15 @@ GNU Bison NEWS
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
-** Warnings about useless semantic types
+** Warnings
+
+*** Warning categories are now diplayed in warnings
+
+  For instance:
+
+  foo.y:4.6: warning: type clash on default action: <foo> != <bar> [-Wother]
+
+*** Useless semantic types
 
   Bison now warns about useless (uninhabited) semantic types.  Since
   semantic types are not declared to Bison (they are defined in the opaque
 
   Bison now warns about useless (uninhabited) semantic types.  Since
   semantic types are not declared to Bison (they are defined in the opaque
@@ -19,7 +27,7 @@ GNU Bison NEWS
     3.28-34: warning: type <type3> is used, but is not associated to any symbol
     4.28-34: warning: type <type4> is used, but is not associated to any symbol
 
     3.28-34: warning: type <type3> is used, but is not associated to any symbol
     4.28-34: warning: type <type4> is used, but is not associated to any symbol
 
-** Warnings about undeclared symbols
+*** Undeclared symbols
 
   Bison used to raise an error for %printer and %destructor directives for
   undefined symbols.
 
   Bison used to raise an error for %printer and %destructor directives for
   undefined symbols.
@@ -31,7 +39,7 @@ GNU Bison NEWS
 
   This is now only a warning.
 
 
   This is now only a warning.
 
-** Warnings about useless destructors or printers
+*** Useless destructors or printers
 
   Bison now warns about useless destructors or printers.  In the following
   example, the printer for <type1>, and the destructor for <type2> are
 
   Bison now warns about useless destructors or printers.  In the following
   example, the printer for <type1>, and the destructor for <type2> are
index 0f00358a261ad04058cafed7bae37027b9007260..7d905de5055aaa94debb5f998efdef1e7d258221 100644 (file)
@@ -100,6 +100,7 @@ error_message (const location *loc, warnings flags, const char *prefix,
     fprintf (stderr, "%s: ", prefix);
 
   vfprintf (stderr, message, args);
     fprintf (stderr, "%s: ", prefix);
 
   vfprintf (stderr, message, args);
+  warnings_print_categories (flags);
   {
     size_t l = strlen (message);
     if (l < 2 || message[l-2] != ':' || message[l-1] != ' ')
   {
     size_t l = strlen (message);
     if (l < 2 || message[l-2] != ':' || message[l-1] != ' ')
index 5e14c60ca5c843293ab81a1f943bf43d1cf0f775..ef5353a6c4e241087b6df175ce8424f8cf3930b8 100644 (file)
@@ -312,10 +312,10 @@ grammar_rules_useless_report (const char *message)
       for (r = 0; r < nrules ; ++r)
         if (!rules[r].useful)
           {
       for (r = 0; r < nrules ; ++r)
         if (!rules[r].useful)
           {
-            complain_at (rules[r].location, w, "%s: ", message);
+            complain_at (rules[r].location, w | silent, "%s: ", message);
             rule_print (&rules[r], stderr);
             rule_print (&rules[r], stderr);
+            warnings_print_categories (w);
             fprintf (stderr, "\n");
             fprintf (stderr, "\n");
-            fflush (stderr);
           }
     }
 }
           }
     }
 }
index 755d633463eae74a95815e5034ff0083867ff448..a14f522dc639f6555ad36e633c5e0e3db13b821b 100644 (file)
@@ -1132,8 +1132,8 @@ main (void)
 AT_BISON_OPTION_POPDEFS
 
 AT_BISON_CHECK([-o input.c input.y], 0,,
 AT_BISON_OPTION_POPDEFS
 
 AT_BISON_CHECK([-o input.c input.y], 0,,
-[[input.y:33.3-23: warning: unset value: $$
-input.y:30.3-35.37: warning: unused value: $3
+[[input.y:33.3-23: warning: unset value: $$ [-Wother]
+input.y:30.3-35.37: warning: unused value: $3 [-Wother]
 ]])
 
 AT_COMPILE([input])
 ]])
 
 AT_COMPILE([input])
@@ -1292,42 +1292,42 @@ string;"}
 AT_BISON_OPTION_POPDEFS
 
 AT_BISON_CHECK([[-o input.c input.y]], [0], [],
 AT_BISON_OPTION_POPDEFS
 
 AT_BISON_CHECK([[-o input.c input.y]], [0], [],
-[[input.y:8.48: warning: a ';' might be needed at the end of action code
-input.y:8.48: warning: future versions of Bison will not add the ';'
-input.y:9.48: warning: a ';' might be needed at the end of action code
-input.y:9.48: warning: future versions of Bison will not add the ';'
-input.y:10.48: warning: a ';' might be needed at the end of action code
-input.y:10.48: warning: future versions of Bison will not add the ';'
-input.y:11.48: warning: a ';' might be needed at the end of action code
-input.y:11.48: warning: future versions of Bison will not add the ';'
-input.y:12.48: warning: a ';' might be needed at the end of action code
-input.y:12.48: warning: future versions of Bison will not add the ';'
-input.y:13.48: warning: a ';' might be needed at the end of action code
-input.y:13.48: warning: future versions of Bison will not add the ';'
-input.y:20.1: warning: a ';' might be needed at the end of action code
-input.y:20.1: warning: future versions of Bison will not add the ';'
-input.y:21.1: warning: a ';' might be needed at the end of action code
-input.y:21.1: warning: future versions of Bison will not add the ';'
-input.y:22.1: warning: a ';' might be needed at the end of action code
-input.y:22.1: warning: future versions of Bison will not add the ';'
-input.y:23.1: warning: a ';' might be needed at the end of action code
-input.y:23.1: warning: future versions of Bison will not add the ';'
-input.y:24.1: warning: a ';' might be needed at the end of action code
-input.y:24.1: warning: future versions of Bison will not add the ';'
-input.y:25.1: warning: a ';' might be needed at the end of action code
-input.y:25.1: warning: future versions of Bison will not add the ';'
-input.y:31.1: warning: a ';' might be needed at the end of action code
-input.y:31.1: warning: future versions of Bison will not add the ';'
-input.y:32.1: warning: a ';' might be needed at the end of action code
-input.y:32.1: warning: future versions of Bison will not add the ';'
-input.y:33.1: warning: a ';' might be needed at the end of action code
-input.y:33.1: warning: future versions of Bison will not add the ';'
-input.y:34.1: warning: a ';' might be needed at the end of action code
-input.y:34.1: warning: future versions of Bison will not add the ';'
-input.y:35.1: warning: a ';' might be needed at the end of action code
-input.y:35.1: warning: future versions of Bison will not add the ';'
-input.y:36.1: warning: a ';' might be needed at the end of action code
-input.y:36.1: warning: future versions of Bison will not add the ';'
+[[input.y:8.48: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:8.48: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:9.48: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:9.48: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:10.48: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:10.48: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:11.48: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:11.48: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:12.48: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:12.48: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:13.48: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:13.48: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:20.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:20.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:21.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:21.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:22.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:22.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:23.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:23.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:24.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:24.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:25.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:25.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:31.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:31.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:32.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:32.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:33.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:33.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:34.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:34.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:35.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:35.1: warning: future versions of Bison will not add the ';' [-Wother]
+input.y:36.1: warning: a ';' might be needed at the end of action code [-Wother]
+input.y:36.1: warning: future versions of Bison will not add the ';' [-Wother]
 ]])
 
 AT_MATCHES_CHECK([input.c], [[/\* TEST:N:2 \*/ \}$]],       [[3]])
 ]])
 
 AT_MATCHES_CHECK([input.c], [[/\* TEST:N:2 \*/ \}$]],       [[3]])
index ed6d607304655bda06560b3859807b57ef39d466..c4515e8c9a0269a1ae3f540e7e638f09ed1b7e85 100644 (file)
@@ -37,7 +37,7 @@ e: 'e' | /* Nothing. */;
 ]])
 
 AT_BISON_CHECK([-o input.c input.y], 0, [],
 ]])
 
 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
 ]])
 
 AT_CLEANUP
@@ -785,7 +785,7 @@ cond:
 
 AT_BISON_CHECK([-o input.c input.y], 0, [],
 [[input.y: conflicts: 1 shift/reduce
 
 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
 ]])
 
 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
 
 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.
 ]])
 
 # 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
 
 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,
 ]])
 
 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
 
 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
 ]])
 
 AT_CLEANUP
index 2891f80bbf2942bd11dcc8aaaad9d1bebd6fecc5..f62430c0e334eb461a91f524be3b2cbfeecdc84a 100644 (file)
@@ -1948,7 +1948,7 @@ dnl without being followed by "of".)
 [[VARIABLE, '=', LABEL, LEFT, DOT_X]],
 
 dnl BISON-STDERR
 [[VARIABLE, '=', LABEL, LEFT, DOT_X]],
 
 dnl BISON-STDERR
-[[input.y:470.11-48: warning: rule useless in parser due to conflicts: path: ORDINAL LAST object_type relative_path
+[[input.y:470.11-48: warning: rule useless in parser due to conflicts: path: ORDINAL LAST object_type relative_path [-Wother]
 ]],
 
 dnl LAST-STATE
 ]],
 
 dnl LAST-STATE
index 356fe92b42e90d35e0653116322a1d4ab46f1e1b..25af1005e8abf9e9af95268bf3dced9caf1ce8a9 100644 (file)
@@ -60,9 +60,9 @@ exp: foo { $$; } foo { $2; } foo
 AT_BISON_CHECK([input.y], [1], [],
 [[input.y:5.12-13: $$ for the midrule at $2 of 'exp' has no declared type
 input.y:5.24-25: $2 of 'exp' has no declared type
 AT_BISON_CHECK([input.y], [1], [],
 [[input.y:5.12-13: $$ for the midrule at $2 of 'exp' has no declared type
 input.y:5.24-25: $2 of 'exp' has no declared type
-input.y:5.6-32: warning: type clash on default action: <bar> != <>
-input.y:6.6-8: warning: type clash on default action: <bar> != <>
-input.y:7.5: warning: empty rule for typed nonterminal, and no action
+input.y:5.6-32: warning: type clash on default action: <bar> != <> [-Wother]
+input.y:6.6-8: warning: type clash on default action: <bar> != <> [-Wother]
+input.y:7.5: warning: empty rule for typed nonterminal, and no action [-Wother]
 ]])
 
 AT_CLEANUP
 ]])
 
 AT_CLEANUP
@@ -113,39 +113,39 @@ _AT_UNUSED_VALUES_DECLARATIONS])
 )
 
 AT_BISON_CHECK(m4_ifval($2, [ --warnings=midrule-values ])[ input.y], [0], [],
 )
 
 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[
-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[
+[[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]
+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]
 ]]]))])
 
 
 ]]]))])
 
 
@@ -287,8 +287,8 @@ exp: bar;
 
 AT_BISON_CHECK([input.y], [1], [],
 [[input.y:2.16-18: symbol bar is used, but is not defined as a token and has no rules
 
 AT_BISON_CHECK([input.y], [1], [],
 [[input.y:2.16-18: symbol bar is used, but is not defined as a token and has no rules
-input.y:1.17-19: warning: symbol baz is used, but is not defined as a token and has no rules
-input.y:1.13-15: warning: symbol foo is used, but is not defined as a token and has no rules
+input.y:1.17-19: warning: symbol baz is used, but is not defined as a token and has no rules [-Wother]
+input.y:1.13-15: warning: symbol foo is used, but is not defined as a token and has no rules [-Wother]
 ]])
 
 AT_CLEANUP
 ]])
 
 AT_CLEANUP
@@ -316,8 +316,8 @@ tag2: "a" { $$; }
 ]])
 
 AT_BISON_CHECK([input.y], [0], [],
 ]])
 
 AT_BISON_CHECK([input.y], [0], [],
-[[input.y:4.22-28: warning: type <type3> is used, but is not associated to any symbol
-input.y:5.25-31: warning: type <type4> is used, but is not associated to any symbol
+[[input.y:4.22-28: warning: type <type3> is used, but is not associated to any symbol [-Wother]
+input.y:5.25-31: warning: type <type4> is used, but is not associated to any symbol [-Wother]
 ]])
 
 AT_CLEANUP
 ]])
 
 AT_CLEANUP
@@ -360,8 +360,8 @@ exp: "a";
 ]])
 
 AT_BISON_CHECK([input.y], [0], [],
 ]])
 
 AT_BISON_CHECK([input.y], [0], [],
-[[input.y:16.13-19: warning: useless %printer for type <type1>
-input.y:17.16-22: warning: useless %destructor for type <type2>
+[[input.y:16.13-19: warning: useless %printer for type <type1> [-Wother]
+input.y:17.16-22: warning: useless %destructor for type <type2> [-Wother]
 ]])
 
 
 ]])
 
 
@@ -386,9 +386,9 @@ tagged: { } ;
 ]])
 
 AT_BISON_CHECK([input.y], [0], [],
 ]])
 
 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:7.6-8: warning: unset value: $$
+[[input.y:6.8-45: warning: unset value: $$ [-Wother]
+input.y:6.8-45: warning: unused value: $2 [-Wother]
+input.y:7.6-8: warning: unset value: $$ [-Wother]
 ]])
 
 AT_DATA([[input.y]],
 ]])
 
 AT_DATA([[input.y]],
@@ -403,8 +403,8 @@ tagged: { } ;
 ]])
 
 AT_BISON_CHECK([input.y], [0], [],
 ]])
 
 AT_BISON_CHECK([input.y], [0], [],
-[[input.y:6.8-45: warning: unused value: $4
-input.y:8.9-11: warning: unset value: $$
+[[input.y:6.8-45: warning: unused value: $4 [-Wother]
+input.y:8.9-11: warning: unset value: $$ [-Wother]
 ]])
 
 AT_CLEANUP
 ]])
 
 AT_CLEANUP
@@ -427,9 +427,9 @@ end: { }  ;
 ]])
 
 AT_BISON_CHECK([input.y], [0], [],
 ]])
 
 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:7.6-8: warning: unset value: $$
+[[input.y:6.8-22: warning: unset value: $$ [-Wother]
+input.y:6.8-22: warning: unused value: $2 [-Wother]
+input.y:7.6-8: warning: unset value: $$ [-Wother]
 ]])
 
 AT_CLEANUP
 ]])
 
 AT_CLEANUP
@@ -731,14 +731,14 @@ AT_BISON_OPTION_POPDEFS
 
 # POSIX Yacc accept periods, but not dashes.
 AT_BISON_CHECK([--yacc input.y], [1], [],
 
 # POSIX Yacc accept periods, but not dashes.
 AT_BISON_CHECK([--yacc input.y], [1], [],
-[[input.y:9.8-16: POSIX Yacc forbids dashes in symbol names: WITH-DASH
-input.y:18.8-16: POSIX Yacc forbids dashes in symbol names: with-dash
+[[input.y:9.8-16: POSIX Yacc forbids dashes in symbol names: WITH-DASH [-Wyacc]
+input.y:18.8-16: POSIX Yacc forbids dashes in symbol names: with-dash [-Wyacc]
 ]])
 
 # So warn about them.
 AT_BISON_CHECK([-Wyacc input.y], [], [],
 ]])
 
 # So warn about them.
 AT_BISON_CHECK([-Wyacc input.y], [], [],
-[[input.y:9.8-16: warning: POSIX Yacc forbids dashes in symbol names: WITH-DASH
-input.y:18.8-16: warning: POSIX Yacc forbids dashes in symbol names: with-dash
+[[input.y:9.8-16: warning: POSIX Yacc forbids dashes in symbol names: WITH-DASH [-Wyacc]
+input.y:18.8-16: warning: POSIX Yacc forbids dashes in symbol names: with-dash [-Wyacc]
 ]])
 
 # Dashes are fine for GNU Bison.
 ]])
 
 # Dashes are fine for GNU Bison.
@@ -906,7 +906,7 @@ start: %prec PREC ;
 ]])
 
 AT_BISON_CHECK([[input.y]], [[0]], [],
 ]])
 
 AT_BISON_CHECK([[input.y]], [[0]], [],
-[[input.y:2.8-17: warning: token for %prec is not defined: PREC
+[[input.y:2.8-17: warning: token for %prec is not defined: PREC [-Wother]
 ]])
 
 AT_CLEANUP
 ]])
 
 AT_CLEANUP
@@ -1299,10 +1299,10 @@ start: '
 AT_CHECK([[perl -e "print 'start: \'';" >> empty.y || exit 77]])
 
 AT_BISON_CHECK([empty.y], [1], [],
 AT_CHECK([[perl -e "print 'start: \'';" >> empty.y || exit 77]])
 
 AT_BISON_CHECK([empty.y], [1], [],
-[[empty.y:2.8-9: warning: empty character literal
-empty.y:3.8-4.0: warning: empty character literal
+[[empty.y:2.8-9: warning: empty character literal [-Wother]
+empty.y:3.8-4.0: warning: empty character literal [-Wother]
 empty.y:3.8-4.0: missing "'" at end of line
 empty.y:3.8-4.0: missing "'" at end of line
-empty.y:4.8: warning: empty character literal
+empty.y:4.8: warning: empty character literal [-Wother]
 empty.y:4.8: missing "'" at end of file
 ]])
 
 empty.y:4.8: missing "'" at end of file
 ]])
 
@@ -1314,10 +1314,10 @@ start: 'ab
 AT_CHECK([[perl -e "print 'start: \'ab';" >> two.y || exit 77]])
 
 AT_BISON_CHECK([two.y], [1], [],
 AT_CHECK([[perl -e "print 'start: \'ab';" >> two.y || exit 77]])
 
 AT_BISON_CHECK([two.y], [1], [],
-[[two.y:2.8-11: warning: extra characters in character literal
-two.y:3.8-4.0: warning: extra characters in character literal
+[[two.y:2.8-11: warning: extra characters in character literal [-Wother]
+two.y:3.8-4.0: warning: extra characters in character literal [-Wother]
 two.y:3.8-4.0: missing "'" at end of line
 two.y:3.8-4.0: missing "'" at end of line
-two.y:4.8-10: warning: extra characters in character literal
+two.y:4.8-10: warning: extra characters in character literal [-Wother]
 two.y:4.8-10: missing "'" at end of file
 ]])
 
 two.y:4.8-10: missing "'" at end of file
 ]])
 
@@ -1329,10 +1329,10 @@ start: 'abc
 AT_CHECK([[perl -e "print 'start: \'abc';" >> three.y || exit 77]])
 
 AT_BISON_CHECK([three.y], [1], [],
 AT_CHECK([[perl -e "print 'start: \'abc';" >> three.y || exit 77]])
 
 AT_BISON_CHECK([three.y], [1], [],
-[[three.y:2.8-12: warning: extra characters in character literal
-three.y:3.8-4.0: warning: extra characters in character literal
+[[three.y:2.8-12: warning: extra characters in character literal [-Wother]
+three.y:3.8-4.0: warning: extra characters in character literal [-Wother]
 three.y:3.8-4.0: missing "'" at end of line
 three.y:3.8-4.0: missing "'" at end of line
-three.y:4.8-11: warning: extra characters in character literal
+three.y:4.8-11: warning: extra characters in character literal [-Wother]
 three.y:4.8-11: missing "'" at end of file
 ]])
 
 three.y:4.8-11: missing "'" at end of file
 ]])
 
@@ -1360,25 +1360,25 @@ AT_CHECK([[perl -e 'print "start: \"\\\t\\\f\\\0\\\1\" ;";' >> input.y \
 
 AT_BISON_CHECK([input.y], [1], [],
 [[input.y:2.9-12: invalid number after \-escape: 777
 
 AT_BISON_CHECK([input.y], [1], [],
 [[input.y:2.9-12: invalid number after \-escape: 777
-input.y:2.8-13: warning: empty character literal
+input.y:2.8-13: warning: empty character literal [-Wother]
 input.y:2.16-17: invalid number after \-escape: 0
 input.y:2.16-17: invalid number after \-escape: 0
-input.y:2.15-18: warning: empty character literal
+input.y:2.15-18: warning: empty character literal [-Wother]
 input.y:2.21-25: invalid number after \-escape: xfff
 input.y:2.21-25: invalid number after \-escape: xfff
-input.y:2.20-26: warning: empty character literal
+input.y:2.20-26: warning: empty character literal [-Wother]
 input.y:2.29-31: invalid number after \-escape: x0
 input.y:2.29-31: invalid number after \-escape: x0
-input.y:2.28-32: warning: empty character literal
+input.y:2.28-32: warning: empty character literal [-Wother]
 input.y:3.9-14: invalid number after \-escape: uffff
 input.y:3.9-14: invalid number after \-escape: uffff
-input.y:3.8-15: warning: empty character literal
+input.y:3.8-15: warning: empty character literal [-Wother]
 input.y:3.18-23: invalid number after \-escape: u0000
 input.y:3.18-23: invalid number after \-escape: u0000
-input.y:3.17-24: warning: empty character literal
+input.y:3.17-24: warning: empty character literal [-Wother]
 input.y:3.27-36: invalid number after \-escape: Uffffffff
 input.y:3.27-36: invalid number after \-escape: Uffffffff
-input.y:3.26-37: warning: empty character literal
+input.y:3.26-37: warning: empty character literal [-Wother]
 input.y:3.40-49: invalid number after \-escape: U00000000
 input.y:3.40-49: invalid number after \-escape: U00000000
-input.y:3.39-50: warning: empty character literal
+input.y:3.39-50: warning: empty character literal [-Wother]
 input.y:4.9-10: invalid character after \-escape: ' '
 input.y:4.9-10: invalid character after \-escape: ' '
-input.y:4.8-11: warning: empty character literal
+input.y:4.8-11: warning: empty character literal [-Wother]
 input.y:4.14-15: invalid character after \-escape: A
 input.y:4.14-15: invalid character after \-escape: A
-input.y:4.13-16: warning: empty character literal
+input.y:4.13-16: warning: empty character literal [-Wother]
 input.y:5.9-16: invalid character after \-escape: \t
 input.y:5.17: invalid character after \-escape: \f
 input.y:5.18: invalid character after \-escape: \0
 input.y:5.9-16: invalid character after \-escape: \t
 input.y:5.17: invalid character after \-escape: \f
 input.y:5.18: invalid character after \-escape: \0
@@ -1423,20 +1423,20 @@ foo-bar: ;
 
 # -Werror is not enabled by -Wall or equivalent.
 AT_BISON_CHECK([[-Wall input.y]], [[0]], [[]],
 
 # -Werror is not enabled by -Wall or equivalent.
 AT_BISON_CHECK([[-Wall input.y]], [[0]], [[]],
-[[input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar
+[[input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar [-Wyacc]
 ]])
 AT_BISON_CHECK([[-W input.y]], [[0]], [[]],
 ]])
 AT_BISON_CHECK([[-W input.y]], [[0]], [[]],
-[[input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar
+[[input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar [-Wyacc]
 ]])
 AT_BISON_CHECK([[-Wno-none input.y]], [[0]], [[]],
 ]])
 AT_BISON_CHECK([[-Wno-none input.y]], [[0]], [[]],
-[[input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar
+[[input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar [-Wyacc]
 ]])
 
 # -Werror is not disabled by -Wnone or equivalent.
 AT_BISON_CHECK([[-Werror,none,yacc input.y]], [[1]], [[]], [[stderr]])
 AT_CHECK([[sed 's/^.*bison:/bison:/' stderr]], [[0]],
 [[bison: warnings being treated as errors
 ]])
 
 # -Werror is not disabled by -Wnone or equivalent.
 AT_BISON_CHECK([[-Werror,none,yacc input.y]], [[1]], [[]], [[stderr]])
 AT_CHECK([[sed 's/^.*bison:/bison:/' stderr]], [[0]],
 [[bison: warnings being treated as errors
-input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar
+input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar [-Wyacc]
 ]])
 [mv stderr experr]
 AT_BISON_CHECK([[-Werror,no-all,yacc input.y]], [[1]], [[]], [[experr]])
 ]])
 [mv stderr experr]
 AT_BISON_CHECK([[-Werror,no-all,yacc input.y]], [[1]], [[]], [[experr]])
index 2484c438756e9be79af73e78d901f8fb42fde438..f9e48a572c6b3f1a952e7fea94164fd41296982a 100644 (file)
@@ -253,10 +253,10 @@ exp:
 AT_BISON_CHECK([-o test.c test.y], 1, [],
 [[test.y:50.51-60: invalid reference: '$<ival>lo9'
 test.y:50.3-68:      symbol not found in production: lo9
 AT_BISON_CHECK([-o test.c test.y], 1, [],
 [[test.y:50.51-60: invalid reference: '$<ival>lo9'
 test.y:50.3-68:      symbol not found in production: lo9
-test.y:51.51-60: warning: misleading reference: '$<ival>exp'
-test.y:42.1-3:       warning: refers to: $exp at $$
-test.y:51.7:         warning: possibly meant: $x, hiding $exp at $1
-test.y:51.41:        warning: possibly meant: $r, hiding $exp at $4
+test.y:51.51-60: warning: misleading reference: '$<ival>exp' [-Wother]
+test.y:42.1-3:       warning: refers to: $exp at $$ [-Wother]
+test.y:51.7:         warning: possibly meant: $x, hiding $exp at $1 [-Wother]
+test.y:51.41:        warning: possibly meant: $r, hiding $exp at $4 [-Wother]
 test.y:52.51-52: $l of 'exp' has no declared type
 test.y:55.46-49: invalid reference: '$r12'
 test.y:55.3-53:      symbol not found in production: r12
 test.y:52.51-52: $l of 'exp' has no declared type
 test.y:55.46-49: invalid reference: '$r12'
 test.y:55.3-53:      symbol not found in production: r12
@@ -277,9 +277,9 @@ foo: '1'
 foo.bar: '2'
 ]])
 AT_BISON_CHECK([-o test.c test.y], 0, [],
 foo.bar: '2'
 ]])
 AT_BISON_CHECK([-o test.c test.y], 0, [],
-[[test.y:11.22-29: warning: misleading reference: '$foo.bar'
-test.y:11.8-10:      warning: refers to: $foo at $1
-test.y:11.12-18:     warning: possibly meant: $[foo.bar] at $2
+[[test.y:11.22-29: warning: misleading reference: '$foo.bar' [-Wother]
+test.y:11.8-10:      warning: refers to: $foo at $1 [-Wother]
+test.y:11.12-18:     warning: possibly meant: $[foo.bar] at $2 [-Wother]
 ]])
 AT_CLEANUP
 
 ]])
 AT_CLEANUP
 
@@ -573,7 +573,7 @@ start:
 ;
 ]])
 AT_BISON_CHECK([[test.y]], [[0]], [],
 ;
 ]])
 AT_BISON_CHECK([[test.y]], [[0]], [],
-[[test.y:4.9: warning: stray '$'
-test.y:5.9: warning: stray '@'
+[[test.y:4.9: warning: stray '$' [-Wother]
+test.y:5.9: warning: stray '@' [-Wother]
 ]])
 AT_CLEANUP
 ]])
 AT_CLEANUP
index bb432fc460831763df7d54114ccdd9d299b57d17..5cb57bba060b3edc1f6c40878b9eeeec7f257688 100644 (file)
@@ -165,22 +165,22 @@ AT_CLEANUP
 
 AT_CHECK_CONFLICTING_OUTPUT([foo.y],
 [], [--graph="foo.tab.c"],
 
 AT_CHECK_CONFLICTING_OUTPUT([foo.y],
 [], [--graph="foo.tab.c"],
-[foo.y: warning: conflicting outputs to file 'foo.tab.c'
-])
+[[foo.y: warning: conflicting outputs to file 'foo.tab.c' [-Wother]
+]])
 
 AT_CHECK_CONFLICTING_OUTPUT([foo.y],
 [%defines "foo.output"], [-v],
 
 AT_CHECK_CONFLICTING_OUTPUT([foo.y],
 [%defines "foo.output"], [-v],
-[foo.y: warning: conflicting outputs to file 'foo.output'
-])
+[[foo.y: warning: conflicting outputs to file 'foo.output' [-Wother]
+]])
 
 AT_CHECK_CONFLICTING_OUTPUT([foo.y],
 [%skeleton "lalr1.cc" %defines %locations], [--graph="location.hh"],
 
 AT_CHECK_CONFLICTING_OUTPUT([foo.y],
 [%skeleton "lalr1.cc" %defines %locations], [--graph="location.hh"],
-[foo.y: warning: conflicting outputs to file 'location.hh'
-])
+[[foo.y: warning: conflicting outputs to file 'location.hh' [-Wother]
+]])
 
 AT_CHECK_CONFLICTING_OUTPUT([foo.y], [], [-o foo.y],
 
 AT_CHECK_CONFLICTING_OUTPUT([foo.y], [], [-o foo.y],
-[foo.y: refusing to overwrite the input file 'foo.y'
-], 1)
+[[foo.y: refusing to overwrite the input file 'foo.y'
+]], 1)
 
 
 # AT_CHECK_OUTPUT_FILE_NAME(FILE-NAME-PREFIX, [ADDITIONAL-TESTS])
 
 
 # AT_CHECK_OUTPUT_FILE_NAME(FILE-NAME-PREFIX, [ADDITIONAL-TESTS])
index c528eed809495bebed100a69795daba3553835a8..a30e688255e42f4e477c802b6b7339d7292ce3e2 100644 (file)
@@ -88,16 +88,16 @@ exp: useful;
 ]])
 
 AT_BISON_CHECK([[input.y]], 0, [],
 ]])
 
 AT_BISON_CHECK([[input.y]], 0, [],
-[[input.y: warning: 9 nonterminals useless in grammar
-input.y:4.8-15: warning: nonterminal useless in grammar: useless1
-input.y:5.8-15: warning: nonterminal useless in grammar: useless2
-input.y:6.8-15: warning: nonterminal useless in grammar: useless3
-input.y:7.8-15: warning: nonterminal useless in grammar: useless4
-input.y:8.8-15: warning: nonterminal useless in grammar: useless5
-input.y:9.8-15: warning: nonterminal useless in grammar: useless6
-input.y:10.8-15: warning: nonterminal useless in grammar: useless7
-input.y:11.8-15: warning: nonterminal useless in grammar: useless8
-input.y:12.8-15: warning: nonterminal useless in grammar: useless9
+[[input.y: warning: 9 nonterminals useless in grammar [-Wother]
+input.y:4.8-15: warning: nonterminal useless in grammar: useless1 [-Wother]
+input.y:5.8-15: warning: nonterminal useless in grammar: useless2 [-Wother]
+input.y:6.8-15: warning: nonterminal useless in grammar: useless3 [-Wother]
+input.y:7.8-15: warning: nonterminal useless in grammar: useless4 [-Wother]
+input.y:8.8-15: warning: nonterminal useless in grammar: useless5 [-Wother]
+input.y:9.8-15: warning: nonterminal useless in grammar: useless6 [-Wother]
+input.y:10.8-15: warning: nonterminal useless in grammar: useless7 [-Wother]
+input.y:11.8-15: warning: nonterminal useless in grammar: useless8 [-Wother]
+input.y:12.8-15: warning: nonterminal useless in grammar: useless9 [-Wother]
 ]])
 
 AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
 ]])
 
 AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
@@ -143,26 +143,26 @@ useless9: '9';
 ]])
 
 AT_BISON_CHECK([[input.y]], 0, [],
 ]])
 
 AT_BISON_CHECK([[input.y]], 0, [],
-[[input.y: warning: 9 nonterminals useless in grammar
-input.y: warning: 9 rules useless in grammar
-input.y:6.1-8: warning: nonterminal useless in grammar: useless1
-input.y:7.1-8: warning: nonterminal useless in grammar: useless2
-input.y:8.1-8: warning: nonterminal useless in grammar: useless3
-input.y:9.1-8: warning: nonterminal useless in grammar: useless4
-input.y:10.1-8: warning: nonterminal useless in grammar: useless5
-input.y:11.1-8: warning: nonterminal useless in grammar: useless6
-input.y:12.1-8: warning: nonterminal useless in grammar: useless7
-input.y:13.1-8: warning: nonterminal useless in grammar: useless8
-input.y:14.1-8: warning: nonterminal useless in grammar: useless9
-input.y:6.11-13: warning: rule useless in grammar: useless1: '1'
-input.y:7.11-13: warning: rule useless in grammar: useless2: '2'
-input.y:8.11-13: warning: rule useless in grammar: useless3: '3'
-input.y:9.11-13: warning: rule useless in grammar: useless4: '4'
-input.y:10.11-13: warning: rule useless in grammar: useless5: '5'
-input.y:11.11-13: warning: rule useless in grammar: useless6: '6'
-input.y:12.11-13: warning: rule useless in grammar: useless7: '7'
-input.y:13.11-13: warning: rule useless in grammar: useless8: '8'
-input.y:14.11-13: warning: rule useless in grammar: useless9: '9'
+[[input.y: warning: 9 nonterminals useless in grammar [-Wother]
+input.y: warning: 9 rules useless in grammar [-Wother]
+input.y:6.1-8: warning: nonterminal useless in grammar: useless1 [-Wother]
+input.y:7.1-8: warning: nonterminal useless in grammar: useless2 [-Wother]
+input.y:8.1-8: warning: nonterminal useless in grammar: useless3 [-Wother]
+input.y:9.1-8: warning: nonterminal useless in grammar: useless4 [-Wother]
+input.y:10.1-8: warning: nonterminal useless in grammar: useless5 [-Wother]
+input.y:11.1-8: warning: nonterminal useless in grammar: useless6 [-Wother]
+input.y:12.1-8: warning: nonterminal useless in grammar: useless7 [-Wother]
+input.y:13.1-8: warning: nonterminal useless in grammar: useless8 [-Wother]
+input.y:14.1-8: warning: nonterminal useless in grammar: useless9 [-Wother]
+input.y:6.11-13: warning: rule useless in grammar: useless1: '1' [-Wother]
+input.y:7.11-13: warning: rule useless in grammar: useless2: '2' [-Wother]
+input.y:8.11-13: warning: rule useless in grammar: useless3: '3' [-Wother]
+input.y:9.11-13: warning: rule useless in grammar: useless4: '4' [-Wother]
+input.y:10.11-13: warning: rule useless in grammar: useless5: '5' [-Wother]
+input.y:11.11-13: warning: rule useless in grammar: useless6: '6' [-Wother]
+input.y:12.11-13: warning: rule useless in grammar: useless7: '7' [-Wother]
+input.y:13.11-13: warning: rule useless in grammar: useless8: '8' [-Wother]
+input.y:14.11-13: warning: rule useless in grammar: useless9: '9' [-Wother]
 ]])
 
 AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
 ]])
 
 AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
@@ -239,13 +239,13 @@ non_productive: non_productive useless_token
 ]])
 
 AT_BISON_CHECK([[not-reduced.y]], 0, [],
 ]])
 
 AT_BISON_CHECK([[not-reduced.y]], 0, [],
-[[not-reduced.y: warning: 2 nonterminals useless in grammar
-not-reduced.y: warning: 3 rules useless in grammar
-not-reduced.y:14.1-13: warning: nonterminal useless in grammar: not_reachable
-not-reduced.y:11.6-19: warning: nonterminal useless in grammar: non_productive
-not-reduced.y:11.6-57: warning: rule useless in grammar: exp: non_productive
-not-reduced.y:14.16-56: warning: rule useless in grammar: not_reachable: useful
-not-reduced.y:17.17-18.63: warning: rule useless in grammar: non_productive: non_productive useless_token
+[[not-reduced.y: warning: 2 nonterminals useless in grammar [-Wother]
+not-reduced.y: warning: 3 rules useless in grammar [-Wother]
+not-reduced.y:14.1-13: warning: nonterminal useless in grammar: not_reachable [-Wother]
+not-reduced.y:11.6-19: warning: nonterminal useless in grammar: non_productive [-Wother]
+not-reduced.y:11.6-57: warning: rule useless in grammar: exp: non_productive [-Wother]
+not-reduced.y:14.16-56: warning: rule useless in grammar: not_reachable: useful [-Wother]
+not-reduced.y:17.17-18.63: warning: rule useless in grammar: non_productive: non_productive useless_token [-Wother]
 ]])
 
 AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' not-reduced.output]], 0,
 ]])
 
 AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' not-reduced.output]], 0,
@@ -314,13 +314,13 @@ indirection: underivable;
 ]])
 
 AT_BISON_CHECK([[input.y]], 0, [],
 ]])
 
 AT_BISON_CHECK([[input.y]], 0, [],
-[[input.y: warning: 2 nonterminals useless in grammar
-input.y: warning: 3 rules useless in grammar
-input.y:5.15-25: warning: nonterminal useless in grammar: underivable
-input.y:6.14-24: warning: nonterminal useless in grammar: indirection
-input.y:5.15-25: warning: rule useless in grammar: exp: underivable
-input.y:6.14-24: warning: rule useless in grammar: underivable: indirection
-input.y:7.14-24: warning: rule useless in grammar: indirection: underivable
+[[input.y: warning: 2 nonterminals useless in grammar [-Wother]
+input.y: warning: 3 rules useless in grammar [-Wother]
+input.y:5.15-25: warning: nonterminal useless in grammar: underivable [-Wother]
+input.y:6.14-24: warning: nonterminal useless in grammar: indirection [-Wother]
+input.y:5.15-25: warning: rule useless in grammar: exp: underivable [-Wother]
+input.y:6.14-24: warning: rule useless in grammar: underivable: indirection [-Wother]
+input.y:7.14-24: warning: rule useless in grammar: indirection: underivable [-Wother]
 ]])
 
 AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
 ]])
 
 AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
@@ -350,8 +350,8 @@ exp: exp;
 ]])
 
 AT_BISON_CHECK([[input.y]], 1, [],
 ]])
 
 AT_BISON_CHECK([[input.y]], 1, [],
-[[input.y: warning: 2 nonterminals useless in grammar
-input.y: warning: 2 rules useless in grammar
+[[input.y: warning: 2 nonterminals useless in grammar [-Wother]
+input.y: warning: 2 rules useless in grammar [-Wother]
 input.y:3.1-3: fatal error: start symbol exp does not derive any sentence
 ]])
 
 input.y:3.1-3: fatal error: start symbol exp does not derive any sentence
 ]])
 
index 91378febd43cf13e3646f668f61b4c9c8e0f1407..58988c81f5876ca8de902ca4444d3a37c2e04d7f 100644 (file)
@@ -209,7 +209,7 @@ exp: '(' exp ')' | NUM ;
 AT_BISON_OPTION_POPDEFS
 
 AT_BISON_CHECK([-v -o input.c input.y], 0, [],
 AT_BISON_OPTION_POPDEFS
 
 AT_BISON_CHECK([-v -o input.c input.y], 0, [],
-[[input.y:6.8-14: warning: symbol "<=" used more than once as a literal string
+[[input.y:6.8-14: warning: symbol "<=" used more than once as a literal string [-Wother]
 ]])
 
 AT_CLEANUP
 ]])
 
 AT_CLEANUP
@@ -478,8 +478,8 @@ AT_BISON_OPTION_POPDEFS
 # C-string literal.  Also notice that unnecessary escaping, such as "\?", from
 # the user specification is eliminated.
 AT_BISON_CHECK([-o input.c input.y], [[0]], [[]],
 # C-string literal.  Also notice that unnecessary escaping, such as "\?", from
 # the user specification is eliminated.
 AT_BISON_CHECK([-o input.c input.y], [[0]], [[]],
-[[input.y:22.8-14: warning: symbol SPECIAL redeclared
-input.y:22.8-63: warning: symbol "\\'?\"\a\b\f\n\r\t\v\001\201\001\201??!" used more than once as a literal string
+[[input.y:22.8-14: warning: symbol SPECIAL redeclared [-Wother]
+input.y:22.8-63: warning: symbol "\\'?\"\a\b\f\n\r\t\v\001\201\001\201??!" used more than once as a literal string [-Wother]
 ]])
 AT_COMPILE([input])
 
 ]])
 AT_COMPILE([input])
 
@@ -1184,8 +1184,8 @@ main (void)
 AT_BISON_OPTION_POPDEFS
 
 AT_BISON_CHECK([[-o input.c input.y]], [[0]],,
 AT_BISON_OPTION_POPDEFS
 
 AT_BISON_CHECK([[-o input.c input.y]], [[0]],,
-[[input.y:23.5-19: warning: rule useless in parser due to conflicts: start: start
-input.y:27.5-19: warning: rule useless in parser due to conflicts: sr_conflict: TK2 "tok alias"
+[[input.y:23.5-19: warning: rule useless in parser due to conflicts: start: start [-Wother]
+input.y:27.5-19: warning: rule useless in parser due to conflicts: sr_conflict: TK2 "tok alias" [-Wother]
 ]])
 AT_COMPILE([[input]])
 AT_PARSER_CHECK([[./input]])
 ]])
 AT_COMPILE([[input]])
 AT_PARSER_CHECK([[./input]])
index 76cf0662d6f3798c148bd92193692634e52f4fb7..ce32e88b371d96f561d12e101bc1512f0ec84b70 100644 (file)
@@ -191,8 +191,8 @@ start: ;
 ]])
 
 AT_BISON_CHECK([[input1.y]], [[1]], [[]],
 ]])
 
 AT_BISON_CHECK([[input1.y]], [[1]], [[]],
-[[input1.y: warning: foow fubar
-foow.y:2.3-5.3: warning: foowat fubar
+[[input1.y: warning: foow fubar [-Wother]
+foow.y:2.3-5.3: warning: foowat fubar [-Wother]
 input1.y: fooc fubar
 fooc.y:1.1-10.5: foocat fubar
 input1.y: fatal error: foof fubar
 input1.y: fooc fubar
 fooc.y:1.1-10.5: foocat fubar
 input1.y: fatal error: foof fubar
@@ -281,7 +281,7 @@ start: ;
 ]])
 
 AT_BISON_CHECK([[input2.y]], [[1]], [[]],
 ]])
 
 AT_BISON_CHECK([[input2.y]], [[1]], [[]],
-[[input2.y: warning: morning
+[[input2.y: warning: morning [-Wother]
 foo.y:1.5-6: fatal error: M4 should exit immediately here
 ]])
 
 foo.y:1.5-6: fatal error: M4 should exit immediately here
 ]])