From b6433ede0708af00be520abdf9209cd776aab2e2 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 11 Dec 2020 09:21:53 -0700 Subject: Make bp_location derive from refcounted_object This changes bp_location to derive from refcounted_object, introduces a ref_ptr specialization for this type, and then changes bpstats::bp_location_at to use that specialization. This removes some manual reference counting and simplifies the code. gdb/ChangeLog 2020-12-11 Tom Tromey * inline-frame.c (stopped_by_user_bp_inline_frame): Update. * ada-lang.c (check_status_exception): Update. * breakpoint.c (free_bp_location): Remove. (decref_bp_location): Use bp_location_ref_policy. (bpstats::bpstats): Don't call incref_bp_location. (bpstats::~bpstats): Remove. (bpstats::bpstats): Update. (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions) (bp_location::bp_location): Update. (incref_bp_location): Remove. (bkpt_print_it): Update. * breakpoint.h (class bp_location): Derive from refcounted_object. (struct bpstats): Remove destructor. : Now a bp_location_ref_ptr. : Remove. (bp_location_ref_ptr): New typedef. (struct bp_location_ref_policy): New. --- gdb/ada-lang.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gdb/ada-lang.c') diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 39546de..b41d2bf 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -12255,7 +12255,7 @@ should_stop_exception (const struct bp_location *bl) static void check_status_exception (bpstat bs) { - bs->stop = should_stop_exception (bs->bp_location_at); + bs->stop = should_stop_exception (bs->bp_location_at.get ()); } /* Implement the PRINT_IT method in the breakpoint_ops structure -- cgit v1.1