find_lexical_block (tree lhs, tree block, int *indexp)
{
tree t;
+ tree subblock;
/* Search locally */
if (BLOCK_VARS (block))
if (lhs == t)
return true;
- if(BLOCK_CHAIN (block))
+ if (BLOCK_SUBBLOCKS (block))
+ {
+ for (subblock = BLOCK_SUBBLOCKS (block); subblock;
+ subblock = BLOCK_CHAIN (block))
+ {
+ (*indexp)++;
+ bool found = false;
+ found = find_lexical_block (lhs, subblock, indexp);
+ if (found)
+ return true;
+ }
+ }
+
+ if (BLOCK_CHAIN (block))
{
for (t = BLOCK_CHAIN (block); t; t = BLOCK_CHAIN(block))
{