diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2022-09-20 08:19:02 +0200 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2022-09-20 08:25:06 +0200 |
commit | 25b3d0e1a3f97a33615099e4b211f3953990c203 (patch) | |
tree | 8c57cb04ae243556b3bb3c860c3503cf09ea25ed /src | |
parent | de3041b69a72f7a027f20082d8c1eb605d01f9dd (diff) | |
download | bison-25b3d0e1a3f97a33615099e4b211f3953990c203.tar.gz |
cex: check -Dcex.timeout
* src/counterexample.c (counterexample_init): Remove stray debug
trace.
Complain about invalid values.
* tests/input.at (-Dcex.timeout): New.
Diffstat (limited to 'src')
-rw-r--r-- | src/counterexample.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/counterexample.c b/src/counterexample.c index 8a4f8b2c..82ee43da 100644 --- a/src/counterexample.c +++ b/src/counterexample.c @@ -30,6 +30,7 @@ #include <gl_rbtreehash_list.h> #include <hash.h> #include <mbswidth.h> +#include <quote.h> #include <stdlib.h> #include <textstyle.h> #include <time.h> @@ -1209,15 +1210,23 @@ static xtime_t cumulative_time; void counterexample_init (void) { + // Check cex.timeout. { - char *cp = muscle_percent_define_get ("cex.timeout"); + const char *variable = "cex.timeout"; + char *cp = muscle_percent_define_get (variable); if (*cp != '\0') { char *end = NULL; double v = c_strtod (cp, &end); - if (*end == '\0' && errno == 0) + if (*end == '\0' && errno == 0 && v >= 0) time_limit = v; - fprintf (stderr, "lim: %f from %s\n", time_limit, cp); + else + { + location loc = muscle_percent_define_get_loc (variable); + complain (&loc, complaint, + _("invalid value for %%define variable %s: %s"), + quote (variable), quote_n (1, cp)); + } } free (cp); } |