X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fglsl%2Fvalidate.cpp;h=f8ecc5eeefd34aaad243accf7034d9cee8513ca0;hb=a1ba04add302e7712d127b46d8d11386987a0aea;hp=ea2e956d023f1e02d66b44b7771186542076dd28;hpb=4c6f1a526ed949f6c9f4c3a57c036b3cdb1aaa91;p=libs%2Fgl.git diff --git a/source/glsl/validate.cpp b/source/glsl/validate.cpp index ea2e956d..f8ecc5ee 100644 --- a/source/glsl/validate.cpp +++ b/source/glsl/validate.cpp @@ -175,15 +175,15 @@ void DeclarationValidator::visit(FunctionDeclaration &func) { if(Statement *previous = find_definition(func.name)) { - FunctionDeclaration *prev_func = dynamic_cast(previous); - if(prev_func && prev_func->definition==&func) - declarations[current_block][func.name] = &func; - else + if(!dynamic_cast(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); }