Disallow assigning to interface block fields.

GLSL ES 3.0 interface blocks always have uniform storage qualification
and thus can't be used as l-value.

Change-Id: Iffe948dccbf2edb28eb1abe52a6f28dc76a1e84b
Reviewed-on: https://swiftshader-review.googlesource.com/13929
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/OpenGL/compiler/ParseHelper.cpp b/src/OpenGL/compiler/ParseHelper.cpp
index de5eedd..8d58c5f 100644
--- a/src/OpenGL/compiler/ParseHelper.cpp
+++ b/src/OpenGL/compiler/ParseHelper.cpp
@@ -303,7 +303,6 @@
 		case EOpIndexDirect:
 		case EOpIndexIndirect:
 		case EOpIndexDirectStruct:
-		case EOpIndexDirectInterfaceBlock:
 			return lValueErrorCheck(line, op, binaryNode->getLeft());
 		case EOpVectorSwizzle:
 			errorReturn = lValueErrorCheck(line, op, binaryNode->getLeft());
@@ -326,6 +325,7 @@
 			}
 
 			return errorReturn;
+		case EOpIndexDirectInterfaceBlock:
 		default:
 			break;
 		}