cutu_reader::read_cutu_die_from_dwo (dwarf2_cu *cu, dwo_unit *dwo_unit,
die_info *stub_comp_unit_die,
const char *stub_comp_dir,
- die_info **result_top_level_die,
abbrev_table_up *result_dwo_abbrev_table)
{
dwarf2_per_objfile *per_objfile = cu->per_objfile;
has the benefit of simplifying the rest of the code - all the
work to maintain the illusion of a single
DW_TAG_{compile,type}_unit DIE is done here. */
- *result_top_level_die
+ m_top_level_die
= this->read_toplevel_die (gdb::make_array_view (attributes,
next_attr_idx));
read_cutu_die_from_dwo (cu, sig_type->dwo_unit, NULL /* stub_comp_unit_die */,
sig_type->dwo_unit->dwo_file->comp_dir,
- &m_top_level_die, &m_dwo_abbrev_table);
+ &m_dwo_abbrev_table);
prepare_one_comp_unit (cu, pretend_language);
}
if (dwo_name != nullptr)
{
struct dwo_unit *dwo_unit;
- struct die_info *dwo_comp_unit_die;
if (m_top_level_die->has_children)
{
sect_offset_str (this_cu->sect_off),
bfd_get_filename (abfd));
}
+
dwo_unit = lookup_dwo_unit (cu, m_top_level_die, dwo_name);
if (dwo_unit != NULL)
- {
- read_cutu_die_from_dwo (cu, dwo_unit, m_top_level_die,
- nullptr, &dwo_comp_unit_die,
- &m_dwo_abbrev_table);
- m_top_level_die = dwo_comp_unit_die;
- }
+ read_cutu_die_from_dwo (cu, dwo_unit, m_top_level_die, nullptr,
+ &m_dwo_abbrev_table);
else
{
/* Yikes, we couldn't find the rest of the DIE, we only have
void read_cutu_die_from_dwo (dwarf2_cu *cu, dwo_unit *dwo_unit,
die_info *stub_comp_unit_die,
const char *stub_comp_dir,
- die_info **result_comp_unit_die,
abbrev_table_up *result_dwo_abbrev_table);
void prepare_one_comp_unit (struct dwarf2_cu *cu,