1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-08-28 13:25:48 +00:00

maint.mk: improve sc_prohibit_intprops_without_use

* top/maint.mk (_intprops_names): Don't hard-code the list of
symbol names.  Instead, derive it on the fly.
This commit is contained in:
Jim Meyering
2016-12-30 09:01:05 -08:00
parent b724c4e6aa
commit 1894933d68
2 changed files with 14 additions and 12 deletions
+6
View File
@@ -1,3 +1,9 @@
2016-12-30 Jim Meyering <meyering@fb.com>
maint.mk: improve sc_prohibit_intprops_without_use
* top/maint.mk (_intprops_names): Don't hard-code the list of
symbol names. Instead, derive it on the fly.
2016-12-30 Paul Eggert <eggert@cs.ucla.edu>
dfa: shorten sbit, success
+8 -12
View File
@@ -657,18 +657,14 @@ sc_prohibit_strings_without_use:
re='\<(strn?casecmp|ffs(ll)?)\>' \
$(_sc_header_without_use)
# Get the list of symbol names with this:
# perl -lne '/^# *define ([A-Z]\w+)\(/ and print $1' lib/intprops.h|fmt
_intprops_names = \
TYPE_IS_INTEGER TYPE_SIGNED EXPR_SIGNED TYPE_WIDTH TYPE_MINIMUM \
TYPE_MAXIMUM INT_BITS_STRLEN_BOUND INT_STRLEN_BOUND INT_BUFSIZE_BOUND \
INT_ADD_RANGE_OVERFLOW INT_SUBTRACT_RANGE_OVERFLOW \
INT_NEGATE_RANGE_OVERFLOW INT_MULTIPLY_RANGE_OVERFLOW \
INT_DIVIDE_RANGE_OVERFLOW INT_REMAINDER_RANGE_OVERFLOW \
INT_LEFT_SHIFT_RANGE_OVERFLOW INT_ADD_OVERFLOW INT_SUBTRACT_OVERFLOW \
INT_NEGATE_OVERFLOW INT_NEGATE_OVERFLOW INT_MULTIPLY_OVERFLOW \
INT_DIVIDE_OVERFLOW INT_REMAINDER_OVERFLOW INT_LEFT_SHIFT_OVERFLOW \
INT_ADD_WRAPV INT_SUBTRACT_WRAPV INT_MULTIPLY_WRAPV
# Extract the raw list of symbol names with this:
gl_extract_define_simple = \
/^\# *define ([A-Z]\w+)\(/ and print $$1
# Filter out duplicates and convert to a space-separated list:
_intprops_names := \
$(shell f=$(gnulib_dir)/lib/intprops.h; \
perl -lne '$(gl_extract_define_simple)' $$f | sort -u | tr '\n' ' ')
# Remove trailing space and convert to a regular expression:
_intprops_syms_re = $(subst $(_sp),|,$(strip $(_intprops_names)))
# Prohibit the inclusion of intprops.h without an actual use.
sc_prohibit_intprops_without_use: