From dd2e9d25a1c72cc7695ca8c8060d426c212630a7 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 18 Dec 2013 20:25:01 -0700 Subject: [PATCH] convert to_record_is_replaying 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. * target.c (target_record_is_replaying): Unconditionally delegate. * target.h (struct target_ops) : Use TARGET_DEFAULT_RETURN. --- gdb/ChangeLog | 8 ++++++++ gdb/target-delegates.c | 16 ++++++++++++++++ gdb/target.c | 8 +------- gdb/target.h | 3 ++- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 39b64910c71..6ced320f4ae 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2014-02-19 Tom Tromey + + * target-delegates.c: Rebuild. + * target.c (target_record_is_replaying): Unconditionally + delegate. + * target.h (struct target_ops) : Use + TARGET_DEFAULT_RETURN. + 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index f7454fd8ae3..b0f757697a0 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -1260,6 +1260,19 @@ tdefault_supports_btrace (struct target_ops *self) return 0; } +static int +delegate_record_is_replaying (struct target_ops *self) +{ + self = self->beneath; + return self->to_record_is_replaying (self); +} + +static int +tdefault_record_is_replaying (struct target_ops *self) +{ + return 0; +} + static void delegate_goto_record_begin (struct target_ops *self) { @@ -1605,6 +1618,8 @@ install_delegators (struct target_ops *ops) ops->to_can_use_agent = delegate_can_use_agent; if (ops->to_supports_btrace == NULL) ops->to_supports_btrace = delegate_supports_btrace; + if (ops->to_record_is_replaying == NULL) + ops->to_record_is_replaying = delegate_record_is_replaying; if (ops->to_goto_record_begin == NULL) ops->to_goto_record_begin = delegate_goto_record_begin; if (ops->to_goto_record_end == NULL) @@ -1736,6 +1751,7 @@ install_dummy_methods (struct target_ops *ops) ops->to_use_agent = tdefault_use_agent; ops->to_can_use_agent = tdefault_can_use_agent; ops->to_supports_btrace = tdefault_supports_btrace; + ops->to_record_is_replaying = tdefault_record_is_replaying; ops->to_goto_record_begin = tdefault_goto_record_begin; ops->to_goto_record_end = tdefault_goto_record_end; ops->to_goto_record = tdefault_goto_record; diff --git a/gdb/target.c b/gdb/target.c index 1c7b534106f..c60c85c63d4 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -3947,13 +3947,7 @@ target_delete_record (void) int target_record_is_replaying (void) { - struct target_ops *t; - - for (t = current_target.beneath; t != NULL; t = t->beneath) - if (t->to_record_is_replaying != NULL) - return t->to_record_is_replaying (t); - - return 0; + return current_target.to_record_is_replaying (¤t_target); } /* See target.h. */ diff --git a/gdb/target.h b/gdb/target.h index d90205cd02a..dcac55d3994 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -1032,7 +1032,8 @@ struct target_ops void (*to_delete_record) (struct target_ops *); /* Query if the record target is currently replaying. */ - int (*to_record_is_replaying) (struct target_ops *); + int (*to_record_is_replaying) (struct target_ops *) + TARGET_DEFAULT_RETURN (0); /* Go to the begin of the execution trace. */ void (*to_goto_record_begin) (struct target_ops *) -- 2.30.2