From 850645cfe82f5854af90ce73f2056712e20fcea2 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 3 Apr 2018 17:58:58 -0600 Subject: Change breakpoints to use value_ref_ptr Now that value_ref_ptr exists, it is possible to simplify breakpoint and bpstat memory management by using a value_ref_ptr rather than manually handling the reference counts. gdb/ChangeLog 2018-04-06 Tom Tromey * value.c (release_value): Update. * breakpoint.h (struct watchpoint) : Now a value_ref_ptr. (struct bpstats) : Now a value_ref_ptr. * breakpoint.c (update_watchpoint, breakpoint_init_inferior) (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check) (~watchpoint, print_it_watchpoint, watch_command_1) (invalidate_bp_value_on_memory_change): Update. --- gdb/value.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gdb/value.c') diff --git a/gdb/value.c b/gdb/value.c index 002270f..013fcfe 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -1696,6 +1696,9 @@ release_value (struct value *val) struct value *v; bool released = false; + if (val == nullptr) + return value_ref_ptr (); + if (all_values == val) { all_values = val->next; -- cgit v1.1