Discussion:
avoid new "syntax-check" failure
(too old to reply)
Jim Meyering
2016-12-30 08:47:30 UTC
Permalink
Raw Message
Because grep now uses only symbols from intprops.h that have been
added relatively recently, the hard-coded (out of date) list of
symbols in the maint.mk rule caused the
sc_prohibit_intprops_without_use to trigger erroneously.

This updates the list in gnulib.
I'll update grep's gnulib submodule separately.

I may remove the hard-coded list altogether in this case, but there
are many similar tests, and not all are as straightforward.
Jim Meyering
2016-12-30 17:04:05 UTC
Permalink
Raw Message
Post by Jim Meyering
Because grep now uses only symbols from intprops.h that have been
added relatively recently, the hard-coded (out of date) list of
symbols in the maint.mk rule caused the
sc_prohibit_intprops_without_use to trigger erroneously.
This updates the list in gnulib.
I'll update grep's gnulib submodule separately.
I may remove the hard-coded list altogether in this case, but there
are many similar tests, and not all are as straightforward.
At least this one was doable. I've eliminated that hard-coded list
with the attached:
Eric Blake
2016-12-31 02:34:45 UTC
Permalink
Raw Message
Post by Jim Meyering
At least this one was doable. I've eliminated that hard-coded list
+gl_extract_define_simple = \
+ /^\# *define ([A-Z]\w+)\(/ and print $$1
+_intprops_names := \
+ $(shell f=$(gnulib_dir)/lib/intprops.h; \
Trying this out with m4, I get:

$ make
Can't open /lib/intprops.h: No such file or directory.
make all-recursive
...

All other uses of $(gnulib_dir) prior to its ?= definition later in the
file are probably okay (because they are not actually expanded until
after the default definition has been parsed), but this particular
$(shell) usage does the wrong thing (since $(shell) is executed
immediately upon parse). You probably need to hoist the definition of
$(gnulib_dir) up earlier in the file.

Testing a patch now.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
Loading...