is wrong, in that a psymtab with N_SLINE entries but nothing else
is not empty, but we don't realize that. Fixing that without slowing
things down might be tricky. */
- struct partial_symtab *prev_pst;
- /* First, snip it out of the psymtab chain */
-
- if (pst->objfile->psymtabs == pst)
- pst->objfile->psymtabs = pst->next;
- else
- for (prev_pst = pst->objfile->psymtabs; prev_pst; prev_pst = pst->next)
- if (prev_pst->next == pst)
- prev_pst->next = pst->next;
-
- /* Next, put it on a free list for recycling */
-
- pst->next = pst->objfile->free_psymtabs;
- pst->objfile->free_psymtabs = pst;
+ discard_psymtab (pst);
/* Indicate that psymtab was thrown away. */
pst = (struct partial_symtab *)NULL;
list = new;
list->field.name = VT (objfile) + fieldp->dfield.name;
- list->field.bitpos = fieldp->dfield.bitoffset;
+ FIELD_BITPOS (list->field) = fieldp->dfield.bitoffset;
if (fieldp->dfield.bitlength % 8)
- list->field.bitsize = fieldp->dfield.bitlength;
+ FIELD_BITSIZE (list->field) = fieldp->dfield.bitlength;
else
- list->field.bitsize = 0;
+ FIELD_BITSIZE (list->field) = 0;
nfields++;
field = fieldp->dfield.nextfield;
- list->field.type = hpread_type_lookup (fieldp->dfield.type, objfile);
+ FIELD_TYPE (list->field) = hpread_type_lookup (fieldp->dfield.type,
+ objfile);
}
TYPE_NFIELDS (type) = nfields;