Clean up function name mangling code

Fix a few incorrect comments about mangled names, and refactor
generating mangled names from function call nodes.

BUG=angleproject:1490
TEST=angle_unittests

Change-Id: I3ee68c4c0982f1a9c28d8e87aafa19f19559bbf8
Reviewed-on: https://chromium-review.googlesource.com/465826
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/Initialize.cpp b/src/compiler/translator/Initialize.cpp
index 9abf7d3..edc50b8 100644
--- a/src/compiler/translator/Initialize.cpp
+++ b/src/compiler/translator/Initialize.cpp
@@ -690,9 +690,9 @@
     symbolTable.insert(COMMON_BUILTINS, depthRangeParameters);
     TVariable *depthRange = new TVariable(NewPoolTString("gl_DepthRange"), TType(depthRangeStruct));
     depthRange->setQualifier(EvqUniform);
-    // Ensure we evaluate the mangled name for depth range, so we allocate to the current scope.
-    depthRangeParameters->getType().getMangledName();
-    depthRange->getType().getMangledName();
+    // Do lazy initialization for depth range, so we allocate to the current scope.
+    depthRangeParameters->getType().realize();
+    depthRange->getType().realize();
     symbolTable.insert(COMMON_BUILTINS, depthRange);
 
     //