From 3ec327c5a500fcfb8cc44f8477f29a18f56e6a19 Mon Sep 17 00:00:00 2001
From: Jamie Madill <jmadill@chromium.org>
Date: Tue, 13 Dec 2016 17:30:58 -0500
Subject: [PATCH] Fix size_t to int cast warnings.

Several instances in Visual Studio 2015:

warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
---
 glslang/MachineIndependent/Intermediate.cpp |  2 +-
 hlsl/hlslParseHelper.cpp                    | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index 9b6d4c627..999fd5d8a 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -2241,7 +2241,7 @@ bool TIntermediate::promoteAggregate(TIntermAggregate& node)
 {
     TOperator op = node.getOp();
     TIntermSequence& args = node.getSequence();
-    const int numArgs = args.size();
+    const int numArgs = static_cast<int>(args.size());
 
     // Presently, only hlsl does intrinsic promotions.
     if (getSource() != EShSourceHlsl)
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
index 54cd10fcc..3a193dca2 100755
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -957,13 +957,13 @@ int HlslParseContext::addFlattenedMember(const TSourceLoc& loc,
         if (flattenData.nextBinding != TQualifier::layoutBindingEnd)
             memberVariable->getWritableType().getQualifier().layoutBinding = flattenData.nextBinding++;
 
-        flattenData.offsets.push_back(flattenData.members.size());
+        flattenData.offsets.push_back(static_cast<int>(flattenData.members.size()));
         flattenData.members.push_back(memberVariable);
 
         if (track)
             trackLinkageDeferred(*memberVariable);
 
-        return flattenData.offsets.size()-1; // location of the member reference
+        return static_cast<int>(flattenData.offsets.size())-1; // location of the member reference
     } else {
         // Further recursion required
         return flatten(loc, variable, type, flattenData, memberName);
@@ -985,7 +985,7 @@ int HlslParseContext::flattenStruct(const TSourceLoc& loc, const TVariable& vari
     auto members = *type.getStruct();
 
     // Reserve space for this tree level.
-    int start = flattenData.offsets.size();
+    int start = static_cast<int>(flattenData.offsets.size());
     int pos   = start;
     flattenData.offsets.resize(int(pos + members.size()), -1);
 
@@ -1022,7 +1022,7 @@ int HlslParseContext::flattenArray(const TSourceLoc& loc, const TVariable& varia
         name = variable.getName();
 
     // Reserve space for this tree level.
-    int start = flattenData.offsets.size();
+    int start = static_cast<int>(flattenData.offsets.size());
     int pos   = start;
     flattenData.offsets.resize(int(pos + size), -1);
 
@@ -4977,7 +4977,7 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co
         return addConstructor(loc, initList, arrayType);
     } else if (type.isStruct()) {
         // lengthen list to be long enough
-        lengthenList(loc, initList->getSequence(), type.getStruct()->size());
+        lengthenList(loc, initList->getSequence(), static_cast<int>(type.getStruct()->size()));
 
         if (type.getStruct()->size() != initList->getSequence().size()) {
             error(loc, "wrong number of structure members", "initializer list", "");
-- 
GitLab