diff options
-rw-r--r-- | gdb/dwarf2/abbrev.c | 3 | ||||
-rw-r--r-- | gdb/dwarf2/read.c | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/gdb/dwarf2/abbrev.c b/gdb/dwarf2/abbrev.c index bae8d8b..c30db1e 100644 --- a/gdb/dwarf2/abbrev.c +++ b/gdb/dwarf2/abbrev.c @@ -276,7 +276,8 @@ abbrev_table::read (struct dwarf2_section_info *section, } else if ((cur_abbrev->tag == DW_TAG_structure_type || cur_abbrev->tag == DW_TAG_class_type - || cur_abbrev->tag == DW_TAG_union_type) + || cur_abbrev->tag == DW_TAG_union_type + || cur_abbrev->tag == DW_TAG_namespace) && cur_abbrev->has_children) { /* We have to record this as interesting, regardless of how diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 95e7d6a..ea31d8d 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -16310,7 +16310,8 @@ cooked_indexer::scan_attributes (dwarf2_per_cu_data *scanning_per_cu, want to treat them as definitions. */ if ((abbrev->tag == DW_TAG_class_type || abbrev->tag == DW_TAG_structure_type - || abbrev->tag == DW_TAG_union_type) + || abbrev->tag == DW_TAG_union_type + || abbrev->tag == DW_TAG_namespace) && abbrev->has_children) *flags |= IS_TYPE_DECLARATION; else @@ -16635,7 +16636,7 @@ cooked_indexer::index_dies (cutu_reader *reader, else if (defer != 0) recurse_parent = defer; else - recurse_parent = parent_entry; + recurse_parent = this_parent_entry; info_ptr = recurse (reader, info_ptr, recurse_parent, fully); } |