LINUX: Fix "unused but set var" autoconf warnings
authorAndrew Deason <adeason@sinenomine.net>
Mon, 13 Jan 2014 05:24:55 +0000 (23:24 -0600)
committerBenjamin Kaduk <kaduk@mit.edu>
Sat, 22 Aug 2015 14:28:13 +0000 (10:28 -0400)
commit4e05184264bf1c0d54e20741563ba9dadc2ef522
treef1aaf265dde310f48d645b3207589c5c92b131a5
parent9738c82bd6e5a1c294911d06e3c3e38b70a8caa8
LINUX: Fix "unused but set var" autoconf warnings

A few of the linux autoconf tests generate -Wunused-but-set-variable
warnings, unless the test is run with -Wno-unused-but-set-variable.
Since we run these tests with -Werror, this can cause the tests to
incorrectly fail if they are not run with
-Wno-unused-but-set-variable.

The Linux kernel build process normally does run with that option, but
due to some other (possibly buggy) behavior, sometimes these configure
tests do not run with that option. So, make our tests work without
generating that warning, so we will work in more cases.

Reorganize a few of these tests so we are setting a field in a global
structure, instead of a function-local one. Make the test function
names and style little more consistent while we are here, but do not
make the global structure 'static', in case the compiler recognizes we
are setting fields for a structure that cannot be used by anything.

In particular, the "revalidate takes nameidata" test had been wrongly
succeeding, but that didn't usually matter because of how the feature
tests are ordered in the code.  It does matter in the case when the
"revalidate takes unsigned" check also gets a wrong result, which
can cause kernel BUGs, which should be fixed by these changes.

See:
<http://lists.openafs.org/pipermail/openafs-devel/2014-January/019727.html>
<http://thread.gmane.org/gmane.comp.file-systems.openafs.devel/11361>

Change-Id: Ic29c4fc61da17633d8d1af81949b3917beb58cf6
Reviewed-on: http://gerrit.openafs.org/10706
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
src/cf/linux-test4.m4