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.
This commit is contained in:
parent
1831a9f9d3
commit
bbfa6f0086
5 changed files with 20 additions and 12 deletions
10
gdb/value.c
10
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. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue