summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2012-07-13 14:02:05 -0600
committerEric Blake <eblake@redhat.com>2012-07-13 14:31:48 -0600
commitfabe8a68103e1014e4ad4551046bbd8ad8c5ae3c (patch)
treedf8a87ea550670103a799c7efa663344cd41392e
parent70ab74b3b42a82654b16bc75242bf9b96daa9794 (diff)
downloadgnulib-fabe8a68103e1014e4ad4551046bbd8ad8c5ae3c.tar.gz
maint.mk: new syntax check for HAVE_DECL checks
Based on Karel's report, we might as well enforce a syntax check to help avoid future problems. https://lists.gnu.org/archive/html/coreutils/2012-06/msg00037.html Exempt a few files that still get picked up in the wild rather than as a full gnulib module with m4 files. * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule. * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests): Exempt some false positives. Based on a report by Karel Zak. Signed-off-by: Eric Blake <eblake@redhat.com>
-rw-r--r--ChangeLog7
-rw-r--r--cfg.mk3
-rw-r--r--top/maint.mk5
3 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f3633d1b73..43572faa13 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2012-07-13 Eric Blake <eblake@redhat.com>
+ maint.mk: new syntax check for HAVE_DECL checks
+ * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
+ * cfg.mk
+ (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
+ Exempt some false positives.
+ Based on a report by Karel Zak.
+
argp: make HAVE_DECL usage consistent
* lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
macros, not whether they are defined.
diff --git a/cfg.mk b/cfg.mk
index 45a321cef3..bf59024474 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -77,3 +77,6 @@ if_before_free_basename_re_ = \
exclude_file_name_regexp--sc_avoid_if_before_free = \
^lib/($(if_before_free_basename_re_))\.c$$
+
+exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests = \
+ ^lib/((error|getopt|strtoimax)\.c|(argp-namefrob|fpending|getpass)\.h)$$
diff --git a/top/maint.mk b/top/maint.mk
index 0023989753..5ca1a31375 100644
--- a/top/maint.mk
+++ b/top/maint.mk
@@ -777,6 +777,11 @@ sc_prohibit_always_true_header_tests:
' with the corresponding gnulib module, they are always true') \
$(_sc_search_regexp)
+sc_prohibit_defined_have_decl_tests:
+ prohibit='#[ ]*if(n?def|.*\<defined)\>[ (]+HAVE_DECL_' \
+ halt='$(ME): HAVE_DECL macros are always defined' \
+ $(_sc_search_regexp)
+
# ==================================================================
gl_other_headers_ ?= \
intprops.h \