diff options
author | Tom Tromey <tom@tromey.com> | 2018-04-29 21:07:03 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-04-30 11:33:11 -0600 |
commit | bbfa6f00867946985b954bbec233c0f25f14ac5c (patch) | |
tree | cd2c5427f88f6276caa1f0eb6f895185a2aa3753 /gdb/value.c | |
parent | 1831a9f9d3346dbf61202d2aba6935f0093487dd (diff) | |
download | gdb-bbfa6f00867946985b954bbec233c0f25f14ac5c.zip gdb-bbfa6f00867946985b954bbec233c0f25f14ac5c.tar.gz gdb-bbfa6f00867946985b954bbec233c0f25f14ac5c.tar.bz2 |
Use new_reference for struct value
value_incref returned its argument just as a convenience, which in the
end turned out to only be used in precisely the cases where
new_reference helps. So, this patch changes value_incref to return
void and changes some value-using code to use new_reference.
I also noticed that the comments for value_incref and value_decref
were swapped, so this patch fixes those.
ChangeLog
2018-04-30 Tom Tromey <tom@tromey.com>
* varobj.c (install_new_value): Use new_reference.
* value.h (value_incref): Return void. Swap intro comment with
value_decref.
* value.c (set_value_parent): Use new_reference.
(value_incref): Return void. Update intro comment.
(release_value): Use new_reference.
* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
Diffstat (limited to 'gdb/value.c')
-rw-r--r-- | gdb/value.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gdb/value.c b/gdb/value.c index 12aa2b8..eefaaaa 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -1133,7 +1133,7 @@ value_parent (const struct value *value) void set_value_parent (struct value *value, struct value *parent) { - value->parent = value_ref_ptr (value_incref (parent)); + value->parent = value_ref_ptr::new_reference (parent); } gdb_byte * @@ -1572,14 +1572,12 @@ value_mark (void) return all_values.back ().get (); } -/* Take a reference to VAL. VAL will not be deallocated until all - references are released. */ +/* See value.h. */ -struct value * +void value_incref (struct value *val) { val->reference_count++; - return val; } /* Release a reference to VAL, which was acquired with value_incref. @@ -1635,7 +1633,7 @@ release_value (struct value *val) /* We must always return an owned reference. Normally this happens because we transfer the reference from the value chain, but in this case the value was not on the chain. */ - return value_ref_ptr (value_incref (val)); + return value_ref_ptr::new_reference (val); } /* See value.h. */ |