Re: MI: Another -var-update bug? [PATCH]

Nick Roberts
2007-01-04T23:59:43Z

> This patch introduces this for me:
>
> FAIL: gdb.mi/mi-var-cp.exp: update RX (3)
>
> Do you get this failure to? If yes, can you please fix it?
> If no, let me know and I'll investigate.

I don't get this failure.

> > /* FIXME: select_frame could fail */
> > !       if (fi)
> > !       {
> > !         CORE_ADDR pc = get_frame_pc (fi);
> > !         if (pc <  BLOCK_START (var->root->valid_block) ||
> > !             pc >= BLOCK_END (var->root->valid_block))
> > !           within_scope = 0;
> > !         select_frame (fi);
> > !       }
>
> The code later in this function is only executed if "within_scope" is
> true. Would it be better to call select_frame only if within_scope is
> set to true, like this:
>
> if (pc < BLOCK_START (var->root->valid_block) ||
> pc >= BLOCK_END (var->root->valid_block))
> within_scope = 0;
> else
> select_frame (fi);

Yes, it looks like the call to select_frame is not needed when the variable is
out of scope. Daniel also suggested removing the call to reinit_frame_cache.

--
Nick http://www.inet.net.nz/~nickrob