From 88d703a361d34d75f81fc6d30b31d0abc8aa17eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Fri, 9 Aug 2019 03:01:36 +0100 Subject: [PATCH] python: fix -Wsign-compare warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Specifically: xen/lowlevel/xc/xc.c: In function ‘pyxc_domain_create’: xen/lowlevel/xc/xc.c:147:24: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare] 147 | for ( i = 0; i < sizeof(xen_domain_handle_t); i++ ) | ^ xen/lowlevel/xc/xc.c: In function ‘pyxc_domain_sethandle’: xen/lowlevel/xc/xc.c:312:20: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare] 312 | for ( i = 0; i < sizeof(xen_domain_handle_t); i++ ) | ^ xen/lowlevel/xc/xc.c: In function ‘pyxc_domain_getinfo’: xen/lowlevel/xc/xc.c:391:24: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare] 391 | for ( j = 0; j < sizeof(xen_domain_handle_t); j++ ) | ^ xen/lowlevel/xc/xc.c: In function ‘pyxc_get_device_group’: xen/lowlevel/xc/xc.c:677:20: error: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Werror=sign-compare] 677 | for ( i = 0; i < num_sdevs; i++ ) | ^ xen/lowlevel/xc/xc.c: In function ‘pyxc_physinfo’: xen/lowlevel/xc/xc.c:988:20: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare] 988 | for ( i = 0; i < sizeof(pinfo.hw_cap)/4; i++ ) | ^ xen/lowlevel/xc/xc.c:994:20: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare] 994 | for ( i = 0; i < ARRAY_SIZE(virtcaps_bits); i++ ) | ^ xen/lowlevel/xc/xc.c:998:24: error: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Werror=sign-compare] 998 | for ( i = 0; i < ARRAY_SIZE(virtcaps_bits); i++ ) | ^ xen/lowlevel/xs/xs.c: In function ‘xspy_ls’: xen/lowlevel/xs/xs.c:191:23: error: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare] 191 | for (i = 0; i < xsval_n; i++) | ^ xen/lowlevel/xs/xs.c: In function ‘xspy_get_permissions’: xen/lowlevel/xs/xs.c:297:23: error: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare] 297 | for (i = 0; i < perms_n; i++) { | ^ cc1: all warnings being treated as errors Use size_t for loop iterators where it's compared with sizeof() or similar construct. Signed-off-by: Marek Marczykowski-Górecki Acked-by: Ian Jackson Modified to apply to Xen 4.12.2 by Christopher Clark Signed-off-by: Christopher Clark --- tools/python/xen/lowlevel/xc/xc.c | 13 ++++++++----- tools/python/xen/lowlevel/xs/xs.c | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c index 522cbe3b9c..188bfa34da 100644 --- a/tools/python/xen/lowlevel/xc/xc.c +++ b/tools/python/xen/lowlevel/xc/xc.c @@ -117,7 +117,8 @@ static PyObject *pyxc_domain_create(XcObject *self, PyObject *kwds) { uint32_t dom = 0, target = 0; - int ret, i; + int ret; + size_t i; PyObject *pyhandle = NULL; struct xen_domctl_createdomain config = { .handle = { @@ -295,7 +296,7 @@ static PyObject *pyxc_vcpu_setaffinity(XcObject *self, static PyObject *pyxc_domain_sethandle(XcObject *self, PyObject *args) { - int i; + size_t i; uint32_t dom; PyObject *pyhandle; xen_domain_handle_t handle; @@ -336,7 +337,8 @@ static PyObject *pyxc_domain_getinfo(XcObject *self, PyObject *list, *info_dict, *pyhandle; uint32_t first_dom = 0; - int max_doms = 1024, nr_doms, i, j; + int max_doms = 1024, nr_doms, i; + size_t j; xc_dominfo_t *info; static char *kwd_list[] = { "first_dom", "max_doms", NULL }; @@ -631,7 +633,8 @@ static PyObject *pyxc_get_device_group(XcObject *self, { uint32_t sbdf; uint32_t max_sdevs, num_sdevs; - int domid, seg, bus, dev, func, rc, i; + int domid, seg, bus, dev, func, rc; + size_t i; PyObject *Pystr; char *group_str; char dev_str[9]; @@ -971,7 +974,7 @@ static PyObject *pyxc_physinfo(XcObject *self) { xc_physinfo_t pinfo; char cpu_cap[128], virt_caps[128], *p; - int i; + size_t i; const char *virtcap_names[] = { "hvm", "hvm_directio" }; if ( xc_physinfo(self->xc_handle, &pinfo) != 0 ) diff --git a/tools/python/xen/lowlevel/xs/xs.c b/tools/python/xen/lowlevel/xs/xs.c index 9a0acfc25c..ea50f86bc3 100644 --- a/tools/python/xen/lowlevel/xs/xs.c +++ b/tools/python/xen/lowlevel/xs/xs.c @@ -186,7 +186,7 @@ static PyObject *xspy_ls(XsHandle *self, PyObject *args) Py_END_ALLOW_THREADS if (xsval) { - int i; + size_t i; PyObject *val = PyList_New(xsval_n); for (i = 0; i < xsval_n; i++) #if PY_MAJOR_VERSION >= 3 @@ -276,7 +276,7 @@ static PyObject *xspy_get_permissions(XsHandle *self, PyObject *args) struct xs_handle *xh = xshandle(self); struct xs_permissions *perms; unsigned int perms_n = 0; - int i; + size_t i; xs_transaction_t th; char *thstr; -- 2.17.1