diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 10 |
2 files changed, 18 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 86be830e047..b5c6508b0f9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2007-12-22 Jan Kratochvil <jan.kratochvil@redhat.com> + + * dwarf2read.c (scan_partial_symbols partial_die_parent_scope) + (add_partial_symbol, pdi_needs_namespace, process_die) + (is_type_tag_for_partial, load_partial_dies, new_symbol) + (read_type_die, determine_prefix): Extend the current code of + `DW_TAG_class_type' also for `DW_TAG_interface_type'. + 2007-12-21 Paul N. Hilfinger <hilfinger@adacore.com> * ada-lang.h (ada_renaming_category): New enumerated type. diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index e32e06707e8..48f02dd7670 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -1747,6 +1747,7 @@ scan_partial_symbols (struct partial_die_info *first_die, CORE_ADDR *lowpc, } break; case DW_TAG_class_type: + case DW_TAG_interface_type: case DW_TAG_structure_type: if (!pdi->is_declaration) { @@ -1829,6 +1830,7 @@ partial_die_parent_scope (struct partial_die_info *pdi, if (parent->tag == DW_TAG_namespace || parent->tag == DW_TAG_structure_type || parent->tag == DW_TAG_class_type + || parent->tag == DW_TAG_interface_type || parent->tag == DW_TAG_union_type) { if (grandparent_scope == NULL) @@ -1976,6 +1978,7 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu) 0, (CORE_ADDR) 0, cu->language, objfile); break; case DW_TAG_class_type: + case DW_TAG_interface_type: case DW_TAG_structure_type: case DW_TAG_union_type: case DW_TAG_enumeration_type: @@ -2057,6 +2060,7 @@ pdi_needs_namespace (enum dwarf_tag tag) case DW_TAG_namespace: case DW_TAG_typedef: case DW_TAG_class_type: + case DW_TAG_interface_type: case DW_TAG_structure_type: case DW_TAG_union_type: case DW_TAG_enumeration_type: @@ -2676,6 +2680,7 @@ process_die (struct die_info *die, struct dwarf2_cu *cu) read_lexical_block_scope (die, cu); break; case DW_TAG_class_type: + case DW_TAG_interface_type: case DW_TAG_structure_type: case DW_TAG_union_type: read_structure_type (die, cu); @@ -5403,6 +5408,7 @@ is_type_tag_for_partial (int tag) #endif case DW_TAG_base_type: case DW_TAG_class_type: + case DW_TAG_interface_type: case DW_TAG_enumeration_type: case DW_TAG_structure_type: case DW_TAG_subrange_type: @@ -5608,6 +5614,7 @@ load_partial_dies (bfd *abfd, gdb_byte *info_ptr, int building_psymtab, || last_die->tag == DW_TAG_enumeration_type || (cu->language != language_c && (last_die->tag == DW_TAG_class_type + || last_die->tag == DW_TAG_interface_type || last_die->tag == DW_TAG_structure_type || last_die->tag == DW_TAG_union_type)))) { @@ -7358,6 +7365,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu) (FIXME?) */ break; case DW_TAG_class_type: + case DW_TAG_interface_type: case DW_TAG_structure_type: case DW_TAG_union_type: case DW_TAG_set_type: @@ -7677,6 +7685,7 @@ read_type_die (struct die_info *die, struct dwarf2_cu *cu) switch (die->tag) { case DW_TAG_class_type: + case DW_TAG_interface_type: case DW_TAG_structure_type: case DW_TAG_union_type: read_structure_type (die, cu); @@ -7781,6 +7790,7 @@ determine_prefix (struct die_info *die, struct dwarf2_cu *cu) } break; case DW_TAG_class_type: + case DW_TAG_interface_type: case DW_TAG_structure_type: { if (parent->type != NULL && TYPE_TAG_NAME (parent->type) != NULL) |