aboutsummaryrefslogtreecommitdiff
path: root/gdb/value.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2018-04-29 21:07:03 -0600
committerTom Tromey <tom@tromey.com>2018-04-30 11:33:11 -0600
commitbbfa6f00867946985b954bbec233c0f25f14ac5c (patch)
treecd2c5427f88f6276caa1f0eb6f895185a2aa3753 /gdb/value.c
parent1831a9f9d3346dbf61202d2aba6935f0093487dd (diff)
downloadgdb-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.c10
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. */