Change print_recreate_thread to a method

This changes print_recreate_thread to be a method on breakpoint.  This
function is only used as a helper by print_recreate methods, so I
thought this transformation made sense.
This commit is contained in:
Tom Tromey 2022-04-30 07:49:11 -06:00
parent dd9cd55e99
commit 04d0163c3f
7 changed files with 27 additions and 26 deletions

View File

@ -12519,7 +12519,7 @@ ada_catchpoint::print_recreate (struct ui_file *fp)
default:
internal_error (__FILE__, __LINE__, _("unexpected catchpoint type"));
}
print_recreate_thread (this, fp);
print_recreate_thread (fp);
}
/* See ada-lang.h. */

View File

@ -144,7 +144,7 @@ void
exec_catchpoint::print_recreate (struct ui_file *fp)
{
gdb_printf (fp, "catch exec");
print_recreate_thread (this, fp);
print_recreate_thread (fp);
}
/* This function attempts to parse an optional "if <cond>" clause

View File

@ -172,7 +172,7 @@ void
fork_catchpoint::print_recreate (struct ui_file *fp)
{
gdb_printf (fp, "catch %s", is_vfork ? "vfork" : "fork");
print_recreate_thread (this, fp);
print_recreate_thread (fp);
}
static void

View File

@ -331,7 +331,7 @@ syscall_catchpoint::print_recreate (struct ui_file *fp)
gdb_printf (fp, " %d", s.number);
}
print_recreate_thread (this, fp);
print_recreate_thread (fp);
}
/* Returns non-zero if 'b' is a syscall catchpoint. */

View File

@ -338,7 +338,7 @@ exception_catchpoint::print_recreate (struct ui_file *fp)
gdb_printf (fp, "rethrow");
break;
}
print_recreate_thread (this, fp);
print_recreate_thread (fp);
}
/* Implement the "allocate_location" method for throw and catch

View File

@ -9335,7 +9335,7 @@ ranged_breakpoint::print_recreate (struct ui_file *fp)
gdb_printf (fp, "break-range %s, %s",
event_location_to_string (location.get ()),
event_location_to_string (location_range_end.get ()));
print_recreate_thread (this, fp);
print_recreate_thread (fp);
}
/* Find the address where the end of the breakpoint range should be
@ -9739,7 +9739,7 @@ watchpoint::print_recreate (struct ui_file *fp)
}
gdb_printf (fp, " %s", exp_string.get ());
print_recreate_thread (this, fp);
print_recreate_thread (fp);
}
/* Implement the "explains_signal" method for watchpoints. */
@ -9927,7 +9927,7 @@ masked_watchpoint::print_recreate (struct ui_file *fp)
gdb_printf (fp, " %s mask 0x%s", exp_string.get (),
phex (hw_wp_mask, sizeof (CORE_ADDR)));
print_recreate_thread (this, fp);
print_recreate_thread (fp);
}
/* Tell whether the given watchpoint is a masked hardware watchpoint. */
@ -11807,7 +11807,7 @@ ordinary_breakpoint::print_recreate (struct ui_file *fp)
if (loc == NULL && extra_string != NULL)
gdb_printf (fp, " %s", extra_string.get ());
print_recreate_thread (this, fp);
print_recreate_thread (fp);
}
std::vector<symtab_and_line>
@ -12055,7 +12055,7 @@ tracepoint::print_recreate (struct ui_file *fp)
_("unhandled tracepoint type %d"), (int) type);
gdb_printf (fp, " %s", event_location_to_string (location.get ()));
print_recreate_thread (this, fp);
print_recreate_thread (fp);
if (pass_count)
gdb_printf (fp, " passcount %d\n", pass_count);
@ -12112,7 +12112,7 @@ dprintf_breakpoint::print_recreate (struct ui_file *fp)
gdb_printf (fp, "dprintf %s,%s",
event_location_to_string (location.get ()),
extra_string.get ());
print_recreate_thread (this, fp);
print_recreate_thread (fp);
}
/* Implement the "after_condition_true" method for dprintf.
@ -14044,13 +14044,13 @@ get_tracepoint_by_number (const char **arg,
}
void
print_recreate_thread (struct breakpoint *b, struct ui_file *fp)
breakpoint::print_recreate_thread (struct ui_file *fp) const
{
if (b->thread != -1)
gdb_printf (fp, " thread %d", b->thread);
if (thread != -1)
gdb_printf (fp, " thread %d", thread);
if (b->task != 0)
gdb_printf (fp, " task %d", b->task);
if (task != 0)
gdb_printf (fp, " task %d", task);
gdb_printf (fp, "\n");
}

View File

@ -586,15 +586,6 @@ struct breakpoint_ops
int, int, int, unsigned);
};
/* Helper for breakpoint_ops->print_recreate implementations. Prints
the "thread" or "task" condition of B, and then a newline.
Necessary because most breakpoint implementations accept
thread/task conditions at the end of the spec line, like "break foo
thread 1", which needs outputting before any breakpoint-type
specific extra command necessary for B's recreation. */
extern void print_recreate_thread (struct breakpoint *b, struct ui_file *fp);
enum watchpoint_triggered
{
/* This watchpoint definitely did not trigger. */
@ -742,7 +733,6 @@ struct breakpoint
/* Nothing to do. */
}
/* Return a range of this breakpoint's locations. */
bp_location_range locations ();
@ -846,6 +836,17 @@ struct breakpoint
/* Same as py_bp_object, but for Scheme. */
gdbscm_breakpoint_object *scm_bp_object = NULL;
protected:
/* Helper for breakpoint_ops->print_recreate implementations. Prints
the "thread" or "task" condition of B, and then a newline.
Necessary because most breakpoint implementations accept
thread/task conditions at the end of the spec line, like "break foo
thread 1", which needs outputting before any breakpoint-type
specific extra command necessary for B's recreation. */
void print_recreate_thread (struct ui_file *fp) const;
};
/* The structure to be inherit by all kinds of breakpoints (real