* coffread.c (decode_type): Call alloc_type to alloc new
types. * stabsread.c (read_array_type, read_range_type, define_symbol): Call alloc_type to alloc new types. * stabsread.c (define_symbol): Move dbl_valu symbol field data from type_obstack to symbol_obstack. * stabsread.c (define_symbol): Move typedef_sym from type_obstack to symbol_obstack. * gdbtypes.h (TYPE_ALLOC): New macro to allocate space for data associated with a type, using the same mechanism as was used to allocate space for the type structure itself. * coffread.c (patch_type, coff_read_struct_type, coff_read_enum_type): Use TYPE_ALLOC. * dwarfread.c (struct_type): Use TYPE_ALLOC. * gdbtypes.c (create_array_type, check_stub_method, allocate_cplus_struct_type): Use TYPE_ALLOC. * mipsread.c (parse_symbol, parse_type): Use TYPE_ALLOC. * stabsread.c (read_struct_type, read_array_type, read_enum_type, read_range_type): Use TYPE_ALLOC.
This commit is contained in:
parent
ca8820f938
commit
dac9734e58
|
@ -1,3 +1,25 @@
|
||||||
|
Sun Aug 23 17:10:07 1992 Fred Fish (fnf@cygnus.com)
|
||||||
|
|
||||||
|
* coffread.c (decode_type): Call alloc_type to alloc new
|
||||||
|
types.
|
||||||
|
* stabsread.c (read_array_type, read_range_type, define_symbol):
|
||||||
|
Call alloc_type to alloc new types.
|
||||||
|
* stabsread.c (define_symbol): Move dbl_valu symbol field data
|
||||||
|
from type_obstack to symbol_obstack.
|
||||||
|
* stabsread.c (define_symbol): Move typedef_sym from type_obstack
|
||||||
|
to symbol_obstack.
|
||||||
|
* gdbtypes.h (TYPE_ALLOC): New macro to allocate space for data
|
||||||
|
associated with a type, using the same mechanism as was used to
|
||||||
|
allocate space for the type structure itself.
|
||||||
|
* coffread.c (patch_type, coff_read_struct_type,
|
||||||
|
coff_read_enum_type): Use TYPE_ALLOC.
|
||||||
|
* dwarfread.c (struct_type): Use TYPE_ALLOC.
|
||||||
|
* gdbtypes.c (create_array_type, check_stub_method,
|
||||||
|
allocate_cplus_struct_type): Use TYPE_ALLOC.
|
||||||
|
* mipsread.c (parse_symbol, parse_type): Use TYPE_ALLOC.
|
||||||
|
* stabsread.c (read_struct_type, read_array_type, read_enum_type,
|
||||||
|
read_range_type): Use TYPE_ALLOC.
|
||||||
|
|
||||||
Sun Aug 23 11:04:08 1992 Fred Fish (fnf@cygnus.com)
|
Sun Aug 23 11:04:08 1992 Fred Fish (fnf@cygnus.com)
|
||||||
|
|
||||||
* breakpoint.c (breakpoint_re_set): Select a default source
|
* breakpoint.c (breakpoint_re_set): Select a default source
|
||||||
|
|
|
@ -935,8 +935,7 @@ struct_type (dip, thisdie, enddie, objfile)
|
||||||
{
|
{
|
||||||
TYPE_NFIELDS (type) = nfields;
|
TYPE_NFIELDS (type) = nfields;
|
||||||
TYPE_FIELDS (type) = (struct field *)
|
TYPE_FIELDS (type) = (struct field *)
|
||||||
obstack_alloc (&objfile -> type_obstack,
|
TYPE_ALLOC (type, sizeof (struct field) * nfields);
|
||||||
sizeof (struct field) * nfields);
|
|
||||||
/* Copy the saved-up fields into the field vector. */
|
/* Copy the saved-up fields into the field vector. */
|
||||||
for (n = nfields; list; list = list -> next)
|
for (n = nfields; list; list = list -> next)
|
||||||
{
|
{
|
||||||
|
|
|
@ -52,7 +52,7 @@ alloc_type (objfile)
|
||||||
type = (struct type *) obstack_alloc (&objfile -> type_obstack,
|
type = (struct type *) obstack_alloc (&objfile -> type_obstack,
|
||||||
sizeof (struct type));
|
sizeof (struct type));
|
||||||
}
|
}
|
||||||
memset ((char *)type, 0, sizeof (struct type));
|
memset ((char *) type, 0, sizeof (struct type));
|
||||||
|
|
||||||
/* Initialize the fields that might not be zero. */
|
/* Initialize the fields that might not be zero. */
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ make_pointer_type (type, typeptr)
|
||||||
{
|
{
|
||||||
ntype = *typeptr;
|
ntype = *typeptr;
|
||||||
objfile = TYPE_OBJFILE (ntype);
|
objfile = TYPE_OBJFILE (ntype);
|
||||||
memset ((char *)ntype, 0, sizeof (struct type));
|
memset ((char *) ntype, 0, sizeof (struct type));
|
||||||
TYPE_OBJFILE (ntype) = objfile;
|
TYPE_OBJFILE (ntype) = objfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ make_reference_type (type, typeptr)
|
||||||
{
|
{
|
||||||
ntype = *typeptr;
|
ntype = *typeptr;
|
||||||
objfile = TYPE_OBJFILE (ntype);
|
objfile = TYPE_OBJFILE (ntype);
|
||||||
memset ((char *)ntype, 0, sizeof (struct type));
|
memset ((char *) ntype, 0, sizeof (struct type));
|
||||||
TYPE_OBJFILE (ntype) = objfile;
|
TYPE_OBJFILE (ntype) = objfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -224,7 +224,7 @@ make_function_type (type, typeptr)
|
||||||
{
|
{
|
||||||
ntype = *typeptr;
|
ntype = *typeptr;
|
||||||
objfile = TYPE_OBJFILE (ntype);
|
objfile = TYPE_OBJFILE (ntype);
|
||||||
memset ((char *)ntype, 0, sizeof (struct type));
|
memset ((char *) ntype, 0, sizeof (struct type));
|
||||||
TYPE_OBJFILE (ntype) = objfile;
|
TYPE_OBJFILE (ntype) = objfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -314,8 +314,7 @@ create_array_type (element_type, number)
|
||||||
TYPE_LENGTH (result_type) = number * TYPE_LENGTH (element_type);
|
TYPE_LENGTH (result_type) = number * TYPE_LENGTH (element_type);
|
||||||
TYPE_NFIELDS (result_type) = 1;
|
TYPE_NFIELDS (result_type) = 1;
|
||||||
TYPE_FIELDS (result_type) = (struct field *)
|
TYPE_FIELDS (result_type) = (struct field *)
|
||||||
obstack_alloc (&TYPE_OBJFILE (result_type) -> type_obstack,
|
TYPE_ALLOC (result_type, sizeof (struct field));
|
||||||
sizeof (struct field));
|
|
||||||
|
|
||||||
{
|
{
|
||||||
/* Create range type. */
|
/* Create range type. */
|
||||||
|
@ -328,8 +327,7 @@ create_array_type (element_type, number)
|
||||||
|
|
||||||
TYPE_NFIELDS (range_type) = 2;
|
TYPE_NFIELDS (range_type) = 2;
|
||||||
TYPE_FIELDS (range_type) = (struct field *)
|
TYPE_FIELDS (range_type) = (struct field *)
|
||||||
obstack_alloc (&TYPE_OBJFILE (range_type) -> type_obstack,
|
TYPE_ALLOC (range_type, 2 * sizeof (struct field));
|
||||||
2 * sizeof (struct field));
|
|
||||||
TYPE_FIELD_BITPOS (range_type, 0) = 0; /* FIXME */
|
TYPE_FIELD_BITPOS (range_type, 0) = 0; /* FIXME */
|
||||||
TYPE_FIELD_BITPOS (range_type, 1) = number-1; /* FIXME */
|
TYPE_FIELD_BITPOS (range_type, 1) = number-1; /* FIXME */
|
||||||
TYPE_FIELD_TYPE (range_type, 0) = builtin_type_int; /* FIXME */
|
TYPE_FIELD_TYPE (range_type, 0) = builtin_type_int; /* FIXME */
|
||||||
|
@ -362,7 +360,7 @@ smash_to_member_type (type, domain, to_type)
|
||||||
|
|
||||||
objfile = TYPE_OBJFILE (type);
|
objfile = TYPE_OBJFILE (type);
|
||||||
|
|
||||||
memset ((char *)type, 0, sizeof (struct type));
|
memset ((char *) type, 0, sizeof (struct type));
|
||||||
TYPE_OBJFILE (type) = objfile;
|
TYPE_OBJFILE (type) = objfile;
|
||||||
TYPE_TARGET_TYPE (type) = to_type;
|
TYPE_TARGET_TYPE (type) = to_type;
|
||||||
TYPE_DOMAIN_TYPE (type) = domain;
|
TYPE_DOMAIN_TYPE (type) = domain;
|
||||||
|
@ -388,7 +386,7 @@ smash_to_method_type (type, domain, to_type, args)
|
||||||
|
|
||||||
objfile = TYPE_OBJFILE (type);
|
objfile = TYPE_OBJFILE (type);
|
||||||
|
|
||||||
memset ((char *)type, 0, sizeof (struct type));
|
memset ((char *) type, 0, sizeof (struct type));
|
||||||
TYPE_OBJFILE (type) = objfile;
|
TYPE_OBJFILE (type) = objfile;
|
||||||
TYPE_TARGET_TYPE (type) = to_type;
|
TYPE_TARGET_TYPE (type) = to_type;
|
||||||
TYPE_DOMAIN_TYPE (type) = domain;
|
TYPE_DOMAIN_TYPE (type) = domain;
|
||||||
|
@ -797,8 +795,7 @@ check_stub_method (type, i, j)
|
||||||
NULL [...] or void [end of arglist]. */
|
NULL [...] or void [end of arglist]. */
|
||||||
|
|
||||||
argtypes = (struct type **)
|
argtypes = (struct type **)
|
||||||
obstack_alloc (&TYPE_OBJFILE (type) -> type_obstack,
|
TYPE_ALLOC (type, (argcount + 2) * sizeof (struct type *));
|
||||||
(argcount+2) * sizeof (struct type *));
|
|
||||||
p = argtypetext;
|
p = argtypetext;
|
||||||
argtypes[0] = lookup_pointer_type (type);
|
argtypes[0] = lookup_pointer_type (type);
|
||||||
argcount = 1;
|
argcount = 1;
|
||||||
|
@ -860,8 +857,7 @@ allocate_cplus_struct_type (type)
|
||||||
if (!HAVE_CPLUS_STRUCT (type))
|
if (!HAVE_CPLUS_STRUCT (type))
|
||||||
{
|
{
|
||||||
TYPE_CPLUS_SPECIFIC (type) = (struct cplus_struct_type *)
|
TYPE_CPLUS_SPECIFIC (type) = (struct cplus_struct_type *)
|
||||||
obstack_alloc (¤t_objfile -> type_obstack,
|
TYPE_ALLOC (type, sizeof (struct cplus_struct_type));
|
||||||
sizeof (struct cplus_struct_type));
|
|
||||||
*(TYPE_CPLUS_SPECIFIC(type)) = cplus_struct_default;
|
*(TYPE_CPLUS_SPECIFIC(type)) = cplus_struct_default;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -951,7 +947,7 @@ lookup_fundamental_type (objfile, typeid)
|
||||||
nbytes = FT_NUM_MEMBERS * sizeof (struct type *);
|
nbytes = FT_NUM_MEMBERS * sizeof (struct type *);
|
||||||
objfile -> fundamental_types = (struct type **)
|
objfile -> fundamental_types = (struct type **)
|
||||||
obstack_alloc (&objfile -> type_obstack, nbytes);
|
obstack_alloc (&objfile -> type_obstack, nbytes);
|
||||||
memset ((char *)objfile -> fundamental_types, 0, nbytes);
|
memset ((char *) objfile -> fundamental_types, 0, nbytes);
|
||||||
}
|
}
|
||||||
typep = objfile -> fundamental_types + typeid;
|
typep = objfile -> fundamental_types + typeid;
|
||||||
if ((type = *typep) == NULL)
|
if ((type = *typep) == NULL)
|
||||||
|
|
|
@ -507,6 +507,20 @@ extern struct type *builtin_type_m2_bool;
|
||||||
TYPE_UNSIGNED(t) ? UMIN_OF_SIZE(TYPE_LENGTH(t)) \
|
TYPE_UNSIGNED(t) ? UMIN_OF_SIZE(TYPE_LENGTH(t)) \
|
||||||
: MIN_OF_SIZE(TYPE_LENGTH(t))
|
: MIN_OF_SIZE(TYPE_LENGTH(t))
|
||||||
|
|
||||||
|
/* Allocate space for storing data associated with a particular type.
|
||||||
|
We ensure that the space is allocated using the same mechanism that
|
||||||
|
was used to allocate the space for the type structure itself. I.E.
|
||||||
|
if the type is on an objfile's type_obstack, then the space for data
|
||||||
|
associated with that type will also be allocated on the type_obstack.
|
||||||
|
If the type is not associated with any particular objfile (such as
|
||||||
|
builtin types), then the data space will be allocated with xmalloc,
|
||||||
|
the same as for the type structure. */
|
||||||
|
|
||||||
|
#define TYPE_ALLOC(t,size) \
|
||||||
|
TYPE_OBJFILE (t) != NULL \
|
||||||
|
? obstack_alloc (&TYPE_OBJFILE (t) -> type_obstack, size) \
|
||||||
|
: xmalloc (size)
|
||||||
|
|
||||||
extern struct type *
|
extern struct type *
|
||||||
alloc_type PARAMS ((struct objfile *));
|
alloc_type PARAMS ((struct objfile *));
|
||||||
|
|
||||||
|
|
|
@ -491,7 +491,7 @@ define_symbol (valu, string, desc, type, objfile)
|
||||||
SYMBOL_TYPE (sym) = lookup_fundamental_type (objfile,
|
SYMBOL_TYPE (sym) = lookup_fundamental_type (objfile,
|
||||||
FT_DBL_PREC_FLOAT);
|
FT_DBL_PREC_FLOAT);
|
||||||
dbl_valu = (char *)
|
dbl_valu = (char *)
|
||||||
obstack_alloc (&objfile -> type_obstack, sizeof (double));
|
obstack_alloc (&objfile -> symbol_obstack, sizeof (double));
|
||||||
memcpy (dbl_valu, &d, sizeof (double));
|
memcpy (dbl_valu, &d, sizeof (double));
|
||||||
SWAP_TARGET_AND_HOST (dbl_valu, sizeof (double));
|
SWAP_TARGET_AND_HOST (dbl_valu, sizeof (double));
|
||||||
SYMBOL_VALUE_BYTES (sym) = dbl_valu;
|
SYMBOL_VALUE_BYTES (sym) = dbl_valu;
|
||||||
|
@ -602,8 +602,7 @@ define_symbol (valu, string, desc, type, objfile)
|
||||||
#if 0
|
#if 0
|
||||||
/* This code doesn't work -- it needs to realloc and can't. */
|
/* This code doesn't work -- it needs to realloc and can't. */
|
||||||
/* Attempt to set up to record a function prototype... */
|
/* Attempt to set up to record a function prototype... */
|
||||||
struct type *new = (struct type *)
|
struct type *new = alloc_type (objfile);
|
||||||
obstack_alloc (&objfile -> type_obstack, sizeof (struct type));
|
|
||||||
|
|
||||||
/* Generate a template for the type of this function. The
|
/* Generate a template for the type of this function. The
|
||||||
types of the arguments will be added as we read the symbol
|
types of the arguments will be added as we read the symbol
|
||||||
|
@ -830,7 +829,7 @@ define_symbol (valu, string, desc, type, objfile)
|
||||||
if (synonym)
|
if (synonym)
|
||||||
{
|
{
|
||||||
register struct symbol *typedef_sym = (struct symbol *)
|
register struct symbol *typedef_sym = (struct symbol *)
|
||||||
obstack_alloc (&objfile -> type_obstack, sizeof (struct symbol));
|
obstack_alloc (&objfile -> symbol_obstack, sizeof (struct symbol));
|
||||||
memset (typedef_sym, 0, sizeof (struct symbol));
|
memset (typedef_sym, 0, sizeof (struct symbol));
|
||||||
SYMBOL_NAME (typedef_sym) = SYMBOL_NAME (sym);
|
SYMBOL_NAME (typedef_sym) = SYMBOL_NAME (sym);
|
||||||
SYMBOL_TYPE (typedef_sym) = SYMBOL_TYPE (sym);
|
SYMBOL_TYPE (typedef_sym) = SYMBOL_TYPE (sym);
|
||||||
|
@ -1351,7 +1350,7 @@ read_struct_type (pp, type, objfile)
|
||||||
|
|
||||||
n_baseclasses = read_number (pp, ',');
|
n_baseclasses = read_number (pp, ',');
|
||||||
TYPE_FIELD_VIRTUAL_BITS (type) = (B_TYPE *)
|
TYPE_FIELD_VIRTUAL_BITS (type) = (B_TYPE *)
|
||||||
obstack_alloc (&objfile -> type_obstack, B_BYTES (n_baseclasses));
|
TYPE_ALLOC (type, B_BYTES (n_baseclasses));
|
||||||
B_CLRALL (TYPE_FIELD_VIRTUAL_BITS (type), n_baseclasses);
|
B_CLRALL (TYPE_FIELD_VIRTUAL_BITS (type), n_baseclasses);
|
||||||
|
|
||||||
for (i = 0; i < n_baseclasses; i++)
|
for (i = 0; i < n_baseclasses; i++)
|
||||||
|
@ -1619,7 +1618,7 @@ read_struct_type (pp, type, objfile)
|
||||||
|
|
||||||
TYPE_NFIELDS (type) = nfields;
|
TYPE_NFIELDS (type) = nfields;
|
||||||
TYPE_FIELDS (type) = (struct field *)
|
TYPE_FIELDS (type) = (struct field *)
|
||||||
obstack_alloc (&objfile -> type_obstack, sizeof (struct field) * nfields);
|
TYPE_ALLOC (type, sizeof (struct field) * nfields);
|
||||||
memset (TYPE_FIELDS (type), 0, sizeof (struct field) * nfields);
|
memset (TYPE_FIELDS (type), 0, sizeof (struct field) * nfields);
|
||||||
|
|
||||||
if (non_public_fields)
|
if (non_public_fields)
|
||||||
|
@ -1627,11 +1626,11 @@ read_struct_type (pp, type, objfile)
|
||||||
ALLOCATE_CPLUS_STRUCT_TYPE (type);
|
ALLOCATE_CPLUS_STRUCT_TYPE (type);
|
||||||
|
|
||||||
TYPE_FIELD_PRIVATE_BITS (type) = (B_TYPE *)
|
TYPE_FIELD_PRIVATE_BITS (type) = (B_TYPE *)
|
||||||
obstack_alloc (&objfile -> type_obstack, B_BYTES (nfields));
|
TYPE_ALLOC (type, B_BYTES (nfields));
|
||||||
B_CLRALL (TYPE_FIELD_PRIVATE_BITS (type), nfields);
|
B_CLRALL (TYPE_FIELD_PRIVATE_BITS (type), nfields);
|
||||||
|
|
||||||
TYPE_FIELD_PROTECTED_BITS (type) = (B_TYPE *)
|
TYPE_FIELD_PROTECTED_BITS (type) = (B_TYPE *)
|
||||||
obstack_alloc (&objfile -> type_obstack, B_BYTES (nfields));
|
TYPE_ALLOC (type, B_BYTES (nfields));
|
||||||
B_CLRALL (TYPE_FIELD_PROTECTED_BITS (type), nfields);
|
B_CLRALL (TYPE_FIELD_PROTECTED_BITS (type), nfields);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1879,8 +1878,7 @@ read_struct_type (pp, type, objfile)
|
||||||
if (nfn_fields)
|
if (nfn_fields)
|
||||||
{
|
{
|
||||||
TYPE_FN_FIELDLISTS (type) = (struct fn_fieldlist *)
|
TYPE_FN_FIELDLISTS (type) = (struct fn_fieldlist *)
|
||||||
obstack_alloc (&objfile -> type_obstack,
|
TYPE_ALLOC (type, sizeof (struct fn_fieldlist) * nfn_fields);
|
||||||
sizeof (struct fn_fieldlist) * nfn_fields);
|
|
||||||
memset (TYPE_FN_FIELDLISTS (type), 0,
|
memset (TYPE_FN_FIELDLISTS (type), 0,
|
||||||
sizeof (struct fn_fieldlist) * nfn_fields);
|
sizeof (struct fn_fieldlist) * nfn_fields);
|
||||||
TYPE_NFN_FIELDS (type) = nfn_fields;
|
TYPE_NFN_FIELDS (type) = nfn_fields;
|
||||||
|
@ -2059,10 +2057,7 @@ read_array_type (pp, type, objfile)
|
||||||
|
|
||||||
{
|
{
|
||||||
/* Create range type. */
|
/* Create range type. */
|
||||||
range_type = (struct type *)
|
range_type = alloc_type (objfile);
|
||||||
obstack_alloc (&objfile -> type_obstack, sizeof (struct type));
|
|
||||||
memset (range_type, 0, sizeof (struct type));
|
|
||||||
TYPE_OBJFILE (range_type) = objfile;
|
|
||||||
TYPE_CODE (range_type) = TYPE_CODE_RANGE;
|
TYPE_CODE (range_type) = TYPE_CODE_RANGE;
|
||||||
TYPE_TARGET_TYPE (range_type) = index_type;
|
TYPE_TARGET_TYPE (range_type) = index_type;
|
||||||
|
|
||||||
|
@ -2071,7 +2066,7 @@ read_array_type (pp, type, objfile)
|
||||||
|
|
||||||
TYPE_NFIELDS (range_type) = 2;
|
TYPE_NFIELDS (range_type) = 2;
|
||||||
TYPE_FIELDS (range_type) = (struct field *)
|
TYPE_FIELDS (range_type) = (struct field *)
|
||||||
obstack_alloc (&objfile -> type_obstack, 2 * sizeof (struct field));
|
TYPE_ALLOC (range_type, 2 * sizeof (struct field));
|
||||||
memset (TYPE_FIELDS (range_type), 0, 2 * sizeof (struct field));
|
memset (TYPE_FIELDS (range_type), 0, 2 * sizeof (struct field));
|
||||||
TYPE_FIELD_BITPOS (range_type, 0) = lower;
|
TYPE_FIELD_BITPOS (range_type, 0) = lower;
|
||||||
TYPE_FIELD_BITPOS (range_type, 1) = upper;
|
TYPE_FIELD_BITPOS (range_type, 1) = upper;
|
||||||
|
@ -2082,7 +2077,7 @@ read_array_type (pp, type, objfile)
|
||||||
TYPE_LENGTH (type) = (upper - lower + 1) * TYPE_LENGTH (element_type);
|
TYPE_LENGTH (type) = (upper - lower + 1) * TYPE_LENGTH (element_type);
|
||||||
TYPE_NFIELDS (type) = 1;
|
TYPE_NFIELDS (type) = 1;
|
||||||
TYPE_FIELDS (type) = (struct field *)
|
TYPE_FIELDS (type) = (struct field *)
|
||||||
obstack_alloc (&objfile -> type_obstack, sizeof (struct field));
|
TYPE_ALLOC (type, sizeof (struct field));
|
||||||
memset (TYPE_FIELDS (type), 0, sizeof (struct field));
|
memset (TYPE_FIELDS (type), 0, sizeof (struct field));
|
||||||
TYPE_FIELD_TYPE (type, 0) = range_type;
|
TYPE_FIELD_TYPE (type, 0) = range_type;
|
||||||
|
|
||||||
|
@ -2161,7 +2156,7 @@ read_enum_type (pp, type, objfile)
|
||||||
TYPE_FLAGS (type) &= ~TYPE_FLAG_STUB;
|
TYPE_FLAGS (type) &= ~TYPE_FLAG_STUB;
|
||||||
TYPE_NFIELDS (type) = nsyms;
|
TYPE_NFIELDS (type) = nsyms;
|
||||||
TYPE_FIELDS (type) = (struct field *)
|
TYPE_FIELDS (type) = (struct field *)
|
||||||
obstack_alloc (&objfile -> type_obstack, sizeof (struct field) * nsyms);
|
TYPE_ALLOC (type, sizeof (struct field) * nsyms);
|
||||||
memset (TYPE_FIELDS (type), 0, sizeof (struct field) * nsyms);
|
memset (TYPE_FIELDS (type), 0, sizeof (struct field) * nsyms);
|
||||||
|
|
||||||
/* Find the symbols for the values and put them into the type.
|
/* Find the symbols for the values and put them into the type.
|
||||||
|
@ -2505,10 +2500,7 @@ read_range_type (pp, typenums, objfile)
|
||||||
|
|
||||||
if (got_signed || got_unsigned)
|
if (got_signed || got_unsigned)
|
||||||
{
|
{
|
||||||
result_type = (struct type *)
|
result_type = alloc_type (objfile);
|
||||||
obstack_alloc (&objfile -> type_obstack, sizeof (struct type));
|
|
||||||
memset (result_type, 0, sizeof (struct type));
|
|
||||||
TYPE_OBJFILE (result_type) = objfile;
|
|
||||||
TYPE_LENGTH (result_type) = nbits / TARGET_CHAR_BIT;
|
TYPE_LENGTH (result_type) = nbits / TARGET_CHAR_BIT;
|
||||||
TYPE_CODE (result_type) = TYPE_CODE_INT;
|
TYPE_CODE (result_type) = TYPE_CODE_INT;
|
||||||
if (got_unsigned)
|
if (got_unsigned)
|
||||||
|
@ -2617,10 +2609,7 @@ read_range_type (pp, typenums, objfile)
|
||||||
if (self_subrange)
|
if (self_subrange)
|
||||||
return error_type (pp);
|
return error_type (pp);
|
||||||
|
|
||||||
result_type = (struct type *)
|
result_type = alloc_type (objfile);
|
||||||
obstack_alloc (&objfile -> type_obstack, sizeof (struct type));
|
|
||||||
memset (result_type, 0, sizeof (struct type));
|
|
||||||
TYPE_OBJFILE (result_type) = objfile;
|
|
||||||
|
|
||||||
TYPE_CODE (result_type) = TYPE_CODE_RANGE;
|
TYPE_CODE (result_type) = TYPE_CODE_RANGE;
|
||||||
|
|
||||||
|
@ -2632,7 +2621,7 @@ read_range_type (pp, typenums, objfile)
|
||||||
|
|
||||||
TYPE_NFIELDS (result_type) = 2;
|
TYPE_NFIELDS (result_type) = 2;
|
||||||
TYPE_FIELDS (result_type) = (struct field *)
|
TYPE_FIELDS (result_type) = (struct field *)
|
||||||
obstack_alloc (&objfile -> type_obstack, 2 * sizeof (struct field));
|
TYPE_ALLOC (result_type, 2 * sizeof (struct field));
|
||||||
memset (TYPE_FIELDS (result_type), 0, 2 * sizeof (struct field));
|
memset (TYPE_FIELDS (result_type), 0, 2 * sizeof (struct field));
|
||||||
TYPE_FIELD_BITPOS (result_type, 0) = n2;
|
TYPE_FIELD_BITPOS (result_type, 0) = n2;
|
||||||
TYPE_FIELD_BITPOS (result_type, 1) = n3;
|
TYPE_FIELD_BITPOS (result_type, 1) = n3;
|
||||||
|
|
Loading…
Reference in New Issue