[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] maint.mk: catch more abuse of HAVE_DECL in syntax-check
From: |
Jim Meyering |
Subject: |
Re: [PATCH] maint.mk: catch more abuse of HAVE_DECL in syntax-check |
Date: |
Sat, 11 May 2013 05:44:00 +0200 |
Eric Blake wrote:
> 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
...
> 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)
Thanks for the improvement.