Check that block instance name isn't reserved
BUG=angleproject:1060
TEST=dEQP-GLES3.functional.shaders.uniform_block.invalid.*
Change-Id: I6de3aa0f714d585e7821798744530f3e51ddee7f
Reviewed-on: https://chromium-review.googlesource.com/284259
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/ParseContext.cpp b/src/compiler/translator/ParseContext.cpp
index 50bd30c..d9806b5 100644
--- a/src/compiler/translator/ParseContext.cpp
+++ b/src/compiler/translator/ParseContext.cpp
@@ -2309,6 +2309,9 @@
}
else
{
+ if (reservedErrorCheck(instanceLine, *instanceName))
+ recover();
+
// add a symbol for this interface block
TVariable *instanceTypeDef = new TVariable(instanceName, interfaceBlockType, false);
instanceTypeDef->setQualifier(typeQualifier.qualifier);