aboutsummaryrefslogtreecommitdiff
path: root/gdb/value.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2019-02-26 14:59:47 -0700
committerTom Tromey <tromey@adacore.com>2019-03-05 08:48:40 -0700
commit895dafa679db7af79576dcd177a6d91d65657ee8 (patch)
treeff0395477787a0b1b5f432866f3428e9edbf40e5 /gdb/value.c
parent88a774b9984e42c492ddcf4e4b4b0170ac803576 (diff)
downloadfsf-binutils-gdb-895dafa679db7af79576dcd177a6d91d65657ee8.zip
fsf-binutils-gdb-895dafa679db7af79576dcd177a6d91d65657ee8.tar.gz
fsf-binutils-gdb-895dafa679db7af79576dcd177a6d91d65657ee8.tar.bz2
Add ATTRIBUTE_UNUSED_RESULT to ref_ptr::release
This applies ATTRIBUTE_UNUSED_RESULT to ref_ptr::release and updates a few spots to comply. I believe one use in install_default_visualizer was in error, fixed by this patch. gdb/ChangeLog 2019-03-05 Tom Tromey <tromey@adacore.com> * varobj.c (update_dynamic_varobj_children): Update. (install_default_visualizer): Use reset, not release. * value.c (set_internalvar): Update. * dwarf2loc.c (value_of_dwarf_reg_entry): Update. * common/gdb_ref_ptr.h (class ref_ptr) <release>: Add ATTRIBUTE_UNUSED_RESULT.
Diffstat (limited to 'gdb/value.c')
-rw-r--r--gdb/value.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gdb/value.c b/gdb/value.c
index 95b6a56..50e47a9 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -2274,20 +2274,20 @@ set_internalvar (struct internalvar *var, struct value *val)
default:
new_kind = INTERNALVAR_VALUE;
- new_data.value = value_copy (val);
- new_data.value->modifiable = 1;
+ struct value *copy = value_copy (val);
+ copy->modifiable = 1;
/* Force the value to be fetched from the target now, to avoid problems
later when this internalvar is referenced and the target is gone or
has changed. */
- if (value_lazy (new_data.value))
- value_fetch_lazy (new_data.value);
+ if (value_lazy (copy))
+ value_fetch_lazy (copy);
/* Release the value from the value chain to prevent it from being
deleted by free_all_values. From here on this function should not
call error () until new_data is installed into the var->u to avoid
leaking memory. */
- release_value (new_data.value).release ();
+ new_data.value = release_value (copy).release ();
/* Internal variables which are created from values with a dynamic
location don't need the location property of the origin anymore.