Make TSymbol immutable

There's still an exception for changing the names of structures, but
otherwise the data stored in the TSymbol base class is never changed.

BUG=angleproject:2267
TEST=angle_unittests

Change-Id: I5b3f44cd365320ad09b46d2cfa3654a7d3f4bbc3
Reviewed-on: https://chromium-review.googlesource.com/806556
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/Initialize.cpp b/src/compiler/translator/Initialize.cpp
index 6f6ee43..38bfc86 100644
--- a/src/compiler/translator/Initialize.cpp
+++ b/src/compiler/translator/Initialize.cpp
@@ -1021,10 +1021,10 @@
                                                  NewPoolTString("gl_Position"), zeroSourceLoc);
             glPerVertexFieldList->push_back(glPositionField);
 
-            const TString *glPerVertexString    = NewPoolTString("gl_PerVertex");
-            TInterfaceBlock *glPerVertexInBlock = new TInterfaceBlock(
-                &symbolTable, glPerVertexString, glPerVertexFieldList, TLayoutQualifier::Create());
-            glPerVertexInBlock->relateToExtension(extension);
+            const TString *glPerVertexString = NewPoolTString("gl_PerVertex");
+            TInterfaceBlock *glPerVertexInBlock =
+                new TInterfaceBlock(&symbolTable, glPerVertexString, glPerVertexFieldList,
+                                    TLayoutQualifier::Create(), extension);
             symbolTable.insertInterfaceBlock(ESSL3_1_BUILTINS, glPerVertexInBlock);
 
             // The array size of gl_in is undefined until we get a valid input primitive