The logic changes in
7daccf2 caused members of variables declared within
anonymous interface blocks to not be resolved correctly.
var.declaration = i->second;
}
- if(var.declaration)
- {
- if(StructDeclaration *strct = dynamic_cast<StructDeclaration *>(var.declaration->type_declaration))
- r_members = &strct->members.variables;
- }
- else
+ if(!var.declaration)
{
const map<string, InterfaceBlock *> &blocks = stage->interface_blocks;
map<string, InterfaceBlock *>::const_iterator i = blocks.find("_"+var.name);
}
}
+ if(var.declaration)
+ if(StructDeclaration *strct = dynamic_cast<StructDeclaration *>(var.declaration->type_declaration))
+ r_members = &strct->members.variables;
+
if(record_target)
{
if(r_assignment_target)