/* XML target description support for GDB.
- Copyright (C) 2006
- Free Software Foundation, Inc.
+ Copyright (C) 2006, 2008 Free Software Foundation, Inc.
Contributed by CodeSourcery.
for (i = 0; i < TYPE_NFIELDS (data->current_union); i++)
if (TYPE_VECTOR (TYPE_FIELD_TYPE (data->current_union, i)))
{
- TYPE_FLAGS (data->current_union) |= TYPE_FLAG_VECTOR;
+ TYPE_VECTOR (data->current_union) = 1;
break;
}
}
gdb_xml_error (parser, _("Vector \"%s\" references undefined type \"%s\""),
id, field_type_id);
- /* A vector is just an array plus a special flag. */
- range_type = create_range_type (NULL, builtin_type_int, 0, count - 1);
- type = create_array_type (NULL, field_type, range_type);
+ type = init_vector_type (field_type, count);
TYPE_NAME (type) = xstrdup (id);
- TYPE_FLAGS (type) |= TYPE_FLAG_VECTOR;
-
tdesc_record_type (data->current_feature, type);
}
if (dirname && *dirname)
{
- char *fullname = concat (dirname, "/", filename, NULL);
+ char *fullname = concat (dirname, "/", filename, (char *) NULL);
if (fullname == NULL)
nomem (0);
file = fopen (fullname, FOPEN_RT);