X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramcompiler.cpp;h=d021ab4f75732769855e9370fe0c8eec990aca20;hp=989098d7d0cf6410b4d26faed46f9c400bc06a3c;hb=bec07999d95b76f4b47cffcc564d0cd0afc0435e;hpb=dad209400d4e5d39076d949364f598b854c7a5d7 diff --git a/source/programcompiler.cpp b/source/programcompiler.cpp index 989098d7..d021ab4f 100644 --- a/source/programcompiler.cpp +++ b/source/programcompiler.cpp @@ -209,6 +209,8 @@ void ProgramCompiler::append_stage(Stage &stage) target = &*i; } + if(stage.required_version>target->required_version) + target->required_version = stage.required_version; for(NodeList::iterator i=stage.content.body.begin(); i!=stage.content.body.end(); ++i) target->content.body.push_back(*i); apply(*target); @@ -245,6 +247,8 @@ void ProgramCompiler::import(const string &name) void ProgramCompiler::generate(Stage &stage) { + if(module->shared.required_version>stage.required_version) + stage.required_version = module->shared.required_version; inject_block(stage.content, module->shared.content); apply(stage); @@ -348,6 +352,7 @@ void ProgramCompiler::BlockModifier::visit(Block &block) ProgramCompiler::Formatter::Formatter(): + source_index(0), source_line(1), indent(0), parameter_list(false) @@ -1676,7 +1681,7 @@ void ProgramCompiler::UnusedVariableLocator::merge_down_variables() { if(!i->second.referenced) unused_nodes.insert(i->first); - clear_assignments(i->second, true); + clear_assignments(i->second, i->first->interface!="out"); continue; }