gdb/ChangeLog:

* stack.c (get_selected_block): Add new argument `addr_in_block',
used to return the exact code address we used to select the block,
not just the block.
* blockframe.c (get_frame_block, get_current_block): Same.
* frame.h (get_frame_block, get_current_block,
get_selected_block): Update declarations.
* linespec.c, stack.c, blockframe.c, breakpoint.c, findvar.c,
linespec.c, varobj.c, printcmd.c, symtab.c: Callers changed.

gdb/mi/ChangeLog:
* mi-cmd-stack.c (list_args_or_locals): Pass new arg to
get_frame_block.  (See entry in gdb/ChangeLog.)
This commit is contained in:
Jim Blandy
2002-04-05 22:04:43 +00:00
parent 84d2ac95e4
commit ae767bfb78
13 changed files with 68 additions and 25 deletions

View File

@@ -1113,7 +1113,7 @@ address_info (char *exp, int from_tty)
if (exp == 0)
error ("Argument required.");
sym = lookup_symbol (exp, get_selected_block (), VAR_NAMESPACE,
sym = lookup_symbol (exp, get_selected_block (0), VAR_NAMESPACE,
&is_a_field_of_this, (struct symtab **) NULL);
if (sym == NULL)
{
@@ -1549,7 +1549,7 @@ do_one_display (struct display *d)
return;
if (d->block)
within_current_scope = contained_in (get_selected_block (), d->block);
within_current_scope = contained_in (get_selected_block (0), d->block);
else
within_current_scope = 1;
if (!within_current_scope)
@@ -1683,7 +1683,7 @@ Num Enb Expression\n");
else if (d->format.format)
printf_filtered ("/%c ", d->format.format);
print_expression (d->exp, gdb_stdout);
if (d->block && !contained_in (get_selected_block (), d->block))
if (d->block && !contained_in (get_selected_block (0), d->block))
printf_filtered (" (cannot be evaluated in the current context)");
printf_filtered ("\n");
gdb_flush (gdb_stdout);