From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1551) id 897B63830890; Fri, 20 May 2022 19:43:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 897B63830890 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Pedro Alves To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Move common bits of catchpoint/exception_catchpoint to breakpoint's ctor X-Act-Checkin: binutils-gdb X-Git-Author: Pedro Alves X-Git-Refname: refs/heads/master X-Git-Oldrev: acd0955bc118d14dd32c08fd8a6b2ca7fa4e294c X-Git-Newrev: 92bb0228c8293ec78c0efcd556b1f115b6e1b3f4 Message-Id: <20220520194349.897B63830890@sourceware.org> Date: Fri, 20 May 2022 19:43:49 +0000 (GMT) X-BeenThere: gdb-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 May 2022 19:43:49 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D92bb0228c829= 3ec78c0efcd556b1f115b6e1b3f4 commit 92bb0228c8293ec78c0efcd556b1f115b6e1b3f4 Author: Pedro Alves Date: Sat May 7 01:29:34 2022 +0100 Move common bits of catchpoint/exception_catchpoint to breakpoint's ctor =20 Move common bits of catchpoint and exception_catchpoint to breakpoint's ctor, to avoid duplicating code. =20 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_ !=3D nullptr) - cond_string =3D make_unique_xstrdup (cond_string_); - disposition =3D temp ? disp_del : disp_donttouch; - pspace =3D 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 objfil= e *objfile) =20 /* See breakpoint.h. */ =20 +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_ !=3D 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); =20 pspace =3D current_program_space; - - if (cond_string_ !=3D nullptr) - cond_string =3D make_unique_xstrdup (cond_string_); - disposition =3D temp ? disp_del : disp_donttouch; } =20 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 =3D next_range; =20 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 =3D true, const char *cond_string =3D nullptr); =20 DISABLE_COPY_AND_ASSIGN (breakpoint);