mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-16 04:18:50 +00:00
Make catchpoint inherit breakpoint, eliminate init_raw_breakpoint
struct catchpoint's ctor currently calls init_raw_breakpoint, which is a bit weird, as that ctor-like function takes a sal argument, but catchpoints don't have code locations. Instead, make struct catchpoint's ctor add the catchpoint's dummy location using add_dummy_location. init_raw_breakpoint uses add_location under the hood, and with a dummy sal it would ultimately use the breakpoint's gdbarch for the location's gdbarch, so replace the references to loc->gdbarch (which is now NULL) in syscall_catchpoint to references to the catchpoint's gdbarch. struct catchpoint's ctor was the last user of init_raw_breakpoint, so this commit eliminates the latter. Since catchpoint locations aren't code locations, make struct catchpoint inherit struct breakpoint instead of base_breakpoint. This let's us delete the tracepoint::re_set override too. Change-Id: Ib428bf71efb09fdaf399c56e4372b0f41d9c5869
This commit is contained in:
@@ -1030,18 +1030,13 @@ struct tracepoint : public base_breakpoint
|
||||
|
||||
/* The base class for catchpoints. */
|
||||
|
||||
struct catchpoint : public base_breakpoint
|
||||
struct catchpoint : public breakpoint
|
||||
{
|
||||
/* If TEMP is true, then make the breakpoint temporary. If
|
||||
COND_STRING is not NULL, then store it in the breakpoint. */
|
||||
catchpoint (struct gdbarch *gdbarch, bool temp, const char *cond_string);
|
||||
|
||||
~catchpoint () override = 0;
|
||||
|
||||
void re_set () override
|
||||
{
|
||||
/* For catchpoints, the default is to do nothing. */
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user