From: Tom Tromey Date: Sat, 8 Feb 2020 20:40:54 +0000 (-0700) Subject: Change dwarf2_per_objfile::quick_file_names_table to htab_up X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5895093f4a8767f8ad41cdc06f3f24b41cacf748;p=binutils-gdb.git Change dwarf2_per_objfile::quick_file_names_table to htab_up This changes dwarf2_per_objfile::quick_file_names_table to be an htab_up. This just removes a bit of manual management. 2020-02-08 Tom Tromey * dwarf2/read.c (~dwarf2_per_objfile): Update. (create_quick_file_names_table): Return htab_up. (dw2_get_file_names_reader, dw2_forget_cached_source_info): Update. * dwarf2/read.h (struct dwarf2_per_objfile) : Now htab_up. Change-Id: I4ff2fce8b8af27f4bfe01a11b97a889edfd23151 --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2dc3a7c8dc9..5f51d56960d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2020-02-08 Tom Tromey + + * dwarf2/read.c (~dwarf2_per_objfile): Update. + (create_quick_file_names_table): Return htab_up. + (dw2_get_file_names_reader, dw2_forget_cached_source_info): + Update. + * dwarf2/read.h (struct dwarf2_per_objfile) + : Now htab_up. + 2020-02-08 Tom Tromey * dwarf2/abbrev.c (abbrev_table::read): Simplify. diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 345535af490..6e893ba9fec 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -2011,9 +2011,6 @@ dwarf2_per_objfile::~dwarf2_per_objfile () /* Cached DIE trees use xmalloc and the comp_unit_obstack. */ free_cached_comp_units (); - if (quick_file_names_table) - htab_delete (quick_file_names_table); - for (dwarf2_per_cu_data *per_cu : all_comp_units) per_cu->imported_symtabs_free (); @@ -2524,12 +2521,12 @@ delete_file_name_entry (void *e) /* Create a quick_file_names hash table. */ -static htab_t +static htab_up create_quick_file_names_table (unsigned int nr_initial_entries) { - return htab_create_alloc (nr_initial_entries, - hash_file_name_entry, eq_file_name_entry, - delete_file_name_entry, xcalloc, xfree); + return htab_up (htab_create_alloc (nr_initial_entries, + hash_file_name_entry, eq_file_name_entry, + delete_file_name_entry, xcalloc, xfree)); } /* Read in PER_CU->CU. This function is unrelated to symtabs, symtab would @@ -3365,7 +3362,7 @@ dw2_get_file_names_reader (const struct die_reader_specs *reader, If we have we're done. */ find_entry.hash.dwo_unit = cu->dwo_unit; find_entry.hash.line_sect_off = line_offset; - slot = htab_find_slot (dwarf2_per_objfile->quick_file_names_table, + slot = htab_find_slot (dwarf2_per_objfile->quick_file_names_table.get (), &find_entry, INSERT); if (*slot != NULL) { @@ -3489,7 +3486,7 @@ dw2_forget_cached_source_info (struct objfile *objfile) struct dwarf2_per_objfile *dwarf2_per_objfile = get_dwarf2_per_objfile (objfile); - htab_traverse_noresize (dwarf2_per_objfile->quick_file_names_table, + htab_traverse_noresize (dwarf2_per_objfile->quick_file_names_table.get (), dw2_free_cached_file_names, NULL); } diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h index c177747e32e..138a929011a 100644 --- a/gdb/dwarf2/read.h +++ b/gdb/dwarf2/read.h @@ -205,7 +205,7 @@ public: sorted all the TUs into "type unit groups", grouped by their DW_AT_stmt_list value. Therefore the only sharing done here is with a CU and its associated TU group if there is one. */ - htab_t quick_file_names_table {}; + htab_up quick_file_names_table; /* Set during partial symbol reading, to prevent queueing of full symbols. */