die->type = type;
set_die_type (die, type, cu);
read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu){  struct objfile *objfile = cu->objfile;  struct type *type, *range_type, *index_type, *char_type;  struct attribute *attr;  unsigned int length;  if (die->type)    {      return;    }  attr = dwarf2_attr (die, DW_AT_string_length, cu);  if (attr)    {      length = DW_UNSND (attr);    }  else    {      /* check for the DW_AT_byte_size attribute */      attr = dwarf2_attr (die, DW_AT_byte_size, cu);      if (attr)        {          length = DW_UNSND (attr);        }      else        {          length = 1;        }    }  index_type = dwarf2_fundamental_type (objfile, FT_INTEGER, cu);  range_type = create_range_type (NULL, index_type, 1, length);  if (cu->language == language_fortran)    {      /* Need to create a unique string type for bounds         information */      type = create_string_type (0, range_type);    }  else    {      char_type = dwarf2_fundamental_type (objfile, FT_CHAR, cu);      type = create_string_type (char_type, range_type);    }  die->type = type;}