Convert static_kind into loc_kind enum.
* gdbtypes.h (enum field_loc_kind): New. (union field_location): New field dwarf_block. (struct field): Rename static_kind as loc_kind. (FIELD_STATIC_KIND): Rename to ... (FIELD_LOC_KIND): ... here. (TYPE_FIELD_STATIC_KIND): Rename to ... (TYPE_FIELD_LOC_KIND): ... here and use there now new FIELD_LOC_KIND. (TYPE_FIELD_STATIC_HAS_ADDR): Remove. (TYPE_FIELD_STATIC): Remove. (TYPE_FIELD_BITPOS): Reformat. (SET_FIELD_BITPOS): New. (FIELD_PHYSADDR): Rename to ... (FIELD_STATIC_PHYSADDR): ... here. (TYPE_FIELD_STATIC_PHYSADDR): Follow the FIELD_PHYSADDR rename. (SET_FIELD_PHYSADDR): Use new FIELD_LOC_KIND. (FIELD_PHYSNAME): Rename to ... (FIELD_STATIC_PHYSNAME): ... here. (TYPE_FIELD_STATIC_PHYSNAME): Follow the FIELD_PHYSNAME rename. (SET_FIELD_PHYSNAME): Use new FIELD_LOC_KIND. (FIELD_DWARF_BLOCK, TYPE_FIELD_DWARF_BLOCK, SET_FIELD_DWARF_BLOCK): New. (field_is_static): New declaration. * gdbtypes.c (field_is_static): New function. (copy_type_recursive): Update throughout. * amd64-tdep.c, c-typeprint.c, coffread.c, cp-valprint.c, dwarf2read.c, eval.c, jv-typeprint.c, jv-valprint.c, mdebugread.c, p-typeprint.c, p-valprint.c, valops.c, value.c, varobj.c: Update throughout.
This commit is contained in:
parent
aea274d3a7
commit
d6a843b594
17 changed files with 150 additions and 86 deletions
|
@ -1054,11 +1054,10 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
|
|||
if (tsym.st != stMember)
|
||||
break;
|
||||
|
||||
FIELD_BITPOS (*f) = tsym.value;
|
||||
SET_FIELD_BITPOS (*f, tsym.value);
|
||||
FIELD_TYPE (*f) = t;
|
||||
FIELD_NAME (*f) = debug_info->ss + cur_fdr->issBase + tsym.iss;
|
||||
FIELD_BITSIZE (*f) = 0;
|
||||
FIELD_STATIC_KIND (*f) = 0;
|
||||
|
||||
enum_sym = ((struct symbol *)
|
||||
obstack_alloc (¤t_objfile->objfile_obstack,
|
||||
|
@ -1241,11 +1240,10 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
|
|||
case stMember: /* member of struct or union */
|
||||
f = &TYPE_FIELDS (top_stack->cur_type)[top_stack->cur_field++];
|
||||
FIELD_NAME (*f) = name;
|
||||
FIELD_BITPOS (*f) = sh->value;
|
||||
SET_FIELD_BITPOS (*f, sh->value);
|
||||
bitsize = 0;
|
||||
FIELD_TYPE (*f) = parse_type (cur_fd, ax, sh->index, &bitsize, bigend, name);
|
||||
FIELD_BITSIZE (*f) = bitsize;
|
||||
FIELD_STATIC_KIND (*f) = 0;
|
||||
break;
|
||||
|
||||
case stIndirect: /* forward declaration on Irix5 */
|
||||
|
@ -1777,12 +1775,9 @@ upgrade_type (int fd, struct type **tpp, int tq, union aux_ext *ax, int bigend,
|
|||
ignore the erroneous bitsize from the auxiliary entry safely.
|
||||
dbx seems to ignore it too. */
|
||||
|
||||
/* TYPE_FLAG_TARGET_STUB now takes care of the zero TYPE_LENGTH
|
||||
problem. */
|
||||
/* TYPE_TARGET_STUB now takes care of the zero TYPE_LENGTH problem. */
|
||||
if (TYPE_LENGTH (*tpp) == 0)
|
||||
{
|
||||
TYPE_TARGET_STUB (t) = 1;
|
||||
}
|
||||
TYPE_TARGET_STUB (t) = 1;
|
||||
|
||||
*tpp = t;
|
||||
return 4 + off;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue