diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index 49e91f4..816cf35 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -2788,7 +2788,7 @@
             for (uint32_t i = 0; i < localRPCI->subpassCount; i++) {
                 VkSubpassDescription *subpass = (VkSubpassDescription *) &localRPCI->pSubpasses[i];
                 const uint32_t attachmentCount = subpass->inputCount +
-                    subpass->colorCount * (1 + (bool) subpass->resolveAttachments) +
+                    subpass->colorCount * (1 + (subpass->resolveAttachments?1:0)) +
                     subpass->preserveCount;
                 VkAttachmentReference *attachments = new VkAttachmentReference[attachmentCount];
 
diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp
index 2955f8d..94b3984 100644
--- a/layers/shader_checker.cpp
+++ b/layers/shader_checker.cpp
@@ -902,7 +902,7 @@
 
     loader_platform_thread_lock_mutex(&globalLock);
 
-    for (auto i = 0; i < pCreateInfo->stageCount; i++) {
+    for (uint32_t i = 0; i < pCreateInfo->stageCount; i++) {
         VkPipelineShaderStageCreateInfo const *pStage = &pCreateInfo->pStages[i];
         if (pStage->sType == VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO) {
 
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index 58b4884..8e73591 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -1596,11 +1596,11 @@
         if proto.name in ["FlushMappedMemoryRanges","InvalidateMappedMemoryRanges"]:
             funcs.append('%s%s\n'
                      '{\n'
-                     '    for (int i=0; i<memRangeCount; i++) {\n'
+                     '    for (uint32_t i=0; i<memRangeCount; i++) {\n'
                      '        useObject(pMemRanges[i].mem, "VkDeviceMemory");\n'
                      '    }\n'
                      '    %s%s_dispatch_table(%s)->%s;\n'
-                     '    for (int i=0; i<memRangeCount; i++) {\n'
+                     '    for (uint32_t i=0; i<memRangeCount; i++) {\n'
                      '        finishUsingObject(pMemRanges[i].mem);\n'
                      '    }\n'
                      '%s'
