aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-09-06 17:18:23 -0600
committerTom Tromey <tom@tromey.com>2017-09-09 14:10:51 -0600
commiteb1e02fd05688c28686a02f197c5e7cb0a5d6a27 (patch)
treeca15494cfc7a6c4c4a4addd3f67277249a682fd8 /gdb/dwarf2read.c
parent0fc21fd8cf92de78c3c383378e70a2955e2631c3 (diff)
downloadgdb-eb1e02fd05688c28686a02f197c5e7cb0a5d6a27.zip
gdb-eb1e02fd05688c28686a02f197c5e7cb0a5d6a27.tar.gz
gdb-eb1e02fd05688c28686a02f197c5e7cb0a5d6a27.tar.bz2
Use std::vector in add_using_directive
This changes add_using_directive to accept a std::vector and then changes the callers. This allows removing a cleanup. ChangeLog 2017-09-09 Tom Tromey <tom@tromey.com> * namespace.h (add_using_directive): Update. * namespace.c (add_using_directive): Change type of excludes to std::vector. * dwarf2read.c (read_import_statement): Use std::vector. (read_namespace): Update. * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r--gdb/dwarf2read.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 30b0fe8..a123ea7 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -9221,8 +9221,7 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
const char *import_alias;
const char *imported_declaration = NULL;
const char *import_prefix;
- VEC (const_char_ptr) *excludes = NULL;
- struct cleanup *cleanups;
+ std::vector<const char *> excludes;
import_attr = dwarf2_attr (die, DW_AT_import, cu);
if (import_attr == NULL)
@@ -9296,8 +9295,6 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
else
canonical_name = imported_name;
- cleanups = make_cleanup (VEC_cleanup (const_char_ptr), &excludes);
-
if (die->tag == DW_TAG_imported_module && cu->language == language_fortran)
for (child_die = die->child; child_die && child_die->tag;
child_die = sibling_die (child_die))
@@ -9337,7 +9334,7 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
continue;
}
- VEC_safe_push (const_char_ptr, excludes, imported_name);
+ excludes.push_back (imported_name);
process_die (child_die, cu);
}
@@ -9350,8 +9347,6 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
excludes,
0,
&objfile->objfile_obstack);
-
- do_cleanups (cleanups);
}
/* Check for possibly missing DW_AT_comp_dir with relative .debug_line
@@ -14617,9 +14612,10 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu)
{
const char *previous_prefix = determine_prefix (die, cu);
+ std::vector<const char *> excludes;
add_using_directive (using_directives (cu->language),
previous_prefix, TYPE_NAME (type), NULL,
- NULL, NULL, 0, &objfile->objfile_obstack);
+ NULL, excludes, 0, &objfile->objfile_obstack);
}
}