diff options
author | Tom Tromey <tom@tromey.com> | 2022-05-01 16:11:26 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2022-05-06 12:03:35 -0600 |
commit | fed1c982dec3baba167b3fd4df3538f09fa3d339 (patch) | |
tree | 40077feab51633a68a1cf53066f83ff7f3991b90 /gdb/break-catch-sig.c | |
parent | b68f26dea78f1a390084a0e2bfa95f1bcf1942dc (diff) | |
download | fsf-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.c | 10 |
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); } |