convert to_kill
authorTom Tromey <tromey@redhat.com>
Wed, 18 Dec 2013 21:35:15 +0000 (14:35 -0700)
committerTom Tromey <tromey@redhat.com>
Wed, 19 Feb 2014 14:48:11 +0000 (07:48 -0700)
2014-02-19  Tom Tromey  <tromey@redhat.com>

* target-delegates.c: Rebuild.
* target.c (target_kill): Unconditionally delegate.
* target.h (struct target_ops) <to_kill>: Use
TARGET_DEFAULT_NORETURN.

gdb/ChangeLog
gdb/target-delegates.c
gdb/target.c
gdb/target.h

index 4217562329d2d39fe93a214e057ab2b91f937794..2dceb4c4a7734ef597c351c8823faa8120c94d25 100644 (file)
@@ -1,3 +1,10 @@
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+       * target-delegates.c: Rebuild.
+       * target.c (target_kill): Unconditionally delegate.
+       * target.h (struct target_ops) <to_kill>: Use
+       TARGET_DEFAULT_NORETURN.
+
 2014-02-19  Tom Tromey  <tromey@redhat.com>
 
        * target-delegates.c: Rebuild.
index 9d7065caf4729b053104a9b544f97519693da9bf..3c6b3120feb0aa88a5cffa036be4638c7f919c49 100644 (file)
@@ -361,6 +361,19 @@ delegate_terminal_info (struct target_ops *self, const char *arg1, int arg2)
   self->to_terminal_info (self, arg1, arg2);
 }
 
+static void
+delegate_kill (struct target_ops *self)
+{
+  self = self->beneath;
+  self->to_kill (self);
+}
+
+static void
+tdefault_kill (struct target_ops *self)
+{
+  noprocess ();
+}
+
 static void
 delegate_load (struct target_ops *self, char *arg1, int arg2)
 {
@@ -1203,6 +1216,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_kill == NULL)
+    ops->to_kill = delegate_kill;
   if (ops->to_load == NULL)
     ops->to_load = delegate_load;
   if (ops->to_post_startup_inferior == NULL)
@@ -1367,6 +1382,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_kill = tdefault_kill;
   ops->to_load = tdefault_load;
   ops->to_post_startup_inferior = tdefault_post_startup_inferior;
   ops->to_insert_fork_catchpoint = tdefault_insert_fork_catchpoint;
index 8306906b84b4287dacff95fb1a388d63298addd8..3d27eda41ba5f01fbe5458e422bf973a2f65a40f 100644 (file)
@@ -452,19 +452,10 @@ target_ignore (void)
 void
 target_kill (void)
 {
-  struct target_ops *t;
-
-  for (t = current_target.beneath; t != NULL; t = t->beneath)
-    if (t->to_kill != NULL)
-      {
-       if (targetdebug)
-         fprintf_unfiltered (gdb_stdlog, "target_kill ()\n");
-
-        t->to_kill (t);
-       return;
-      }
+  if (targetdebug)
+    fprintf_unfiltered (gdb_stdlog, "target_kill ()\n");
 
-  noprocess ();
+  current_target.to_kill (&current_target);
 }
 
 void
index 696020cfced902346644e7a5fd624cf0cfb7ebaa..5b6ada7a4e69ace22bc50b41b4af7f8c25a2df87 100644 (file)
@@ -517,7 +517,8 @@ struct target_ops
       TARGET_DEFAULT_IGNORE ();
     void (*to_terminal_info) (struct target_ops *, const char *, int)
       TARGET_DEFAULT_FUNC (default_terminal_info);
-    void (*to_kill) (struct target_ops *);
+    void (*to_kill) (struct target_ops *)
+      TARGET_DEFAULT_NORETURN (noprocess ());
     void (*to_load) (struct target_ops *, char *, int)
       TARGET_DEFAULT_NORETURN (tcomplain ());
     void (*to_create_inferior) (struct target_ops *,