]> git.saurik.com Git - bison.git/blobdiff - cfg.mk
scanner: issue a single error for groups of invalid characters
[bison.git] / cfg.mk
diff --git a/cfg.mk b/cfg.mk
index 9f11f3774aa15fa7ab32c8d7d91a115e8833e7c2..3f244aabee421092b060a23a82199d29e224615c 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -61,6 +61,18 @@ update-copyright: update-b4-copyright update-package-copyright-year
 update-copyright-env = \
   UPDATE_COPYRIGHT_FORCE=1 UPDATE_COPYRIGHT_USE_INTERVALS=1
 
+# At least for Mac OS X's grep, the order between . and [ in "[^.[]"
+# matters:
+# $ LC_ALL=fr_FR grep -nE '[^[.]' /dev/null
+# $ LC_ALL=C grep -nE '[^[.]' /dev/null
+# grep: invalid collating element or class
+# $ LC_ALL=fr_FR grep -nE '[^.[]' /dev/null
+# $ LC_ALL=C grep -nE '[^.[]' /dev/null
+sc_at_parser_check:
+       @prohibit='AT_PARSER_CHECK\(\[+[^.[]|AT_CHECK\(\[+\./'          \
+       halt='use AT_PARSER_CHECK for and only for generated parsers'   \
+         $(_sc_search_regexp)
+
 exclude = \
   $(foreach a,$(1),$(eval $(subst $$,$$$$,exclude_file_name_regexp--sc_$(a))))
 $(call exclude,                                                                \
@@ -76,5 +88,5 @@ $(call exclude,                                                               \
   require_config_h_first=^(lib/yyerror|data/(glr|yacc))\.c$$           \
   space_tab=^tests/(input|c\+\+)\.at$$                                 \
   trailing_blank=^src/parse-gram.[ch]$$                                        \
-  unmarked_diagnostics=^(djgpp/|doc/bison.texi$$)                      \
+  unmarked_diagnostics=^(djgpp/|doc/bison.texi$$|tests/c\+\+\.at$$)    \
 )