bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] maint.mk: update sc_prohibit_intprops_without_use


From: Jim Meyering
Subject: Re: [PATCH] maint.mk: update sc_prohibit_intprops_without_use
Date: Fri, 24 Jun 2011 20:53:58 +0200

Eric Blake wrote:
> This syntax check needs to reflect commit 8cc0fee and following.
>
> * top/maint.mk (_intprops_names): Match recent changes.
>
> Signed-off-by: Eric Blake <address@hidden>
> ---
>
> I found this by accident when 'make syntax-check' started failing
> on libvirt due to a single use of INT_MULTIPLY_OVERFLOW.
>
>  ChangeLog    |    5 +++++
>  top/maint.mk |   10 ++++++++--
>  2 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/ChangeLog b/ChangeLog
> index 86cde24..2ce487c 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,8 @@
> +2011-06-24  Eric Blake  <address@hidden>
> +
> +     maint.mk: update sc_prohibit_intprops_without_use
> +     * top/maint.mk (_intprops_names): Match recent changes.
...

Thanks!
We can avoid a repeat of that, at least for one file, now,
with this gnulib syntax-check rule:

>From 2afabab6d320363e660c5b200e21a13654d15dee Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Fri, 24 Jun 2011 20:52:00 +0200
Subject: [PATCH] syntax-check: keep one maint.mk rule in sync with its header

* Makefile (sc_check_sym_list): Add a rule to prevent recurrence,
at least for intprops.h.
I prefer to avoid temporary files here, so use <(...), but that
is not supported by /bin/sh, so...
(SHELL): Define to /bin/bash.
---
 ChangeLog |    9 +++++++++
 Makefile  |   13 +++++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2ce487c..006317e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-06-24  Jim Meyering  <address@hidden>
+
+       syntax-check: keep one maint.mk rule in sync with its header
+       * Makefile (sc_check_sym_list): Add a rule to prevent recurrence,
+       at least for intprops.h.
+       I prefer to avoid temporary files here, so use <(...), but that
+       is not supported by /bin/sh, so...
+       (SHELL): Define to /bin/bash.
+
 2011-06-24  Eric Blake  <address@hidden>

        maint.mk: update sc_prohibit_intprops_without_use
diff --git a/Makefile b/Makefile
index 5dda3b5..0da864c 100644
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,9 @@
 # This Makefile requires the use of GNU make.  Some targets require
 # that you have tools like git, makeinfo and cppi installed.

+# Required for the use of <(...) below.
+SHELL=/bin/bash
+
 # Produce some files that are not stored in the repository.
 all:

@@ -95,6 +98,16 @@ sc_cpp_indent_check:
           | grep -v '/getloadavg\.c$$' \
           | xargs cppi -c

+# Ensure that the list of symbols checked for by the
+# sc_prohibit_intprops_without_use rule match those in the actual file.
+# Extract the symbols from the .h file and compare with the list of
+# symbols extracted from the rule in maint.mk.
+sc_check_sym_list:
+       i=lib/intprops.h; \
+       diff -u <(perl -lne '/^# *define ([A-Z]\w+)\(/ and print $$1' $$i|fmt) \
+         <(sed -n /^_intprops_name/,/^_intprops_syms_re/p top/maint.mk \
+            |sed '/^_/d;s/^  //;s/     *\\$$//')
+
 # Regenerate some files that are stored in the repository.
 regen: MODULES.html

--
1.7.6.rc2.302.gc2115



reply via email to

[Prev in Thread] Current Thread [Next in Thread]