Added parentheses around a few operators so that if they are used in a compound statement, order of operations is preserved.
BUG=5
TEST=OpenGL ES 2.0 conformance tests.
Review URL: http://codereview.appspot.com/1691041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@336 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/compiler/OutputGLSL.cpp b/src/compiler/OutputGLSL.cpp
index 45d4fd0..6f43524 100644
--- a/src/compiler/OutputGLSL.cpp
+++ b/src/compiler/OutputGLSL.cpp
@@ -220,16 +220,17 @@
mDeclaringVariables = false;
}
break;
- case EOpAssign: writeTriplet(visit, NULL, " = ", NULL); break;
- case EOpAddAssign: writeTriplet(visit, NULL, " += ", NULL); break;
- case EOpSubAssign: writeTriplet(visit, NULL, " -= ", NULL); break;
- case EOpDivAssign: writeTriplet(visit, NULL, " /= ", NULL); break;
+ case EOpAssign: writeTriplet(visit, "(", " = ", ")"); break;
+ case EOpAddAssign: writeTriplet(visit, "(", " += ", ")"); break;
+ case EOpSubAssign: writeTriplet(visit, "(", " -= ", ")"); break;
+ case EOpDivAssign: writeTriplet(visit, "(", " /= ", ")"); break;
+ // Notice the fall-through.
case EOpMulAssign:
case EOpVectorTimesMatrixAssign:
case EOpVectorTimesScalarAssign:
case EOpMatrixTimesScalarAssign:
case EOpMatrixTimesMatrixAssign:
- writeTriplet(visit, NULL, " *= ", NULL);
+ writeTriplet(visit, "(", " *= ", ")");
break;
case EOpIndexDirect: