convert to_get_unwinder and to_get_tailcall_unwinder to methods
This converts to_get_unwinder and to_get_tailcall_unwinder to methods and arranges for them to use the new delegation scheme. This just lets us avoid having a differing style (neither new-style nor INHERIT) of delegation in the tree. 2014-02-19 Tom Tromey <tromey@redhat.com> * target.c (target_get_unwinder): Rewrite. (target_get_tailcall_unwinder): Rewrite. * record-btrace.c (record_btrace_to_get_unwinder): New function. (record_btrace_to_get_tailcall_unwinder): New function. (init_record_btrace_ops): Update. * target.h (struct target_ops) <to_get_unwinder, to_get_tailcall_unwinder>: Now function pointers. Use TARGET_DEFAULT_RETURN.
This commit is contained in:
parent
8476dc92e4
commit
ac01945bf1
5 changed files with 71 additions and 20 deletions
16
gdb/target.c
16
gdb/target.c
|
@ -3822,13 +3822,7 @@ debug_to_prepare_to_store (struct target_ops *self, struct regcache *regcache)
|
|||
const struct frame_unwind *
|
||||
target_get_unwinder (void)
|
||||
{
|
||||
struct target_ops *t;
|
||||
|
||||
for (t = current_target.beneath; t != NULL; t = t->beneath)
|
||||
if (t->to_get_unwinder != NULL)
|
||||
return t->to_get_unwinder;
|
||||
|
||||
return NULL;
|
||||
return current_target.to_get_unwinder (¤t_target);
|
||||
}
|
||||
|
||||
/* See target.h. */
|
||||
|
@ -3836,13 +3830,7 @@ target_get_unwinder (void)
|
|||
const struct frame_unwind *
|
||||
target_get_tailcall_unwinder (void)
|
||||
{
|
||||
struct target_ops *t;
|
||||
|
||||
for (t = current_target.beneath; t != NULL; t = t->beneath)
|
||||
if (t->to_get_tailcall_unwinder != NULL)
|
||||
return t->to_get_tailcall_unwinder;
|
||||
|
||||
return NULL;
|
||||
return current_target.to_get_tailcall_unwinder (¤t_target);
|
||||
}
|
||||
|
||||
/* Default implementation of to_decr_pc_after_break. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue