On 07/10/2014 12:20 PM, Pádraig Brady wrote:
On 07/10/2014 01:39 AM, Assaf Gordon wrote:
make all-recursive
make[1]: Entering directory `/home/gordon/projects/gnulib/testdir30793/build'
Making all in gllib
make[2]: Entering directory
`/home/gordon/projects/gnulib/testdir30793/build/gllib'
make all-recursive
make[3]: Entering directory
`/home/gordon/projects/gnulib/testdir30793/build/gllib'
make[4]: Entering directory
`/home/gordon/projects/gnulib/testdir30793/build/gllib'
depbase=`echo localename.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -Wall -DHAVE_CONFIG_H -I. -I../../gllib -I.. -DGNULIB_STRICT_CHECKING=1 -O1
-g -Werror -Wsuggest-attribute=const -Wsuggest-attribute=pure -MT localename.o -MD -MP
-MF $depbase.Tpo -c -o localename.o ../../gllib/localename.c &&\
mv -f $depbase.Tpo $depbase.Po
../../gllib/localename.c: In function ‘string_hash’:
../../gllib/localename.c:2519:1: error: function might be candidate for
attribute ‘pure’ if it is known to return normally
[-Werror=suggest-attribute=pure]
string_hash (const void *x)
^
cc1: all warnings being treated as errors
Rather than worry about warnings like test for gnulib tests,
coreutils configure.ac ignores those using:
# For gnulib-tests, the set is slightly smaller still.
nw=
nw="$nw -Wstrict-prototypes"
# It's not worth being this picky about test programs.
nw="$nw -Wsuggest-attribute=const"
nw="$nw -Wsuggest-attribute=pure"
gl_MANYWARN_COMPLEMENT([GNULIB_TEST_WARN_CFLAGS],
[$GNULIB_WARN_CFLAGS], [$nw])
AC_SUBST([GNULIB_TEST_WARN_CFLAGS])
I wonder why it's reproducible by default with coreutils for you?
Note if modifying CFLAGS, it's usually better to specify AM_CFLAGS
rather than impacting on generated CFLAGS.
If I understand correctly, the coreutil section you've listed disables these
warnings for Gnulib's *tests*.
But the warning is from a gnulib module (not its tests).
Under 'coreutils' gnulib modules are still compiled with "-Wsuggest-attribute=const
-Wsuggest-attribute=pure".
This hasn't been triggered before because coreutils hans't used "localename"
module (but I needed it for the seq+letters patch).
Thanks,
- gordon