Move works_in_software_mode to watchpoint

works_in_software_mode is only useful for watchpoints.  This patch
moves it from breakpoint to watchpoint, and changes it to return bool.
This commit is contained in:
Tom Tromey 2022-04-30 08:06:39 -06:00
parent a6860f3ad2
commit 5a61e17687
2 changed files with 11 additions and 17 deletions

View File

@ -2144,7 +2144,7 @@ update_watchpoint (struct watchpoint *b, int reparse)
= target_can_use_hardware_watchpoint (type, i, other_type_used);
if (target_resources_ok <= 0)
{
int sw_mode = b->works_in_software_mode ();
bool sw_mode = b->works_in_software_mode ();
if (target_resources_ok == 0 && !sw_mode)
error (_("Target does not support this type of "
@ -9558,7 +9558,7 @@ watchpoint::resources_needed (const struct bp_location *bl)
/* Implement the "works_in_software_mode" method for hardware
watchpoints. */
int
bool
watchpoint::works_in_software_mode () const
{
/* Read and access watchpoints only work with hardware support. */
@ -9733,7 +9733,7 @@ struct masked_watchpoint : public watchpoint
int remove_location (struct bp_location *,
enum remove_bp_reason reason) override;
int resources_needed (const struct bp_location *) override;
int works_in_software_mode () const override;
bool works_in_software_mode () const override;
enum print_stop_action print_it (struct bpstat *bs) override;
void print_one_detail (struct ui_out *) const override;
void print_mention () override;
@ -9771,10 +9771,10 @@ masked_watchpoint::resources_needed (const struct bp_location *bl)
/* Implement the "works_in_software_mode" method for masked hardware
watchpoints. */
int
bool
masked_watchpoint::works_in_software_mode () const
{
return 0;
return false;
}
/* Implement the "print_it" method for masked hardware
@ -11550,12 +11550,6 @@ breakpoint::breakpoint_hit (const struct bp_location *bl,
internal_error_pure_virtual_called ();
}
int
breakpoint::works_in_software_mode () const
{
internal_error_pure_virtual_called ();
}
int
breakpoint::resources_needed (const struct bp_location *bl)
{

View File

@ -668,11 +668,6 @@ struct breakpoint
the breakpoint or watchpoint needs one debug register. */
virtual int resources_needed (const struct bp_location *);
/* Tell whether we can downgrade from a hardware watchpoint to a software
one. If not, the user will not be able to enable the watchpoint when
there are not enough hardware resources available. */
virtual int works_in_software_mode () const;
/* The normal print routine for this breakpoint, called when we
hit it. */
virtual enum print_stop_action print_it (struct bpstat *bs);
@ -878,7 +873,12 @@ struct watchpoint : public breakpoint
const target_waitstatus &ws) override;
void check_status (struct bpstat *bs) override;
int resources_needed (const struct bp_location *) override;
int works_in_software_mode () const override;
/* Tell whether we can downgrade from a hardware watchpoint to a software
one. If not, the user will not be able to enable the watchpoint when
there are not enough hardware resources available. */
virtual bool works_in_software_mode () const;
enum print_stop_action print_it (struct bpstat *bs) override;
void print_mention () override;
void print_recreate (struct ui_file *fp) override;