gdb: remove unpush_target free function
unpush_target unpushes the passed-in target from the current inferior's target stack. Calling it is therefore an implicit dependency on the current global inferior. Remove that function and make the callers use the inferior::unpush_target method directly. This sometimes allows using the inferior from the context rather than the global current inferior. target_unpusher::operator() now needs to be implemented in target.c, otherwise target.h and inferior.h both need to include each other, and that wouldn't work. gdb/ChangeLog: * target.h (unpush_target): Remove, update all callers to use `inferior::unpush_target` instead. (struct target_unpusher) <operator()>: Just declare. * target.c (unpush_target): Remove. (target_unpusher::operator()): New. Change-Id: Ia5172dfb3f373e0a75b991885b50322ca2142a8c
This commit is contained in:
parent
70e958370c
commit
fadf6add30
17 changed files with 36 additions and 35 deletions
|
@ -481,7 +481,7 @@ tfile_target_open (const char *arg, int from_tty)
|
|||
|
||||
/* Looks semi-reasonable. Toss the old trace file and work on the new. */
|
||||
|
||||
unpush_target (&tfile_ops);
|
||||
current_inferior ()->unpush_target (&tfile_ops);
|
||||
|
||||
trace_filename = filename.release ();
|
||||
trace_fd = scratch_chan;
|
||||
|
@ -551,7 +551,7 @@ tfile_target_open (const char *arg, int from_tty)
|
|||
catch (const gdb_exception &ex)
|
||||
{
|
||||
/* Remove the partially set up target. */
|
||||
unpush_target (&tfile_ops);
|
||||
current_inferior ()->unpush_target (&tfile_ops);
|
||||
throw;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue