Move decode_location_spec to code_breakpoint

breakpoint::decode_location_spec just asserts if called.  It turned
out to be relatively easy to remove this method from breakpoint and
instead move the base implementation to code_breakpoint.
This commit is contained in:
Tom Tromey 2022-05-21 10:17:38 -06:00
parent 2c9a6d728e
commit aef4b7a5cc
2 changed files with 10 additions and 20 deletions

View file

@ -11493,13 +11493,6 @@ breakpoint::print_recreate (struct ui_file *fp) const
internal_error_pure_virtual_called ();
}
std::vector<symtab_and_line>
breakpoint::decode_location_spec (location_spec *locspec,
program_space *search_pspace)
{
internal_error_pure_virtual_called ();
}
/* Default breakpoint_ops methods. */
void

View file

@ -710,16 +710,6 @@ struct breakpoint
/* Print to FP the CLI command that recreates this breakpoint. */
virtual void print_recreate (struct ui_file *fp) const;
/* Given the location spec (second parameter), this method decodes
it and returns the SAL locations related to it. For ordinary
breakpoints, it calls `decode_line_full'. If SEARCH_PSPACE is
not NULL, symbol search is restricted to just that program space.
This function is called inside `location_spec_to_sals'. */
virtual std::vector<symtab_and_line> decode_location_spec
(location_spec *locspec,
struct program_space *search_pspace);
/* Return true if this breakpoint explains a signal. See
bpstat_explains_signal. */
virtual bool explains_signal (enum gdb_signal)
@ -883,12 +873,19 @@ struct code_breakpoint : public breakpoint
const address_space *aspace,
CORE_ADDR bp_addr,
const target_waitstatus &ws) override;
std::vector<symtab_and_line> decode_location_spec
(struct location_spec *locspec,
struct program_space *search_pspace) override;
protected:
/* Given the location spec, this method decodes it and returns the
SAL locations related to it. For ordinary breakpoints, it calls
`decode_line_full'. If SEARCH_PSPACE is not NULL, symbol search
is restricted to just that program space.
This function is called inside `location_spec_to_sals'. */
virtual std::vector<symtab_and_line> decode_location_spec
(location_spec *locspec,
struct program_space *search_pspace);
/* Helper method that does the basic work of re_set. */
void re_set_default ();