summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorJoel E. Denny <jdenny@ces.clemson.edu>2009-04-24 01:42:58 -0400
committerJoel E. Denny <jdenny@ces.clemson.edu>2009-04-24 02:54:10 -0400
commitf49097730eb04fdb52bc1a625b93df26437bbefb (patch)
treebfd1bef7dd40f81b7945f99d547cc61ed0453e49 /data
parent110ef36a1a93c60cc83627492de40cb95aedf9b1 (diff)
downloadbison-f49097730eb04fdb52bc1a625b93df26437bbefb.tar.gz
List accepted values for a %define enum variable with an invalid value.
Suggested by Akim Demaille at <http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00082.html>. * data/bison.m4 (_b4_percent_define_check_values): Implement. * src/muscle-tab.c (muscle_percent_define_check_values): Implement. * tests/input.at (%define lr.default_reductions invalid values): Merge into... (%define enum variables): ... here, and update output. (cherry picked from commit 25029e164a3b2385ae6d95ca4cd19bad36550c92)
Diffstat (limited to 'data')
-rw-r--r--data/bison.m46
1 files changed, 5 insertions, 1 deletions
diff --git a/data/bison.m4 b/data/bison.m4
index 3c68c4c1..9f88b6a6 100644
--- a/data/bison.m4
+++ b/data/bison.m4
@@ -724,7 +724,11 @@ m4_define([_b4_percent_define_check_values],
[b4_complain_at(b4_percent_define_get_loc([$1]),
[[invalid value for %%define variable `%s': `%s']],
[$1],
- m4_dquote(m4_indir([b4_percent_define(]$1[)])))])dnl
+ m4_dquote(m4_indir([b4_percent_define(]$1[)])))
+ m4_foreach([b4_value], m4_dquote(m4_shift($@)),
+ [b4_complain_at(b4_percent_define_get_loc([$1]),
+ [[accepted value: `%s']],
+ m4_dquote(b4_value))])])dnl
m4_popdef([b4_good_value])],
[b4_fatal([[undefined %%define variable `%s' passed to b4_percent_define_check_values]], [$1])])])