Name mangle function prototypes and print them in interm output
This patch changes function prototype handling so that they get assigned
the same kind of a mangled name as function definitions and function
calls. This name is now also printed in interm output so that function
prototypes can be accurately identified in the interm output.
BUG=angle:821
TEST=compiler_tests
Change-Id: Ia150b8ac5b816b8096c964767cd8666bdee28539
Reviewed-on: https://chromium-review.googlesource.com/227390
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/OutputGLSLBase.cpp b/src/compiler/translator/OutputGLSLBase.cpp
index 772ed03..ed59096 100644
--- a/src/compiler/translator/OutputGLSLBase.cpp
+++ b/src/compiler/translator/OutputGLSLBase.cpp
@@ -575,7 +575,7 @@
// Function declaration.
ASSERT(visit == PreVisit);
writeVariableType(node->getType());
- out << " " << hashName(node->getName());
+ out << " " << hashFunctionName(node->getName());
out << "(";
writeFunctionParameters(*(node->getSequence()));