]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/optimize.cpp
Visit structs during unused type removal
[libs/gl.git] / source / glsl / optimize.cpp
index 88a323992636b0642d05d4134ee81d68bdebce9c..f4626f3dfde4a30b91658d5e981b458fad9ab7c5 100644 (file)
@@ -646,6 +646,7 @@ void UnusedTypeRemover::visit(ImageTypeDeclaration &type)
 void UnusedTypeRemover::visit(StructDeclaration &strct)
 {
        unused_nodes.insert(&strct);
+       TraversingVisitor::visit(strct);
 }
 
 void UnusedTypeRemover::visit(VariableDeclaration &var)
@@ -653,6 +654,12 @@ void UnusedTypeRemover::visit(VariableDeclaration &var)
        unused_nodes.erase(var.type_declaration);
 }
 
+void UnusedTypeRemover::visit(FunctionDeclaration &func)
+{
+       unused_nodes.erase(func.return_type_declaration);
+       TraversingVisitor::visit(func);
+}
+
 
 UnusedVariableRemover::UnusedVariableRemover():
        aggregate(0),