[libvirt] [PATCH] Disable the -Wduplicated-branches warning

Martin Kletzander mkletzan at redhat.com
Thu Jun 15 12:24:41 UTC 2017


On Wed, Jun 14, 2017 at 03:11:35PM +0100, Daniel P. Berrange wrote:
>Depending on the platform/architecture, a number of conditionals
>in libvirt code expand the same on both branches. This is expected
>behaviour and harmless, so disable the warning to avoid creating
>unexpected build failures
>
>Two examples, mingw32:
>
>../../src/util/vircommand.c: In function 'virCommandWait':
>../../src/util/vircommand.c:2562:51: error: this condition has identical branches [-Werror=duplicated-branches]
>             *exitstatus = cmd->rawStatus ? status : WEXITSTATUS(status);
>                                                   ^
>and gcc7.1
>
>In file included from util/virobject.c:28:0:
>util/virobject.c: In function 'virClassNew':
>util/viratomic.h:176:46: error: this condition has identical branches [-Werror=duplicated-branches]
>            (void)(0 ? *(atomic) ^ *(atomic) : 0);                      \
>                                             ^
>util/virobject.c:144:20: note: in expansion of macro 'virAtomicIntInc'
>    klass->magic = virAtomicIntInc(&magicCounter);
>                   ^~~~~~~~~~~~~~~
>
>Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
>---
> m4/virt-compile-warnings.m4 | 3 +++
> 1 file changed, 3 insertions(+)
>

ACK

>diff --git a/m4/virt-compile-warnings.m4 b/m4/virt-compile-warnings.m4
>index 768a5c8..d7bb172 100644
>--- a/m4/virt-compile-warnings.m4
>+++ b/m4/virt-compile-warnings.m4
>@@ -61,6 +61,9 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[
>     dontwarn="$dontwarn -Wenum-compare"
>     # gcc 5.1 -Wformat-signedness mishandles enums, not ready for prime time
>     dontwarn="$dontwarn -Wformat-signedness"
>+    # Several conditionals expand the same on both branches
>+    # depending on the particular platform/architecture
>+    dontwarn="$dontwarn -Wduplicated-branches"
>
>     # gcc 4.2 treats attribute(format) as an implicit attribute(nonnull),
>     # which triggers spurious warnings for our usage
>--
>2.9.3
>
>--
>libvir-list mailing list
>libvir-list at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170615/0540debf/attachment-0001.sig>


More information about the libvir-list mailing list