diff options
author | Tom Tromey <tom@tromey.com> | 2018-10-14 12:18:21 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-10-26 17:15:10 -0600 |
commit | 4c39bc03545798694b4ed2a5cd5caedd7ce3cc50 (patch) | |
tree | f502beb9236084c350d51ac0f34b76c48339ce7a /gdb | |
parent | fd2b4de5e63ad5994baf9c57b5d0c49d1f1dd4e4 (diff) | |
download | gdb-4c39bc03545798694b4ed2a5cd5caedd7ce3cc50.zip gdb-4c39bc03545798694b4ed2a5cd5caedd7ce3cc50.tar.gz gdb-4c39bc03545798694b4ed2a5cd5caedd7ce3cc50.tar.bz2 |
Remove DEF_VECs from symtab.h
This removes a couple of DEF_VECs from symtab.h, replacing them with
std::vector at the points of use.
gdb/ChangeLog
2018-10-26 Tom Tromey <tom@tromey.com>
* dwarf2read.c (recursively_compute_inclusions): Use std::vector.
(compute_compunit_symtab_includes): Update.
* symtab.h: (symtab_ptr): Remove typedef. Don't define a VEC.
(compunit_symtab_ptr): Likewise.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 19 | ||||
-rw-r--r-- | gdb/symtab.h | 6 |
3 files changed, 14 insertions, 18 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a8d15aa..1f8e958 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2018-10-26 Tom Tromey <tom@tromey.com> + + * dwarf2read.c (recursively_compute_inclusions): Use std::vector. + (compute_compunit_symtab_includes): Update. + * symtab.h: (symtab_ptr): Remove typedef. Don't define a VEC. + (compunit_symtab_ptr): Likewise. + 2018-10-26 John Baldwin <jhb@FreeBSD.org> * fbsd-tdep.c (fbsd_print_auxv_entry): Only use diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 2a1b805..1b4f966 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -10210,7 +10210,7 @@ get_compunit_symtab (struct dwarf2_per_cu_data *per_cu) included by PER_CU. */ static void -recursively_compute_inclusions (VEC (compunit_symtab_ptr) **result, +recursively_compute_inclusions (std::vector<compunit_symtab *> *result, htab_t all_children, htab_t all_type_symtabs, struct dwarf2_per_cu_data *per_cu, struct compunit_symtab *immediate_parent) @@ -10240,14 +10240,14 @@ recursively_compute_inclusions (VEC (compunit_symtab_ptr) **result, if (*slot == NULL) { *slot = cust; - VEC_safe_push (compunit_symtab_ptr, *result, cust); + result->push_back (cust); if (cust->user == NULL) cust->user = immediate_parent; } } else { - VEC_safe_push (compunit_symtab_ptr, *result, cust); + result->push_back (cust); if (cust->user == NULL) cust->user = immediate_parent; } @@ -10274,8 +10274,7 @@ compute_compunit_symtab_includes (struct dwarf2_per_cu_data *per_cu) { int ix, len; struct dwarf2_per_cu_data *per_cu_iter; - struct compunit_symtab *compunit_symtab_iter; - VEC (compunit_symtab_ptr) *result_symtabs = NULL; + std::vector<compunit_symtab *> result_symtabs; htab_t all_children, all_type_symtabs; struct compunit_symtab *cust = get_compunit_symtab (per_cu); @@ -10299,18 +10298,14 @@ compute_compunit_symtab_includes (struct dwarf2_per_cu_data *per_cu) } /* Now we have a transitive closure of all the included symtabs. */ - len = VEC_length (compunit_symtab_ptr, result_symtabs); + len = result_symtabs.size (); cust->includes = XOBNEWVEC (&per_cu->dwarf2_per_objfile->objfile->objfile_obstack, struct compunit_symtab *, len + 1); - for (ix = 0; - VEC_iterate (compunit_symtab_ptr, result_symtabs, ix, - compunit_symtab_iter); - ++ix) - cust->includes[ix] = compunit_symtab_iter; + memcpy (cust->includes, result_symtabs.data (), + len * sizeof (compunit_symtab *)); cust->includes[len] = NULL; - VEC_free (compunit_symtab_ptr, result_symtabs); htab_delete (all_children); htab_delete (all_type_symtabs); } diff --git a/gdb/symtab.h b/gdb/symtab.h index 399666b..b91ec12 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -1357,9 +1357,6 @@ struct symtab #define SYMTAB_DIRNAME(symtab) \ COMPUNIT_DIRNAME (SYMTAB_COMPUNIT (symtab)) -typedef struct symtab *symtab_ptr; -DEF_VEC_P (symtab_ptr); - /* Compunit symtabs contain the actual "symbol table", aka blockvector, as well as the list of all source files (what gdb has historically associated with the term "symtab"). @@ -1501,9 +1498,6 @@ extern struct symtab * extern enum language compunit_language (const struct compunit_symtab *cust); -typedef struct compunit_symtab *compunit_symtab_ptr; -DEF_VEC_P (compunit_symtab_ptr); - /* The virtual function table is now an array of structures which have the |