* dwarf2read.c (read_unspecified_type): New function.

(read_type_die): Handle DW_TAG_unspecified_type.
	(Committed by Julian Brown.)
This commit is contained in:
Julian Brown 2006-06-14 15:06:35 +00:00
parent adad22db6d
commit 81a17f794b
2 changed files with 26 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2006-06-14 Daniel Jacobowitz <dan@codesourcery.com>
* dwarf2read.c (read_unspecified_type): New function.
(read_type_die): Handle DW_TAG_unspecified_type.
(Committed by Julian Brown.)
2006-06-13 Daniel Jacobowitz <dan@codesourcery.com>
* symfile.c (load_command): Check for a changed executable before

View File

@ -4859,6 +4859,23 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
set_die_type (die, range_type, cu);
}
static void
read_unspecified_type (struct die_info *die, struct dwarf2_cu *cu)
{
struct type *type;
struct attribute *attr;
if (die->type)
return;
/* For now, we only support the C meaning of an unspecified type: void. */
attr = dwarf2_attr (die, DW_AT_name, cu);
type = init_type (TYPE_CODE_VOID, 0, 0, attr ? DW_STRING (attr) : "",
cu->objfile);
set_die_type (die, type, cu);
}
/* Read a whole compilation unit into a linked list of dies. */
@ -7345,6 +7362,9 @@ read_type_die (struct die_info *die, struct dwarf2_cu *cu)
case DW_TAG_base_type:
read_base_type (die, cu);
break;
case DW_TAG_unspecified_type:
read_unspecified_type (die, cu);
break;
default:
complaint (&symfile_complaints, _("unexpected tag in read_type_die: '%s'"),
dwarf_tag_name (die->tag));