diff --git a/demos/cube.c b/demos/cube.c
index 00951b5..42a9570 100644
--- a/demos/cube.c
+++ b/demos/cube.c
@@ -561,8 +561,8 @@
 {
   //header for testing if it is a png
   png_byte header[8];
-  int i, is_png, bit_depth, color_type,rowbytes;
-  png_uint_32 twidth, theight;
+  int is_png, bit_depth, color_type,rowbytes;
+  png_uint_32 i, twidth, theight;
   png_structp  png_ptr;
   png_infop info_ptr, end_info;
   png_byte *image_data;
diff --git a/icd/common/icd-enumerate-drm.c b/icd/common/icd-enumerate-drm.c
index f65ceca..fbb00d7 100644
--- a/icd/common/icd-enumerate-drm.c
+++ b/icd/common/icd-enumerate-drm.c
@@ -186,7 +186,7 @@
 
     while (dev) {
         struct icd_drm_device *next = dev->next;
-        int i;
+        size_t i;
 
         for (i = 0; i < ARRAY_SIZE(dev->minors); i++)
             udev_device_unref((struct udev_device *) dev->minors[i]);
diff --git a/icd/common/icd-log.c b/icd/common/icd-log.c
index 3b93051..8452002 100644
--- a/icd/common/icd-log.c
+++ b/icd/common/icd-log.c
@@ -169,7 +169,7 @@
     int ret;
 
     ret = vsnprintf(msg, sizeof(msg), format, ap);
-    if (ret >= sizeof(msg) || ret < 0)
+    if ((ret >= (int) sizeof(msg)) || ret < 0)
         msg[sizeof(msg) - 1] = '\0';
 
     icd_log_str(msg_type, validation_level, src_object,
diff --git a/loader/loader.c b/loader/loader.c
index 52be50e..34df4a5 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -177,7 +177,7 @@
 
     va_start(ap, format);
     ret = vsnprintf(msg, sizeof(msg), format, ap);
-    if (ret >= sizeof(msg) || ret < 0) {
+    if ((ret >= (int) sizeof(msg)) || ret < 0) {
         msg[sizeof(msg) - 1] = '\0';
     }
     va_end(ap);
@@ -1058,7 +1058,7 @@
         if ((fpEnumerateLayers = loader_platform_get_proc_address(handle, "xglEnumerateLayers")) == NULL) {
             //use default layer name based on library name XGL_LAYER_LIBRARY_PREFIX<name>.XGL_LIBRARY_SUFFIX
             char *pEnd, *cpyStr;
-            int siz;
+            size_t siz;
             loader_platform_close_library(handle);
             lib_name = basename(lib_name);
             pEnd = strrchr(lib_name, '.');
