aboutsummaryrefslogtreecommitdiff
path: root/gdb/break-catch-sig.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2022-05-01 16:11:26 -0600
committerTom Tromey <tom@tromey.com>2022-05-06 12:03:35 -0600
commitfed1c982dec3baba167b3fd4df3538f09fa3d339 (patch)
tree40077feab51633a68a1cf53066f83ff7f3991b90 /gdb/break-catch-sig.c
parentb68f26dea78f1a390084a0e2bfa95f1bcf1942dc (diff)
downloadfsf-binutils-gdb-fed1c982dec3baba167b3fd4df3538f09fa3d339.zip
fsf-binutils-gdb-fed1c982dec3baba167b3fd4df3538f09fa3d339.tar.gz
fsf-binutils-gdb-fed1c982dec3baba167b3fd4df3538f09fa3d339.tar.bz2
Introduce catchpoint class
This introduces a catchpoint class that is used as the base class for all catchpoints. init_catchpoint is rewritten to be a constructor instead. This changes the hierarchy a little -- some catchpoints now inherit from base_breakpoint whereas previously they did not. This isn't a problem, as long as re_set is redefined in catchpoint.
Diffstat (limited to 'gdb/break-catch-sig.c')
-rw-r--r--gdb/break-catch-sig.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gdb/break-catch-sig.c b/gdb/break-catch-sig.c
index 4430dd0..57a6255 100644
--- a/gdb/break-catch-sig.c
+++ b/gdb/break-catch-sig.c
@@ -38,11 +38,12 @@
/* An instance of this type is used to represent a signal
catchpoint. */
-struct signal_catchpoint : public breakpoint
+struct signal_catchpoint : public catchpoint
{
- signal_catchpoint (struct gdbarch *gdbarch, std::vector<gdb_signal> &&sigs,
+ signal_catchpoint (struct gdbarch *gdbarch, bool temp,
+ std::vector<gdb_signal> &&sigs,
bool catch_all_)
- : breakpoint (gdbarch, bp_catchpoint),
+ : catchpoint (gdbarch, temp, nullptr),
signals_to_be_caught (std::move (sigs)),
catch_all (catch_all_)
{
@@ -325,8 +326,7 @@ create_signal_catchpoint (int tempflag, std::vector<gdb_signal> &&filter,
struct gdbarch *gdbarch = get_current_arch ();
std::unique_ptr<signal_catchpoint> c
- (new signal_catchpoint (gdbarch, std::move (filter), catch_all));
- init_catchpoint (c.get (), gdbarch, tempflag, nullptr);
+ (new signal_catchpoint (gdbarch, tempflag, std::move (filter), catch_all));
install_breakpoint (0, std::move (c), 1);
}