/* Populate referenced_names from the target function so we can rename
variables from the inlined function that would conflict. Only consider
- names which declared in blocks linearly related to the target block. */
+ names declared in blocks linearly related to the target block. */
pass = REFERENCED;
tgt_blk.visit(*this);
for(const Block *b=&tgt_blk; b; b=b->parent)
for(const auto &kvp: b->variables)
referenced_names.insert(kvp.first);
+ for(const auto &kvp: stage.interface_blocks)
+ if(kvp.second->name.find(' ')!=string::npos)
+ for(const auto &kvp2: kvp.second->block_declaration->members.variables)
+ referenced_names.insert(kvp2.first);
/* Inline and rename passes must be interleaved so used variable names are
known when inlining the return statement. */