aboutsummaryrefslogtreecommitdiff
path: root/gdb/value.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2020-09-17 11:47:50 -0600
committerTom Tromey <tom@tromey.com>2020-09-17 11:58:56 -0600
commit6108fd1823f9cf036bbbe528ffcdf2fee489b40a (patch)
tree0be755427c836f6981902a0a49b5b84f0f36f4dc /gdb/value.c
parentfa9b11648c07ecb02a9c038304d646a5c652a5e7 (diff)
downloadfsf-binutils-gdb-6108fd1823f9cf036bbbe528ffcdf2fee489b40a.zip
fsf-binutils-gdb-6108fd1823f9cf036bbbe528ffcdf2fee489b40a.tar.gz
fsf-binutils-gdb-6108fd1823f9cf036bbbe528ffcdf2fee489b40a.tar.bz2
Use htab_up in type copying
This changes create_copied_types_hash to return an htab_up, then modifies the callers to avoid explicit use of htab_delete. gdb/ChangeLog 2020-09-17 Tom Tromey <tom@tromey.com> * value.c (preserve_values): Update. * python/py-type.c (save_objfile_types): Update. * guile/scm-type.c (save_objfile_types): Update. * gdbtypes.h (create_copied_types_hash): Return htab_up. * gdbtypes.c (create_copied_types_hash): Return htab_up. * compile/compile-object-run.c (compile_object_run): Update.
Diffstat (limited to 'gdb/value.c')
-rw-r--r--gdb/value.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/gdb/value.c b/gdb/value.c
index c8d9414..4b28213 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -2519,22 +2519,19 @@ preserve_one_internalvar (struct internalvar *var, struct objfile *objfile,
void
preserve_values (struct objfile *objfile)
{
- htab_t copied_types;
struct internalvar *var;
/* Create the hash table. We allocate on the objfile's obstack, since
it is soon to be deleted. */
- copied_types = create_copied_types_hash (objfile);
+ htab_up copied_types = create_copied_types_hash (objfile);
for (const value_ref_ptr &item : value_history)
- preserve_one_value (item.get (), objfile, copied_types);
+ preserve_one_value (item.get (), objfile, copied_types.get ());
for (var = internalvars; var; var = var->next)
- preserve_one_internalvar (var, objfile, copied_types);
+ preserve_one_internalvar (var, objfile, copied_types.get ());
- preserve_ext_lang_values (objfile, copied_types);
-
- htab_delete (copied_types);
+ preserve_ext_lang_values (objfile, copied_types.get ());
}
static void