diff options
author | Tom Tromey <tom@tromey.com> | 2020-12-11 09:21:53 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-12-11 09:21:55 -0700 |
commit | b6433ede0708af00be520abdf9209cd776aab2e2 (patch) | |
tree | ccb678ca9bc5bdff0664d7c714c3f6ad7a6d00bd /gdb/ada-lang.c | |
parent | bfcb9db853c41ffff74c77d338b8b1378781aa0e (diff) | |
download | binutils-b6433ede0708af00be520abdf9209cd776aab2e2.zip binutils-b6433ede0708af00be520abdf9209cd776aab2e2.tar.gz binutils-b6433ede0708af00be520abdf9209cd776aab2e2.tar.bz2 |
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 <tom@tromey.com>
* 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.
<bp_location_at>: Now a bp_location_ref_ptr.
<refc>: Remove.
(bp_location_ref_ptr): New typedef.
(struct bp_location_ref_policy): New.
Diffstat (limited to 'gdb/ada-lang.c')
-rw-r--r-- | gdb/ada-lang.c | 2 |
1 files changed, 1 insertions, 1 deletions
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 |