changeset 17397:70c2a43965ef

maint.mk: catch more abuse of HAVE_DECL in syntax-check Libvirt had a patch that attempted to do: +#elif defined(SIOCSIFLLADDR) && defined(HAVE_STRUCT_IFREQ) && \ + defined(HAVE_DECL_LINK_ADDR) but which was not flagged by the syntax checker as suspicious (all HAVE_DECL_* symbols defined by autoconf are always defined after including <config.h>, although they are sometimes defined as the value 0). Now that code is flagged until changed to: +#elif defined(SIOCSIFLLADDR) && defined(HAVE_STRUCT_IFREQ) && \ + HAVE_DECL_LINK_ADDR * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Fri, 10 May 2013 20:24:21 -0600
parents 9815ae1c3b4f
children 21bdea0c916e
files ChangeLog top/maint.mk
diffstat 2 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-05-10  Eric Blake  <eblake@redhat.com>
+
+	maint.mk: catch more abuse of HAVE_DECL in syntax-check
+	* top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
+
 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
 
 	deps: require Automake >= 1.9.6 in generated Makefile fragments
--- a/top/maint.mk
+++ b/top/maint.mk
@@ -809,7 +809,7 @@
 	  $(_sc_search_regexp)
 
 sc_prohibit_defined_have_decl_tests:
-	@prohibit='#[	 ]*if(n?def|.*\<defined)\>[	 (]+HAVE_DECL_'	\
+	@prohibit='(#[	 ]*ifn?def|\<defined)\>[	 (]+HAVE_DECL_'	\
 	halt='HAVE_DECL macros are always defined'			\
 	  $(_sc_search_regexp)