aboutsummaryrefslogtreecommitdiff
path: root/gdb/target-delegates.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-12-18 10:31:48 -0700
committerTom Tromey <tromey@redhat.com>2014-02-19 07:47:18 -0700
commit7634da87666f9a13c9ec33f3261809fa5cac7cc5 (patch)
tree463458aaa796c858deaa4645febada2ead4c7a85 /gdb/target-delegates.c
parente19e919feaeb02ea345b2ba577708aa27ea159c6 (diff)
downloadgdb-7634da87666f9a13c9ec33f3261809fa5cac7cc5.zip
gdb-7634da87666f9a13c9ec33f3261809fa5cac7cc5.tar.gz
gdb-7634da87666f9a13c9ec33f3261809fa5cac7cc5.tar.bz2
convert to_load
2014-02-19 Tom Tromey <tromey@redhat.com> * target-delegates.c: Rebuild. * target.c (update_current_target): Don't inherit or default to_load. * target.h (struct target_ops) <to_load>: Use TARGET_DEFAULT_NORETURN.
Diffstat (limited to 'gdb/target-delegates.c')
-rw-r--r--gdb/target-delegates.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
index 92729d6..80e7ede 100644
--- a/gdb/target-delegates.c
+++ b/gdb/target-delegates.c
@@ -298,6 +298,19 @@ delegate_terminal_info (struct target_ops *self, const char *arg1, int arg2)
}
static void
+delegate_load (struct target_ops *self, char *arg1, int arg2)
+{
+ self = self->beneath;
+ self->to_load (self, arg1, arg2);
+}
+
+static void
+tdefault_load (struct target_ops *self, char *arg1, int arg2)
+{
+ tcomplain ();
+}
+
+static void
delegate_rcmd (struct target_ops *self, char *arg1, struct ui_file *arg2)
{
self = self->beneath;
@@ -412,6 +425,8 @@ install_delegators (struct target_ops *ops)
ops->to_terminal_save_ours = delegate_terminal_save_ours;
if (ops->to_terminal_info == NULL)
ops->to_terminal_info = delegate_terminal_info;
+ if (ops->to_load == NULL)
+ ops->to_load = delegate_load;
if (ops->to_rcmd == NULL)
ops->to_rcmd = delegate_rcmd;
if (ops->to_can_async_p == NULL)
@@ -455,6 +470,7 @@ install_dummy_methods (struct target_ops *ops)
ops->to_terminal_ours = tdefault_terminal_ours;
ops->to_terminal_save_ours = tdefault_terminal_save_ours;
ops->to_terminal_info = default_terminal_info;
+ ops->to_load = tdefault_load;
ops->to_rcmd = default_rcmd;
ops->to_can_async_p = find_default_can_async_p;
ops->to_is_async_p = find_default_is_async_p;