]> xenbits.xensource.com Git - libvirt.git/commitdiff
Turn 1<<31 into 1U<<31
authorMichal Privoznik <mprivozn@redhat.com>
Sat, 28 May 2016 11:38:46 +0000 (13:38 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Sat, 28 May 2016 11:49:14 +0000 (13:49 +0200)
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 <mprivozn@redhat.com>
include/libvirt/libvirt-domain.h
src/util/virtypedparam.h

index 27ed29a646c431b6d16fe926fc72a25534956845..cba4fa54c64bfeedfc36e7bb2bfb3b336cc46941 100644 (file)
@@ -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,
index 73f710a81c751c416b69c0633dbf9859a89c9812..7ab143f7f5b881c346367c61daf211eacb2947ca 100644 (file)
@@ -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));