summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2020-06-10 07:35:47 +0200
committerAkim Demaille <akim.demaille@gmail.com>2020-06-10 07:53:44 +0200
commitd2acc4b4014ad7447c29ce56095f28d22ed12978 (patch)
tree624d319e64cb7d8e5b8436a0def539de87ef67fd
parenta53c6026cd367c75d5594e6e649ee1cdda93d5ae (diff)
downloadbison-d2acc4b4014ad7447c29ce56095f28d22ed12978.tar.gz
cex: rename -Wcounterexample as -Wcounterexamples, and support -Wcex
Plural vs. singular is always a problem... But we already have conflicts-sr and conflicts-rr, so counterexamples makes more sense than counterexample. Besides, -Wcounterexample will still be accepted as an unambiguous prefix of -Wcounterexamples. Add -Wcex as a convenient alias. While at it, use only "counterexample", never "counter example". * src/complain.h, src/complain.c (Wcounterexample, warning_counterexample): Rename as... (Wcounterexamples, warning_counterexamples): these. (argmatch_warning_docs): Rename -Wcounterexample as -Wcounterexamples. (argmatch_warning_args): Likewise. Add support for -Wcex. Adjust dependencies.
-rw-r--r--src/complain.c30
-rw-r--r--src/complain.h6
-rw-r--r--src/conflicts.c2
-rw-r--r--src/counterexample.c2
-rw-r--r--src/main.c2
-rw-r--r--tests/counterexample.at2
6 files changed, 22 insertions, 22 deletions
diff --git a/src/complain.c b/src/complain.c
index 1c2ba797..92d5fc52 100644
--- a/src/complain.c
+++ b/src/complain.c
@@ -114,7 +114,7 @@ static const argmatch_warning_doc argmatch_warning_docs[] =
{
{ "conflicts-sr", N_("S/R conflicts (enabled by default)") },
{ "conflicts-rr", N_("R/R conflicts (enabled by default)") },
- { "counterexample", N_("Conflict counter examples") },
+ { "counterexamples", N_("generate conflict counterexamples") },
{ "dangling-alias", N_("string aliases not attached to a symbol") },
{ "deprecated", N_("obsolete constructs") },
{ "empty-rule", N_("empty rules without %empty") },
@@ -122,7 +122,7 @@ static const argmatch_warning_doc argmatch_warning_docs[] =
{ "precedence", N_("useless precedence and associativity") },
{ "yacc", N_("incompatibilities with POSIX Yacc") },
{ "other", N_("all other warnings (enabled by default)") },
- { "all", N_("all the warnings except 'dangling-alias' and 'yacc'") },
+ { "all", N_("all the warnings except 'counterexamples', 'dangling-alias' and 'yacc'") },
{ "no-CATEGORY", N_("turn off warnings in CATEGORY") },
{ "none", N_("turn off all the warnings") },
{ "error[=CATEGORY]", N_("treat warnings as errors") },
@@ -131,19 +131,19 @@ static const argmatch_warning_doc argmatch_warning_docs[] =
static const argmatch_warning_arg argmatch_warning_args[] =
{
- { "all", Wall },
- { "conflicts-rr", Wconflicts_rr },
- { "conflicts-sr", Wconflicts_sr },
- { "counterexample", Wcounterexample },
- { "dangling-alias", Wdangling_alias },
- { "deprecated", Wdeprecated },
- { "empty-rule", Wempty_rule },
- { "everything", Weverything },
- { "midrule-values", Wmidrule_values },
- { "none", Wnone },
- { "other", Wother },
- { "precedence", Wprecedence },
- { "yacc", Wyacc },
+ { "all", Wall },
+ { "conflicts-rr", Wconflicts_rr },
+ { "conflicts-sr", Wconflicts_sr },
+ { "counterexamples", Wcounterexamples }, { "cex", Wcounterexamples }, // Show cex second.
+ { "dangling-alias", Wdangling_alias },
+ { "deprecated", Wdeprecated },
+ { "empty-rule", Wempty_rule },
+ { "everything", Weverything },
+ { "midrule-values", Wmidrule_values },
+ { "none", Wnone },
+ { "other", Wother },
+ { "precedence", Wprecedence },
+ { "yacc", Wyacc },
{ NULL, Wnone }
};
diff --git a/src/complain.h b/src/complain.h
index 63a14f76..eab5720d 100644
--- a/src/complain.h
+++ b/src/complain.h
@@ -46,7 +46,7 @@ typedef enum
{
warning_conflicts_rr,
warning_conflicts_sr,
- warning_counterexample,
+ warning_counterexamples,
warning_dangling_alias,
warning_deprecated,
warning_empty_rule,
@@ -107,7 +107,7 @@ typedef enum
Wconflicts_rr = 1 << warning_conflicts_rr,
Wconflicts_sr = 1 << warning_conflicts_sr,
- Wcounterexample = 1 << warning_counterexample,
+ Wcounterexamples = 1 << warning_counterexamples,
Wdangling_alias = 1 << warning_dangling_alias,
Wdeprecated = 1 << warning_deprecated,
Wempty_rule = 1 << warning_empty_rule,
@@ -124,7 +124,7 @@ typedef enum
/**< All above warnings. */
Weverything = ~complaint & ~fatal & ~silent,
- Wall = Weverything & ~Wcounterexample & ~Wdangling_alias & ~Wyacc
+ Wall = Weverything & ~Wcounterexamples & ~Wdangling_alias & ~Wyacc
} warnings;
/** Whether the warnings of \a flags are all unset.
diff --git a/src/conflicts.c b/src/conflicts.c
index 2f8b7c53..7becadb2 100644
--- a/src/conflicts.c
+++ b/src/conflicts.c
@@ -723,7 +723,7 @@ rule_conflicts_print (void)
r->code, rr, expected_rr);
}
}
- if (warning_is_enabled (Wcounterexample))
+ if (warning_is_enabled (Wcounterexamples))
report_counterexamples ();
}
diff --git a/src/counterexample.c b/src/counterexample.c
index 031681ea..5ff1e9fd 100644
--- a/src/counterexample.c
+++ b/src/counterexample.c
@@ -1036,7 +1036,7 @@ generate_next_states (search_state *ss, state_item *conflict1,
}
/*
- * Perform the actual counter example search,
+ * Perform the actual counterexample search,
* keeps track of what stage of the search algorithm
* we are at and gives the appropriate counterexample
* type based off of time constraints.
diff --git a/src/main.c b/src/main.c
index 30e3ca69..5dd54d34 100644
--- a/src/main.c
+++ b/src/main.c
@@ -145,7 +145,7 @@ main (int argc, char *argv[])
conflicts_update_state_numbers (old_to_new, nstates_old);
free (old_to_new);
}
- if (warning_is_enabled (Wcounterexample))
+ if (warning_is_enabled (Wcounterexamples))
counterexample_init ();
conflicts_print ();
timevar_pop (tv_conflicts);
diff --git a/tests/counterexample.at b/tests/counterexample.at
index 7c176636..8647e464 100644
--- a/tests/counterexample.at
+++ b/tests/counterexample.at
@@ -21,7 +21,7 @@ m4_define([AT_BISON_CHECK_CEX],
[AT_DATA([experr], [$4])
sed -e ['s/time limit exceeded: [0-9][.0-9]*/time limit exceeded: XXX/g'] \
experr >expout
-AT_BISON_CHECK([-Wcounterexample $1], [$2], [$3], [stderr])
+AT_BISON_CHECK([-Wcounterexamples $1], [$2], [$3], [stderr])
AT_CHECK([[sed -e 's/time limit exceeded: [0-9][.0-9]*/time limit exceeded: XXX/g' stderr]],
[], [expout])
])