This caused invalid memory accesses when destroying syntax trees.
const map<string, VariableDeclaration *> &linked_vars = iface_block->linked_block->members.variables;
map<string, VariableDeclaration *>::const_iterator i = linked_vars.find(var.name);
if(i!=linked_vars.end())
const map<string, VariableDeclaration *> &linked_vars = iface_block->linked_block->members.variables;
map<string, VariableDeclaration *>::const_iterator i = linked_vars.find(var.name);
if(i!=linked_vars.end())
var.linked_declaration = i->second;
var.linked_declaration = i->second;
+ var.linked_declaration->linked_declaration = &var;
+ }