]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/validate.cpp
Add support for function overloading
[libs/gl.git] / source / glsl / validate.cpp
index ea2e956d023f1e02d66b44b7771186542076dd28..f8ecc5eeefd34aaad243accf7034d9cee8513ca0 100644 (file)
@@ -175,15 +175,15 @@ void DeclarationValidator::visit(FunctionDeclaration &func)
 {
        if(Statement *previous = find_definition(func.name))
        {
-               FunctionDeclaration *prev_func = dynamic_cast<FunctionDeclaration *>(previous);
-               if(prev_func && prev_func->definition==&func)
-                       declarations[current_block][func.name] = &func;
-               else
+               if(!dynamic_cast<FunctionDeclaration *>(previous))
                        multiple_definition(format("'%s'", func.name), func, *previous);
        }
        else
                record_definition(func.name, func);
 
+       if(func.definition==&func)
+               check_definition(func.name+func.signature, func);
+
        TraversingVisitor::visit(func);
 }