Used size_t for object size instead of signed int.
BUG=crbug 179653
R=aedla@chromium.org, kbr@chromium.org
Review URL: https://codereview.appspot.com/8834048
git-svn-id: https://angleproject.googlecode.com/svn/trunk@2211 736b8ea6-26fd-11df-bfd4-992fa37f6226
TRAC #23333
Authored-by: alokp@chromium.org
Signed-off-by: Shannon Woods
Signed-off-by Nicolas Capens
Merged-by: Jamie Madill
diff --git a/src/compiler/OutputHLSL.cpp b/src/compiler/OutputHLSL.cpp
index e4a8abc..ace2a8e 100644
--- a/src/compiler/OutputHLSL.cpp
+++ b/src/compiler/OutputHLSL.cpp
@@ -3008,11 +3008,12 @@
{
TString string;
- for (int component = 0; component < type.getObjectSize(); component++)
+ size_t size = type.getObjectSize();
+ for (size_t component = 0; component < size; component++)
{
string += "0";
- if (component < type.getObjectSize() - 1)
+ if (component + 1 < size)
{
string += ", ";
}
@@ -3244,13 +3245,14 @@
}
else
{
- int remainingComponents = ctorType.getObjectSize();
- int parameterIndex = 0;
+ size_t remainingComponents = ctorType.getObjectSize();
+ size_t parameterIndex = 0;
while (remainingComponents > 0)
{
const TType ¶meter = ctorParameters[parameterIndex];
- bool moreParameters = parameterIndex < (int)ctorParameters.size() - 1;
+ const size_t parameterSize = parameter.getObjectSize();
+ bool moreParameters = parameterIndex + 1 < ctorParameters.size();
constructor += "x" + str(parameterIndex);
@@ -3260,11 +3262,12 @@
}
else if (parameter.isVector())
{
- if (remainingComponents == parameter.getObjectSize() || moreParameters)
+ if (remainingComponents == parameterSize || moreParameters)
{
- remainingComponents -= parameter.getObjectSize();
+ ASSERT(parameterSize <= remainingComponents);
+ remainingComponents -= parameterSize;
}
- else if (remainingComponents < parameter.getNominalSize())
+ else if (remainingComponents < static_cast<size_t>(parameter.getNominalSize()))
{
switch (remainingComponents)
{
@@ -3281,9 +3284,10 @@
}
else if (parameter.isMatrix() || parameter.getStruct())
{
- ASSERT(remainingComponents == parameter.getObjectSize() || moreParameters);
+ ASSERT(remainingComponents == parameterSize || moreParameters);
+ ASSERT(parameterSize <= remainingComponents);
- remainingComponents -= parameter.getObjectSize();
+ remainingComponents -= parameterSize;
}
else UNREACHABLE();
@@ -3340,7 +3344,7 @@
}
else
{
- int size = type.getObjectSize();
+ size_t size = type.getObjectSize();
bool writeType = size > 1;
if (writeType)
@@ -3348,7 +3352,7 @@
out << typeString(type) << "(";
}
- for (int i = 0; i < size; i++, constUnion++)
+ for (size_t i = 0; i < size; i++, constUnion++)
{
switch (constUnion->getType())
{