Reset symbol unique id counter between compilations
This guarantees identical compilation results on different
compilations using the same compiler instance, guards against
overflow, and is useful as a building block for tracking more symbol
information in the symbol table.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: Ib5a7cec2fff6712ead969d935d238d28a87fd4a7
Reviewed-on: https://chromium-review.googlesource.com/796795
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/Compiler.cpp b/src/compiler/translator/Compiler.cpp
index e0fd0cb..f0df223 100644
--- a/src/compiler/translator/Compiler.cpp
+++ b/src/compiler/translator/Compiler.cpp
@@ -734,6 +734,8 @@
IdentifyBuiltIns(shaderType, shaderSpec, resources, symbolTable);
+ symbolTable.markBuiltInInitializationFinished();
+
return true;
}
@@ -868,6 +870,8 @@
nameMap.clear();
mSourcePath = nullptr;
+
+ symbolTable.clearCompilationResults();
}
bool TCompiler::initCallDag(TIntermNode *root)