From 0628f3498ce85ffb6d05c8143dc1610d84d91ad7 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Sat, 28 May 2016 13:38:46 +0200 Subject: [PATCH] Turn 1<<31 into 1U<<31 Apparently, 1 << 31 is signed which in turn does not fit into a signed integer variable: ../../include/libvirt/libvirt-domain.h:1881:57: error: result of '1 << 31' requires 33 bits to represent, but 'int' only has 32 bits [-Werror=shift-overflow=] VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS = 1 << 31, /* enforce requested stats */ ^~ cc1: all warnings being treated as errors The solution is to make it an unsigned value. I've found only two such occurrences in our code base. Signed-off-by: Michal Privoznik --- include/libvirt/libvirt-domain.h | 2 +- src/util/virtypedparam.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h index 27ed29a646..cba4fa54c6 100644 --- a/include/libvirt/libvirt-domain.h +++ b/include/libvirt/libvirt-domain.h @@ -1878,7 +1878,7 @@ typedef enum { VIR_CONNECT_GET_ALL_DOMAINS_STATS_OTHER = VIR_CONNECT_LIST_DOMAINS_OTHER, VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING = 1 << 30, /* include backing chain for block stats */ - VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS = 1 << 31, /* enforce requested stats */ + VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS = 1U << 31, /* enforce requested stats */ } virConnectGetAllDomainStatsFlags; int virConnectGetAllDomainStats(virConnectPtr conn, diff --git a/src/util/virtypedparam.h b/src/util/virtypedparam.h index 73f710a81c..7ab143f7f5 100644 --- a/src/util/virtypedparam.h +++ b/src/util/virtypedparam.h @@ -32,7 +32,7 @@ * Flag indicating that the params has multiple occurrences of the parameter. * Only used as a flag for @type argument of the virTypedParamsValidate. */ -# define VIR_TYPED_PARAM_MULTIPLE (1 << 31) +# define VIR_TYPED_PARAM_MULTIPLE (1U << 31) verify(!(VIR_TYPED_PARAM_LAST & VIR_TYPED_PARAM_MULTIPLE));