From d9cb019581e7934faa292b5f9d0caa62be0ceef0 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 18 Dec 2013 10:52:58 -0700 Subject: [PATCH] convert to_log_command 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. * target.c (update_current_target): Don't inherit or default to_log_command. * target.h (struct target_ops) : Use TARGET_DEFAULT_IGNORE. (target_log_command): Unconditionally delegate. --- gdb/ChangeLog | 9 +++++++++ gdb/target-delegates.c | 15 +++++++++++++++ gdb/target.c | 2 +- gdb/target.h | 11 ++++------- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 626ec0c5756..e3ec9ac34d1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2014-02-19 Tom Tromey + + * target-delegates.c: Rebuild. + * target.c (update_current_target): Don't inherit or default + to_log_command. + * target.h (struct target_ops) : Use + TARGET_DEFAULT_IGNORE. + (target_log_command): Unconditionally delegate. + 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index 871e417eaa7..600e64ecb0b 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -472,6 +472,18 @@ tdefault_pid_to_exec_file (struct target_ops *self, int arg1) return 0; } +static void +delegate_log_command (struct target_ops *self, const char *arg1) +{ + self = self->beneath; + self->to_log_command (self, arg1); +} + +static void +tdefault_log_command (struct target_ops *self, const char *arg1) +{ +} + static int delegate_can_async_p (struct target_ops *self) { @@ -608,6 +620,8 @@ install_delegators (struct target_ops *ops) ops->to_rcmd = delegate_rcmd; if (ops->to_pid_to_exec_file == NULL) ops->to_pid_to_exec_file = delegate_pid_to_exec_file; + if (ops->to_log_command == NULL) + ops->to_log_command = delegate_log_command; if (ops->to_can_async_p == NULL) ops->to_can_async_p = delegate_can_async_p; if (ops->to_is_async_p == NULL) @@ -663,6 +677,7 @@ install_dummy_methods (struct target_ops *ops) ops->to_thread_name = tdefault_thread_name; ops->to_rcmd = default_rcmd; ops->to_pid_to_exec_file = tdefault_pid_to_exec_file; + ops->to_log_command = tdefault_log_command; ops->to_can_async_p = find_default_can_async_p; ops->to_is_async_p = find_default_is_async_p; ops->to_async = tdefault_async; diff --git a/gdb/target.c b/gdb/target.c index a357cba57cf..db6771ec938 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -650,7 +650,7 @@ update_current_target (void) /* Do not inherit to_xfer_partial. */ /* Do not inherit to_rcmd. */ /* Do not inherit to_pid_to_exec_file. */ - INHERIT (to_log_command, t); + /* Do not inherit to_log_command. */ INHERIT (to_stratum, t); /* Do not inherit to_has_all_memory. */ /* Do not inherit to_has_memory. */ diff --git a/gdb/target.h b/gdb/target.h index e4cd63df241..a1259c8a82a 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -561,7 +561,8 @@ struct target_ops TARGET_DEFAULT_FUNC (default_rcmd); char *(*to_pid_to_exec_file) (struct target_ops *, int pid) TARGET_DEFAULT_RETURN (0); - void (*to_log_command) (struct target_ops *, const char *); + void (*to_log_command) (struct target_ops *, const char *) + TARGET_DEFAULT_IGNORE (); struct target_section_table *(*to_get_section_table) (struct target_ops *); enum strata to_stratum; int (*to_has_all_memory) (struct target_ops *); @@ -1930,12 +1931,8 @@ extern char *target_fileio_read_stralloc (const char *filename); /* Command logging facility. */ -#define target_log_command(p) \ - do \ - if (current_target.to_log_command) \ - (*current_target.to_log_command) (¤t_target, \ - p); \ - while (0) +#define target_log_command(p) \ + (*current_target.to_log_command) (¤t_target, p) extern int target_core_of_thread (ptid_t ptid); -- 2.30.2