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: