diff options
author | Tom Tromey <tom@tromey.com> | 2018-04-03 17:58:58 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-04-06 15:44:47 -0600 |
commit | 850645cfe82f5854af90ce73f2056712e20fcea2 (patch) | |
tree | 0d9a576e15bafdc37e68f6c3ca8e6a928f93e824 /gdb/value.c | |
parent | 22bc8444e6d377fd016253926c2a2597ff944842 (diff) | |
download | gdb-850645cfe82f5854af90ce73f2056712e20fcea2.zip gdb-850645cfe82f5854af90ce73f2056712e20fcea2.tar.gz gdb-850645cfe82f5854af90ce73f2056712e20fcea2.tar.bz2 |
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 <tom@tromey.com>
* value.c (release_value): Update.
* breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
(struct bpstats) <val>: 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.
Diffstat (limited to 'gdb/value.c')
-rw-r--r-- | gdb/value.c | 3 |
1 files changed, 3 insertions, 0 deletions
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; |