]> xenbits.xensource.com Git - libvirt.git/commitdiff
build: silence warning on 32-bit build
authorEric Blake <eblake@redhat.com>
Tue, 20 Sep 2011 22:53:58 +0000 (16:53 -0600)
committerEric Blake <eblake@redhat.com>
Tue, 20 Sep 2011 22:53:58 +0000 (16:53 -0600)
gcc warns when building libvirt 0.9.5 on a 32-bit machine:

qemu/qemu_migration.c: In function 'qemuMigrationToFile':
qemu/qemu_migration.c:2727:38: error: large integer implicitly truncated to unsigned type [-Woverflow]

* src/qemu/qemu_domain.h (QEMU_DOMAIN_FILE_MIG_BANDWIDTH_MAX): Cap
to long when building for 32-bit platform.

src/qemu/qemu_domain.h

index e44ff8a41d51d924d0750c73fd8bfabf4d6b95f9..cde3adacec5504fb20a0b3adaf0c895e943f8083 100644 (file)
      (1 << VIR_DOMAIN_VIRT_XEN))
 
 # define QEMU_DOMAIN_DEFAULT_MIG_BANDWIDTH_MAX (32 << 20)
-# define QEMU_DOMAIN_FILE_MIG_BANDWIDTH_MAX    (INT64_MAX / (1024 * 1024))
+# if ULONG_MAX == 4294967295
+/* Qemu has a 64-bit limit, but we are limited by our historical choice of
+ * representing bandwidth in a long instead of a 64-bit int.  */
+#  define QEMU_DOMAIN_FILE_MIG_BANDWIDTH_MAX    ULONG_MAX
+# else
+#  define QEMU_DOMAIN_FILE_MIG_BANDWIDTH_MAX    (INT64_MAX / (1024 * 1024))
+# endif
 
 # define JOB_MASK(job)                  (1 << (job - 1))
 # define DEFAULT_JOB_MASK               \