* blockframe.c (block_innermost_frame): Rewrite frame search logic.

This commit is contained in:
Joel Brobecker 2006-10-06 02:01:34 +00:00
parent 9ad41fe1d0
commit 631b0ed020
2 changed files with 10 additions and 5 deletions

View file

@ -1,3 +1,7 @@
2006-10-05 Joel Brobecker <brobecker@adacore.com>
* blockframe.c (block_innermost_frame): Rewrite frame search logic.
2006-10-05 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.in (gdb_expat_h): New.

View file

@ -358,14 +358,15 @@ block_innermost_frame (struct block *block)
start = BLOCK_START (block);
end = BLOCK_END (block);
frame = NULL;
while (1)
frame = get_current_frame ();
while (frame != NULL)
{
frame = get_prev_frame (frame);
if (frame == NULL)
return NULL;
calling_pc = get_frame_address_in_block (frame);
if (calling_pc >= start && calling_pc < end)
return frame;
frame = get_prev_frame (frame);
}
return NULL;
}