public inbox for gdb-cvs@sourceware.org help / color / mirror / Atom feed
From: Pedro Alves <palves@sourceware.org> To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Move common bits of catchpoint/exception_catchpoint to breakpoint's ctor Date: Fri, 20 May 2022 19:43:49 +0000 (GMT) [thread overview] Message-ID: <20220520194349.897B63830890@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=92bb0228c8293ec78c0efcd556b1f115b6e1b3f4 commit 92bb0228c8293ec78c0efcd556b1f115b6e1b3f4 Author: Pedro Alves <pedro@palves.net> Date: Sat May 7 01:29:34 2022 +0100 Move common bits of catchpoint/exception_catchpoint to breakpoint's ctor Move common bits of catchpoint and exception_catchpoint to breakpoint's ctor, to avoid duplicating code. Change-Id: I3a115180f4d496426522f1d89a3875026aea3cf2 Diff: --- gdb/break-catch-throw.c | 6 +----- gdb/breakpoint.c | 24 ++++++++++++++++++------ gdb/breakpoint.h | 10 ++-------- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/gdb/break-catch-throw.c b/gdb/break-catch-throw.c index 90fc3e6d325..a6f477b712a 100644 --- a/gdb/break-catch-throw.c +++ b/gdb/break-catch-throw.c @@ -73,7 +73,7 @@ struct exception_catchpoint : public base_breakpoint bool temp, const char *cond_string_, enum exception_event_kind kind_, std::string &&except_rx) - : base_breakpoint (gdbarch, bp_catchpoint), + : base_breakpoint (gdbarch, bp_catchpoint, temp, cond_string_), kind (kind_), exception_rx (std::move (except_rx)), pattern (exception_rx.empty () @@ -81,10 +81,6 @@ struct exception_catchpoint : public base_breakpoint : new compiled_regex (exception_rx.c_str (), REG_NOSUB, _("invalid type-matching regexp"))) { - if (cond_string_ != nullptr) - cond_string = make_unique_xstrdup (cond_string_); - disposition = temp ? disp_del : disp_donttouch; - pspace = current_program_space; re_set (); } diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 96cf1ee7a82..bfb5cd37ecd 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -7725,17 +7725,29 @@ disable_breakpoints_in_freed_objfile (struct objfile *objfile) /* See breakpoint.h. */ +breakpoint::breakpoint (struct gdbarch *gdbarch_, enum bptype bptype, + bool temp, const char *cond_string_) + : type (bptype), + disposition (temp ? disp_del : disp_donttouch), + gdbarch (gdbarch_), + language (current_language->la_language), + input_radix (::input_radix), + cond_string (cond_string_ != nullptr + ? make_unique_xstrdup (cond_string_) + : nullptr), + related_breakpoint (this) +{ +} + +/* See breakpoint.h. */ + catchpoint::catchpoint (struct gdbarch *gdbarch, bool temp, - const char *cond_string_) - : breakpoint (gdbarch, bp_catchpoint) + const char *cond_string) + : breakpoint (gdbarch, bp_catchpoint, temp, cond_string) { add_dummy_location (this, current_program_space); pspace = current_program_space; - - if (cond_string_ != nullptr) - cond_string = make_unique_xstrdup (cond_string_); - disposition = temp ? disp_del : disp_donttouch; } void diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 21dd8d53b2d..af69af6863b 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -620,14 +620,8 @@ using bp_location_range = next_range<bp_location>; struct breakpoint { - breakpoint (struct gdbarch *gdbarch_, enum bptype bptype) - : type (bptype), - gdbarch (gdbarch_), - language (current_language->la_language), - input_radix (::input_radix), - related_breakpoint (this) - { - } + breakpoint (struct gdbarch *gdbarch_, enum bptype bptype, + bool temp = true, const char *cond_string = nullptr); DISABLE_COPY_AND_ASSIGN (breakpoint);
reply other threads:[~2022-05-20 19:43 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220520194349.897B63830890@sourceware.org \ --to=palves@sourceware.org \ --cc=gdb-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).