* frame.c (deprecated_safe_get_selected_frame): New function.
* frame.h (deprecated_safe_get_selected_frame): Add prototype. * findvar.c (read_var_value): Call it.
This commit is contained in:
parent
a6fc177898
commit
7dd8898670
@ -1,3 +1,9 @@
|
|||||||
|
2003-09-08 Daniel Jacobowitz <drow@mvista.com>
|
||||||
|
|
||||||
|
* frame.c (deprecated_safe_get_selected_frame): New function.
|
||||||
|
* frame.h (deprecated_safe_get_selected_frame): Add prototype.
|
||||||
|
* findvar.c (read_var_value): Call it.
|
||||||
|
|
||||||
2003-09-08 Corinna Vinschen <vinschen@redhat.com>
|
2003-09-08 Corinna Vinschen <vinschen@redhat.com>
|
||||||
|
|
||||||
* Makefile.in (ALLDEPFILES): Add sh64-tdep.c.
|
* Makefile.in (ALLDEPFILES): Add sh64-tdep.c.
|
||||||
|
@ -404,8 +404,11 @@ read_var_value (register struct symbol *var, struct frame_info *frame)
|
|||||||
|
|
||||||
len = TYPE_LENGTH (type);
|
len = TYPE_LENGTH (type);
|
||||||
|
|
||||||
|
|
||||||
|
/* FIXME drow/2003-09-06: this call to the selected frame should be
|
||||||
|
pushed upwards to the callers. */
|
||||||
if (frame == NULL)
|
if (frame == NULL)
|
||||||
frame = deprecated_selected_frame;
|
frame = deprecated_safe_get_selected_frame ();
|
||||||
|
|
||||||
switch (SYMBOL_CLASS (var))
|
switch (SYMBOL_CLASS (var))
|
||||||
{
|
{
|
||||||
|
12
gdb/frame.c
12
gdb/frame.c
@ -917,6 +917,18 @@ get_selected_frame (void)
|
|||||||
return deprecated_selected_frame;
|
return deprecated_selected_frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This is a variant of get_selected_frame which can be called when
|
||||||
|
the inferior does not have a frame; in that case it will return
|
||||||
|
NULL instead of calling error (). */
|
||||||
|
|
||||||
|
struct frame_info *
|
||||||
|
deprecated_safe_get_selected_frame (void)
|
||||||
|
{
|
||||||
|
if (!target_has_registers || !target_has_stack || !target_has_memory)
|
||||||
|
return NULL;
|
||||||
|
return get_selected_frame ();
|
||||||
|
}
|
||||||
|
|
||||||
/* Select frame FI (or NULL - to invalidate the current frame). */
|
/* Select frame FI (or NULL - to invalidate the current frame). */
|
||||||
|
|
||||||
void
|
void
|
||||||
|
13
gdb/frame.h
13
gdb/frame.h
@ -639,6 +639,19 @@ extern void return_command (char *, int);
|
|||||||
|
|
||||||
extern struct frame_info *deprecated_selected_frame;
|
extern struct frame_info *deprecated_selected_frame;
|
||||||
|
|
||||||
|
/* NOTE: drow/2003-09-06:
|
||||||
|
|
||||||
|
This function is "a step sideways" for uses of deprecated_selected_frame.
|
||||||
|
They should be fixed as above, but meanwhile, we needed a solution for
|
||||||
|
cases where functions are called with a NULL frame meaning either "the
|
||||||
|
program is not running" or "use the selected frame". Lazy building of
|
||||||
|
deprecated_selected_frame confuses the situation, because now
|
||||||
|
deprecated_selected_frame can be NULL even when the inferior is running.
|
||||||
|
|
||||||
|
This function calls get_selected_frame if the inferior should have a
|
||||||
|
frame, or returns NULL otherwise. */
|
||||||
|
|
||||||
|
extern struct frame_info *deprecated_safe_get_selected_frame (void);
|
||||||
|
|
||||||
/* Create a frame using the specified BASE and PC. */
|
/* Create a frame using the specified BASE and PC. */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user