--- dwarf2read.c.orig 2004-10-16 04:41:00.000000000 +0400 +++ dwarf2read.c 2005-05-31 17:38:57.000000000 +0400 @@ -4794,6 +4794,17 @@ else high = dwarf2_get_attr_constant_value (attr, 1); } + else + { + /* Alternatively, the high boundary can be specified with the + DW_AT_count attribute, which must be added to the low value. + */ + attr = dwarf2_attr (die, DW_AT_count, cu); + if (attr) + { + high = dwarf2_get_attr_constant_value(attr, 0) + low - 1; + } + } range_type = create_range_type (NULL, base_type, low, high);