if(recursive_remove || to_remove->count(&var))
{
remove_variable(current_block->variables, var);
- if(current_block->anonymous && current_block->parent)
- remove_variable(current_block->parent->variables, var);
- remove_variable(stage->in_variables, var);
- remove_variable(stage->out_variables, var);
stage->locations.erase(var.name);
if(var.linked_declaration)
var.linked_declaration->linked_declaration = 0;
void NodeRemover::visit(InterfaceBlock &iface)
{
+ if(to_remove->count(&iface))
+ current_block->interfaces.erase(&iface);
SetFlag set_recursive(recursive_remove, recursive_remove || to_remove->count(&iface));
TraversingVisitor::visit(iface);
}