1 --- gdb-6.3/gdb/dwarf2read.c.orig 2004-10-16 02:41:00.000000000 +0200
2 +++ gdb-6.3/gdb/dwarf2read.c 2005-04-29 21:08:24.974314896 +0200
5 static void read_enumeration_type (struct die_info *, struct dwarf2_cu *);
7 +static void read_set_type (struct die_info *, struct dwarf2_cu *);
9 static void process_enumeration_scope (struct die_info *, struct dwarf2_cu *);
11 static struct type *dwarf_base_type (int, int, struct dwarf2_cu *);
12 @@ -4009,6 +4011,24 @@
18 +read_set_type (struct die_info * die, struct dwarf2_cu *cu)
20 + struct type *domain_type;
22 + /* Return if we've already decoded this type. */
28 + domain_type = die_type (die, cu);
30 + die->type = create_set_type (NULL, domain_type);
34 /* Given a pointer to a die which begins an enumeration, process all
35 the dies that define the members of the enumeration, and create the
36 symbol for the enumeration type.
37 @@ -6096,9 +6116,11 @@
39 cu->language = language_ada;
41 + case DW_LANG_Pascal83:
42 + cu->language = language_pascal;
46 - case DW_LANG_Pascal83:
49 cu->language = language_minimal;
51 case DW_TAG_structure_type:
52 case DW_TAG_union_type:
53 case DW_TAG_enumeration_type:
54 + case DW_TAG_set_type:
55 SYMBOL_CLASS (sym) = LOC_TYPEDEF;
56 SYMBOL_DOMAIN (sym) = STRUCT_DOMAIN;
59 case DW_TAG_enumeration_type:
60 read_enumeration_type (die, cu);
62 + case DW_TAG_set_type:
63 + read_set_type (die, cu);
65 case DW_TAG_subprogram:
66 case DW_TAG_subroutine_type:
67 read_subroutine_type (die, cu);