From c0e8dcd87101119806c5bbca4c7b649c1b8c0996 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 23 Jul 2019 12:41:02 -0600 Subject: [PATCH] Change breakpoint::filter to be a unique_xmalloc_ptr This changes breakpoint::filter to be a unique_xmalloc_ptr, removing an explicit xfree, as well as a use of a "release" method. gdb/ChangeLog 2019-08-06 Tom Tromey * breakpoint.c (init_breakpoint_sal): Update. (breakpoint): Update. * breakpoint.h (struct breakpoint) : Now a unique_xmalloc_ptr. --- gdb/ChangeLog | 7 +++++++ gdb/breakpoint.c | 5 ++--- gdb/breakpoint.h | 5 ++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b17b2526ede..e1bd880d80c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2019-08-06 Tom Tromey + + * breakpoint.c (init_breakpoint_sal): Update. + (breakpoint): Update. + * breakpoint.h (struct breakpoint) : Now a + unique_xmalloc_ptr. + 2019-08-05 Christian Biesinger * NEWS: Mention dictionary access on blocks. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index e0c9aa460f1..7a1e7824f21 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -8850,7 +8850,7 @@ init_breakpoint_sal (struct breakpoint *b, struct gdbarch *gdbarch, b->location = std::move (location); else b->location = new_address_location (b->loc->address, NULL, 0); - b->filter = filter.release (); + b->filter = std::move (filter); } static void @@ -12124,7 +12124,6 @@ breakpoint::~breakpoint () { xfree (this->cond_string); xfree (this->extra_string); - xfree (this->filter); } static struct bp_location * @@ -13701,7 +13700,7 @@ decode_location_default (struct breakpoint *b, decode_line_full (location, DECODE_LINE_FUNFIRSTLINE, search_pspace, NULL, 0, &canonical, multiple_symbols_all, - b->filter); + b->filter.get ()); /* We should get 0 or 1 resulting SALs. */ gdb_assert (canonical.lsals.size () < 2); diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index a825be72228..69a043c7676 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -734,9 +734,8 @@ struct breakpoint event_location_up location; /* The filter that should be passed to decode_line_full when - re-setting this breakpoint. This may be NULL, but otherwise is - allocated with xmalloc. */ - char *filter = NULL; + re-setting this breakpoint. This may be NULL. */ + gdb::unique_xmalloc_ptr filter; /* For a ranged breakpoint, the location we used to find the end of the range. */ -- 2.30.2