From cbfd25f0edf5f4b853e8ed2e01a4782ec80faba2 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Fri, 24 Jun 2011 15:46:01 -0600 Subject: [PATCH] maint.mk: enhance useless header checks Libvirt was mistakenly using instead of "intprops.h" in one place; when I fixed that, I was surprised to get a syntax-check failure from an unused header. * top/maint.mk (_sc_header_without_use): Check both include styles. (sc_prohibit_assert_without_use) (sc_prohibit_close_stream_without_use) (sc_prohibit_getopt_without_use) (sc_prohibit_quotearg_without_use) (sc_prohibit_quote_without_use) (sc_prohibit_long_options_without_use) (sc_prohibit_inttostr_without_use) (sc_prohibit_ignore_value_without_use) (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use) (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use) (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use) (sc_prohibit_hash_pjw_without_use) (sc_prohibit_safe_read_without_use) (sc_prohibit_argmatch_without_use) (sc_prohibit_canonicalize_without_use) (sc_prohibit_root_dev_ino_without_use) (sc_prohibit_openat_without_use) (sc_prohibit_c_ctype_without_use) (sc_prohibit_signal_without_use) (sc_prohibit_stdio--_without_use) (sc_prohibit_stdio-safer_without_use) (sc_prohibit_strings_without_use) (sc_prohibit_intprops_without_use) (sc_prohibit_stddef_without_use) (sc_prohibit_xfreopen_without_use): Update clients. Signed-off-by: Eric Blake --- ChangeLog | 31 +++++++++++++++++++++++++++++++ top/maint.mk | 60 ++++++++++++++++++++++++++++++------------------------------ 2 files changed, 61 insertions(+), 30 deletions(-) diff --git a/ChangeLog b/ChangeLog index ef4f9fbcc..686d7a591 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,34 @@ +2011-06-24 Eric Blake + + maint.mk: enhance useless header checks + * top/maint.mk (_sc_header_without_use): Check both include + styles. + (sc_prohibit_assert_without_use) + (sc_prohibit_close_stream_without_use) + (sc_prohibit_getopt_without_use) + (sc_prohibit_quotearg_without_use) + (sc_prohibit_quote_without_use) + (sc_prohibit_long_options_without_use) + (sc_prohibit_inttostr_without_use) + (sc_prohibit_ignore_value_without_use) + (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use) + (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use) + (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use) + (sc_prohibit_hash_pjw_without_use) + (sc_prohibit_safe_read_without_use) + (sc_prohibit_argmatch_without_use) + (sc_prohibit_canonicalize_without_use) + (sc_prohibit_root_dev_ino_without_use) + (sc_prohibit_openat_without_use) + (sc_prohibit_c_ctype_without_use) + (sc_prohibit_signal_without_use) + (sc_prohibit_stdio--_without_use) + (sc_prohibit_stdio-safer_without_use) + (sc_prohibit_strings_without_use) + (sc_prohibit_intprops_without_use) + (sc_prohibit_stddef_without_use) + (sc_prohibit_xfreopen_without_use): Update clients. + 2011-06-24 Jim Meyering syntax-check: keep one maint.mk rule in sync with its header diff --git a/top/maint.mk b/top/maint.mk index ed598e0d5..e6e03a897 100644 --- a/top/maint.mk +++ b/top/maint.mk @@ -405,11 +405,11 @@ sc_prohibit_HAVE_MBRTOWC: $(_sc_search_regexp) # To use this "command" macro, you must first define two shell variables: -# h: the header, enclosed in <> or "" +# h: the header name, with no enclosing <> or "" # re: a regular expression that matches IFF something provided by $h is used. define _sc_header_without_use dummy=; : so we do not need a semicolon before each use; \ - h_esc=`echo "$$h"|sed 's/\./\\\\./g'`; \ + h_esc=`echo '[<"]'"$$h"'[">]'|sed 's/\./\\\\./g'`; \ if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ files=$$(grep -l '^# *include '"$$h_esc" \ $$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \ @@ -422,42 +422,42 @@ endef # Prohibit the inclusion of assert.h without an actual use of assert. sc_prohibit_assert_without_use: - @h='' re='\ sc_prohibit_hash_without_use: - @h='"hash.h"' \ + @h='hash.h' \ re='$(_hash_fn)|$(_hash_struct)'\ $(_sc_header_without_use) sc_prohibit_cloexec_without_use: - @h='"cloexec.h"' re='\<(set_cloexec_flag|dup_cloexec) *\(' \ + @h='cloexec.h' re='\<(set_cloexec_flag|dup_cloexec) *\(' \ $(_sc_header_without_use) sc_prohibit_posixver_without_use: - @h='"posixver.h"' re='\' \ -- 2.11.0