aboutsummaryrefslogtreecommitdiff
path: root/glslang/MachineIndependent/linkValidate.cpp
diff options
context:
space:
mode:
authorJohn Kessenich <cepheus@frii.com>2013-11-07 01:06:34 +0000
committerJohn Kessenich <cepheus@frii.com>2013-11-07 01:06:34 +0000
commit11f9fc7247fdde95e3d611dc6c0f604a20335108 (patch)
treeb0d96ae1cc0e289f3b4fea1e6eedc2d392381e7d /glslang/MachineIndependent/linkValidate.cpp
parent8ec55cdcd2815a0d91e2d2c69e56b3300323f1b9 (diff)
downloadglslang-11f9fc7247fdde95e3d611dc6c0f604a20335108.tar.gz
Add and partially implement an interface for doing uniform reflection. It includes an AST traversal to identify live accesses.
It does not yet correctly compute block offsets, give correct GL-API-style type values, or handle arrays. This is tied to the new -q flag. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23938 e7fa87d3-cd2b-0410-9028-fcbf551c1848
Diffstat (limited to 'glslang/MachineIndependent/linkValidate.cpp')
-rw-r--r--glslang/MachineIndependent/linkValidate.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index 0c1fb7bb..55bfdc63 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -296,7 +296,7 @@ void TIntermediate::checkCallGraphCycles(TInfoSink& infoSink)
TCall* call = stack.back();
// Add to the stack just one callee.
- // This algorithm always terminates, because only ! visited and ! currentPath causes a push
+ // This algorithm always terminates, because only !visited and !currentPath causes a push
// and all pushes change currentPath to true, and all pops change visited to true.
TGraph::iterator child = callGraph.begin();
for (; child != callGraph.end(); ++child) {
@@ -312,6 +312,7 @@ void TIntermediate::checkCallGraphCycles(TInfoSink& infoSink)
error(infoSink, "Recursion detected:");
infoSink.info << " " << call->callee << " calling " << child->callee << "\n";
child->errorGiven = true;
+ recursive = true;
}
} else {
child->currentPath = true;