Time to update to new gnulib before a release.
gcc 5.1 introduced a new -Wformat-signedness, and new gnulib now
turns it on by default. However, it is still rather lame at the
moment, because it warns for enums, even though there is no way
to control the signeness of an enum which does not use any members
that are negative or larger than INT_MAX, and even though such an
enum would always print the same for both %d and %u:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66249
In file included from ../../src/util/virarch.c:26:0:
../../src/util/virarch.c: In function 'virArchFromHost':
../../src/util/virarch.c:180:15: error: format '%d' expects argument of type
'int', but argument 9 has type 'unsigned int' [-Werror=format=]
VIR_DEBUG("Mapped %s to %d (%s)",
So this patch turns off the new warning as part of enabling all
other new gcc 5.1 warnings that gnulib now enables.
* .gnulib: Update to latest, in part for gcc 5.1 interaction.
* m4/virt-compile-warnings.m4: Ignore -Wformat-signedness, for now.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
It looks like DV hasn't done the freeze yet, so I'll push this under
the gnulib rule. I still have a pending gnulib patch that helps the
build under rawhide mingw (where newer gcc broke how older gnulib
was probing for whether PRIdMAX was "lld" vs. "I64d"); that may miss
the freeze, but my goal in pushing this now is that if it is the only
gnulib change post-freeze, then we are minimizing the risk on other
platforms by getting the rest picked up now.
* .gnulib 106a386...875ec93 (34):
autoupdate
gitlog-to-changelog: parse "Tiny-change"
update from texinfo
doc: document glibc posix_fallocate() issues
gendocs.sh: document new htmlarg default
extern-inline: no need for workaround in GCC 5.1
update from texinfo
eealloc, pagealign_alloc, xalloc: avoid clang warnings
tests: pacify GCC 5.1's stricter printf checking
fts: port to GCC 5.1 with --enable-gcc-warnings
file-has-acl: port to CentOS 6
file-has-acl: always return false when ACLs aren't supported
gettext: propagate po/Makefile.in.in too
file-has-acl: new module, split from acl
manywarnings: add GCC 5.1 warnings
autoupdate
doc: update FDL template to match FDL examples.
lstat: fix cross-compilation 'ln -s' problem
gendocs.sh: default to a common CSS style sheet for HTML output
gnulib-tool: output bold attribute more portably
qacl: Simplify HP-UX acl_nontrivial check
acl: On Linux, check for acls without libacl
acl, qacl: split off shared functions into separate object file
git-version-gen: revert "detect untagged revisions"
tempname: avoid unused parameter warnings
git-version-gen: detect untagged revisions
fseeko: fix build failure on NetBSD >= 6
gitlog-to-changelog: port to MS-Windows
gendocs: new option --tex for texi2dvi options
sync gettext .m4 files from gettext
uniname/uniname-tests: fix failure due to alias
hash: remove deprecated hash_insert0 function
mountlist: remove dependency on libmount
stddef: port to pre-C11 GCC on x86
.gnulib | 2 +-
m4/virt-compile-warnings.m4 | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/.gnulib b/.gnulib
index 106a386..875ec93 160000
--- a/.gnulib
+++ b/.gnulib
@@ -1 +1 @@
-Subproject commit 106a3866d01f9dd57ab4f10dbeb0d5a8db73a9f7
+Subproject commit 875ec93e1501d2d2a8bab1b64fa66b8ceb51dc67
diff --git a/m4/virt-compile-warnings.m4 b/m4/virt-compile-warnings.m4
index 8aebdb0..3dd0665 100644
--- a/m4/virt-compile-warnings.m4
+++ b/m4/virt-compile-warnings.m4
@@ -59,6 +59,8 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[
dontwarn="$dontwarn -Waggregate-return"
# gcc 4.4.6 complains this is C++ only; gcc 4.7.0 implies this from -Wall
dontwarn="$dontwarn -Wenum-compare"
+ # gcc 5.1 -Wformat-signedness mishandles enums, not ready for prime time
+ dontwarn="$dontwarn -Wformat-signedness"
# gcc 4.2 treats attribute(format) as an implicit attribute(nonnull),
# which triggers spurious warnings for our usage
--
2.1.0