[binutils-gdb] Change varobj_dynamic::saved_item to unique_ptr
Tom Tromey
tromey@sourceware.org
Fri Dec 11 16:49:24 GMT 2020
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7446266408f6c8cdf890c23c391c0c803c7077ca
commit 7446266408f6c8cdf890c23c391c0c803c7077ca
Author: Tom Tromey <tom@tromey.com>
Date: Fri Dec 11 09:33:36 2020 -0700
Change varobj_dynamic::saved_item to unique_ptr
This changes varobj_dynamic::saved_item to be a unique_ptr.
gdb/ChangeLog
2020-12-11 Tom Tromey <tom@tromey.com>
* varobj.c (struct varobj_dynamic) <saved_item>: Now unique_ptr.
(varobj_clear_saved_item, update_dynamic_varobj_children):
Update.
Diff:
---
gdb/ChangeLog | 6 ++++++
gdb/varobj.c | 12 ++++--------
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index d2c902cd4de..6e6fcfb7be3 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2020-12-11 Tom Tromey <tom@tromey.com>
+
+ * varobj.c (struct varobj_dynamic) <saved_item>: Now unique_ptr.
+ (varobj_clear_saved_item, update_dynamic_varobj_children):
+ Update.
+
2020-12-11 Tom Tromey <tom@tromey.com>
* varobj.c (update_dynamic_varobj_children): Update.
diff --git a/gdb/varobj.c b/gdb/varobj.c
index e9856ea4eb3..92bb60fd9d8 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -131,7 +131,7 @@ struct varobj_dynamic
already reported. However, we don't want to install this value
when we read it, because that will mess up future updates. So,
we stash it here instead. */
- varobj_item *saved_item = NULL;
+ std::unique_ptr<varobj_item> saved_item;
};
/* Private function prototypes */
@@ -680,8 +680,7 @@ varobj_clear_saved_item (struct varobj_dynamic *var)
if (var->saved_item != NULL)
{
value_decref (var->saved_item->value);
- delete var->saved_item;
- var->saved_item = NULL;
+ var->saved_item.reset (nullptr);
}
}
@@ -723,10 +722,7 @@ update_dynamic_varobj_children (struct varobj *var,
/* See if there was a leftover from last time. */
if (var->dynamic->saved_item != NULL)
- {
- item = std::unique_ptr<varobj_item> (var->dynamic->saved_item);
- var->dynamic->saved_item = NULL;
- }
+ item = std::move (var->dynamic->saved_item);
else
{
item = var->dynamic->child_iter->next ();
@@ -757,7 +753,7 @@ update_dynamic_varobj_children (struct varobj *var,
}
else
{
- var->dynamic->saved_item = item.release ();
+ var->dynamic->saved_item = std::move (item);
/* We want to truncate the child list just before this
element. */
More information about the Gdb-cvs
mailing list