2002-11-29 Andrew Cagney <ac131313@redhat.com>

* stack.c (selected_frame, select_frame): Move from here ...
	* frame.c (selected_frame, select_frame): ... to here.  Include
	"language.h".
	* Makefile.in (frame.o): Update dependencies.
	* frame.c (get_selected_frame): New function.
	* frame.h (get_selected_frame): Declare.
	(deprecated_selected_frame): Rename selected_frame.
	* ada-lang.c, ada-tasks.c, breakpoint.c, corelow.c: Update.
	* eval.c, f-valprint.c, findvar.c, frame.c, frame.h: Update.
	* h8300-tdep.c, h8500-tdep.c, hppa-tdep.c, infcmd.c: Update.
	* inflow.c, infrun.c, macroscope.c, mips-tdep.c: Update.
	* mn10300-tdep.c, ocd.c, regcache.h, remote-e7000.c: Update.
	* remote-mips.c, remote-rdp.c, sh-tdep.c, sparc-tdep.c: Update.
	* stack.c, thread.c, tracepoint.c, valops.c, varobj.c: Update.
	* z8k-tdep.c, cli/cli-cmds.c: Update.

Index: mi/ChangeLog
2002-11-29  Andrew Cagney  <ac131313@redhat.com>

	* mi/mi-cmd-stack.c, mi/mi-main.c: Update to use
	deprecated_selected_frame.

Index: tui/ChangeLog
2002-11-29  Andrew Cagney  <ac131313@redhat.com>

	* tui/tui-hooks.c: Update to use deprecated_selected_frame.
	* tui/tui.c, tui/tuiDisassem.c, tui/tuiRegs.c: Ditto.
	* tui/tuiSource.c, tui/tuiSourceWin.c, tui/tuiWin.c: Ditto.
This commit is contained in:
Andrew Cagney
2002-11-29 19:15:16 +00:00
parent 805e2818d6
commit 6e7f8b9cba
45 changed files with 300 additions and 240 deletions

View File

@ -73,15 +73,24 @@ extern struct frame_info *get_current_frame (void);
flush_cached_frames() and reinit_frame_cache() is that the latter
explicitly sets the selected frame back to the current frame there
isn't any real difference (except that one delays the selection of
a new frame). There should instead be a get_selected_frame()
method that reinit's the frame cache on-demand. As for
invalidating the cache, there should be two methods one that
reverts the thread's selected frame back to current frame (for when
the inferior resumes) and one that does not (for when the user
modifies the target invalidating the frame cache). */
a new frame). Code can instead simply rely on get_selected_frame()
to reinit's the selected frame as needed. As for invalidating the
cache, there should be two methods one that reverts the thread's
selected frame back to current frame (for when the inferior
resumes) and one that does not (for when the user modifies the
target invalidating the frame cache). */
extern void flush_cached_frames (void);
extern void reinit_frame_cache (void);
/* On demand, create the selected frame and then return it. If the
selected frame can not be created, this function throws an error. */
/* FIXME: cagney/2002-11-28: At present, when there is no selected
frame, this function always returns the current (inner most) frame.
It should instead, when a thread has previously had its frame
selected (but not resumed) and the frame cache invalidated, find
and then return that thread's previously selected frame. */
extern struct frame_info *get_selected_frame (void);
/* Select a specific frame. NULL, apparently implies re-select the
inner most frame. */
extern void select_frame (struct frame_info *);
@ -564,21 +573,21 @@ extern void return_command (char *, int);
The relevant code needs to be audited to determine if it is
possible (or pratical) to instead pass the applicable frame in as a
parameter. For instance, DEPRECATED_DO_REGISTERS_INFO() relied on
the selected_frame global, but its replacement,
the deprecated_selected_frame global, while its replacement,
PRINT_REGISTERS_INFO(), is parameterized with the selected frame.
The only real exceptions occure at the edge (in the CLI code) where
user commands need to pick up the selected frame before proceeding.
This is important. GDB is trying to stamp out the hack:
saved_frame = selected_frame;
selected_frame = ...;
saved_frame = deprecated_selected_frame;
deprecated_selected_frame = ...;
hack_using_global_selected_frame ();
selected_frame = saved_frame;
deprecated_selected_frame = saved_frame;
Take care! */
extern struct frame_info *selected_frame;
extern struct frame_info *deprecated_selected_frame;
/* NOTE: cagney/2002-11-28: