From 490a13ba461ae52ac561f7109929eb0e7faac9a4 Mon Sep 17 00:00:00 2001 From: Jamie Madill Date: Wed, 8 Nov 2017 16:25:22 -0500 Subject: layers: Fix MSVS conversion warning. This fixes the following: warning C4245: 'argument': conversion from 'int' to 'unsigned int', signed/unsigned mismatch It also modifies the build to enable this warning by default. Change-Id: If2e6c8d43811162a9a382883b3d55a148975fc37 --- CMakeLists.txt | 2 ++ layers/shader_validation.cpp | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 785d6fc9..83b9ef27 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,6 +96,8 @@ if(WIN32) add_compile_options("$<$:/w34703>") # Warn about different indirection types. add_compile_options("$<$:/w34057>") + # Warn about signed/unsigned mismatch. + add_compile_options("$<$:/w34245>") endif() if(NOT WIN32) diff --git a/layers/shader_validation.cpp b/layers/shader_validation.cpp index ff3a84b8..11fcbdcb 100644 --- a/layers/shader_validation.cpp +++ b/layers/shader_validation.cpp @@ -584,8 +584,8 @@ static std::map collect_interface_by_location(shader_ unsigned id = insn.word(2); unsigned type = insn.word(1); - int location = value_or_default(var_locations, id, -1); - int builtin = value_or_default(var_builtins, id, -1); + int location = value_or_default(var_locations, id, static_cast(-1)); + int builtin = value_or_default(var_builtins, id, static_cast(-1)); unsigned component = value_or_default(var_components, id, 0); // Unspecified is OK, is 0 bool is_patch = var_patch.find(id) != var_patch.end(); bool is_relaxed_precision = var_relaxed_precision.find(id) != var_relaxed_precision.end(); -- cgit v1.2.3