summaryrefslogtreecommitdiff
path: root/src/gram.c
diff options
context:
space:
mode:
authorAkim Demaille <akim@lrde.epita.fr>2013-02-11 10:17:36 +0100
committerAkim Demaille <akim@lrde.epita.fr>2013-02-14 15:00:51 +0100
commitfec5f3c0cc2c50a779dafb928fda105c1782446b (patch)
tree9d115299e1097ffe614f9fac1d5d6bfbd1afa7b6 /src/gram.c
parent9a9130f26d8df2c1fe2051c5881e0da804ba8e9c (diff)
downloadbison-fec5f3c0cc2c50a779dafb928fda105c1782446b.tar.gz
diagnostics: no longer pretty-print rules in error messages, carets suffice
* src/gram.c (grammar_rules_useless_report): Let -fcaret handle the pretty-printing of the guilty rules. (rule_print): Inline in its only use. * tests/conflicts.at, tests/existing.at, tests/reduce.at, * tests/regression.at: Adjust. * NEWS: Document.
Diffstat (limited to 'src/gram.c')
-rw-r--r--src/gram.c33
1 files changed, 6 insertions, 27 deletions
diff --git a/src/gram.c b/src/gram.c
index 6cbe622b..c0177df0 100644
--- a/src/gram.c
+++ b/src/gram.c
@@ -125,13 +125,6 @@ rule_rhs_print_xml (rule const *r, FILE *out, int level)
}
}
-static void
-rule_print (rule const *r, FILE *out)
-{
- fprintf (out, "%s:", r->lhs->tag);
- rule_rhs_print (r, out);
-}
-
void
ritem_print (FILE *out)
{
@@ -289,8 +282,8 @@ grammar_dump (FILE *out, const char *title)
rule_number r;
for (r = 0; r < nrules + nuseless_productions; r++)
{
- fprintf (out, "%-5d ", r);
- rule_print (&rules[r], out);
+ fprintf (out, "%-5d %s:", r, rules[r].lhs->tag);
+ rule_rhs_print (&rules[r], out);
fprintf (out, "\n");
}
}
@@ -300,24 +293,10 @@ grammar_dump (FILE *out, const char *title)
void
grammar_rules_useless_report (const char *message)
{
- warnings w = Wother;
- if (warnings_flag & w)
- {
- rule_number r;
- for (r = 0; r < nrules ; ++r)
- if (!rules[r].useful)
- {
- if (feature_flag & feature_caret)
- complain (&rules[r].location, w, "%s", message);
- else
- {
- complain (&rules[r].location, w | silent, "%s: ", message);
- rule_print (&rules[r], stderr);
- warnings_print_categories (w);
- fprintf (stderr, "\n");
- }
- }
- }
+ rule_number r;
+ for (r = 0; r < nrules ; ++r)
+ if (!rules[r].useful)
+ complain (&rules[r].location, Wother, "%s", message);
}
void