diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2/read.c | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d801971..993a358 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-04-02 Tom Tromey <tromey@adacore.com> + + * dwarf2/read.c (partial_die_info::read): Do not create a vector + of attributes. + 2020-04-02 Andrew Burgess <andrew.burgess@embecosm.com> Bernd Edlinger <bernd.edlinger@hotmail.de> Tom Tromey <tromey@adacore.com> diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index f94c66b..0df5676 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -17879,18 +17879,17 @@ partial_die_info::read (const struct die_reader_specs *reader, int has_high_pc_attr = 0; int high_pc_relative = 0; - std::vector<struct attribute> attr_vec (abbrev.num_attrs); for (i = 0; i < abbrev.num_attrs; ++i) { + attribute attr; bool need_reprocess; - info_ptr = read_attribute (reader, &attr_vec[i], &abbrev.attrs[i], + info_ptr = read_attribute (reader, &attr, &abbrev.attrs[i], info_ptr, &need_reprocess); /* String and address offsets that need to do the reprocessing have already been read at this point, so there is no need to wait until the loop terminates to do the reprocessing. */ if (need_reprocess) - read_attribute_reprocess (reader, &attr_vec[i]); - attribute &attr = attr_vec[i]; + read_attribute_reprocess (reader, &attr); /* Store the data if it is of an attribute we want to keep in a partial symbol table. */ switch (attr.name) |