aboutsummaryrefslogtreecommitdiff
path: root/gdb/valops.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/valops.c')
-rw-r--r--gdb/valops.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/gdb/valops.c b/gdb/valops.c
index eb7fd6e..afdb429 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -1824,7 +1824,7 @@ do_search_struct_field (const char *name, struct value *arg1, LONGEST offset,
if (t_field_name
&& t_field_name[0] == '\0')
{
- struct type *field_type = TYPE_FIELD_TYPE (type, i);
+ struct type *field_type = type->field (i).type ();
if (field_type->code () == TYPE_CODE_UNION
|| field_type->code () == TYPE_CODE_STRUCT)
@@ -2223,7 +2223,7 @@ value_struct_elt_bitpos (struct value **argp, int bitpos, struct type *ftype,
{
if (!field_is_static (&t->field (i))
&& bitpos == TYPE_FIELD_BITPOS (t, i)
- && types_equal (ftype, TYPE_FIELD_TYPE (t, i)))
+ && types_equal (ftype, t->field (i).type ()))
return value_primitive_field (*argp, 0, i, t);
}
@@ -2968,8 +2968,7 @@ find_oload_champ (gdb::array_view<value *> args,
{
type *t = (methods != NULL
? (TYPE_FN_FIELD_ARGS (methods, ix)[jj].type ())
- : TYPE_FIELD_TYPE (SYMBOL_TYPE (functions[ix]),
- jj));
+ : SYMBOL_TYPE (functions[ix])->field (jj).type ());
parm_types.push_back (t);
}
}
@@ -3206,7 +3205,7 @@ compare_parameters (struct type *t1, struct type *t2, int skip_artificial)
/* Special case: a method taking void. T1 will contain no
non-artificial fields, and T2 will contain TYPE_CODE_VOID. */
if ((t1->num_fields () - start) == 0 && t2->num_fields () == 1
- && TYPE_FIELD_TYPE (t2, 0)->code () == TYPE_CODE_VOID)
+ && t2->field (0).type ()->code () == TYPE_CODE_VOID)
return 1;
if ((t1->num_fields () - start) == t2->num_fields ())
@@ -3215,8 +3214,8 @@ compare_parameters (struct type *t1, struct type *t2, int skip_artificial)
for (i = 0; i < t2->num_fields (); ++i)
{
- if (compare_ranks (rank_one_type (TYPE_FIELD_TYPE (t1, start + i),
- TYPE_FIELD_TYPE (t2, i), NULL),
+ if (compare_ranks (rank_one_type (t1->field (start + i).type (),
+ t2->field (i).type (), NULL),
EXACT_MATCH_BADNESS) != 0)
return 0;
}
@@ -3240,7 +3239,7 @@ get_baseclass_offset (struct type *vt, struct type *cls,
{
for (int i = 0; i < TYPE_N_BASECLASSES (vt); i++)
{
- struct type *t = TYPE_FIELD_TYPE (vt, i);
+ struct type *t = vt->field (i).type ();
if (types_equal (t, cls))
{
if (BASETYPE_VIA_VIRTUAL (vt, i))
@@ -3311,10 +3310,10 @@ value_struct_elt_for_reference (struct type *domain, int offset,
if (want_address)
return value_from_longest
- (lookup_memberptr_type (TYPE_FIELD_TYPE (t, i), domain),
+ (lookup_memberptr_type (t->field (i).type (), domain),
offset + (LONGEST) (TYPE_FIELD_BITPOS (t, i) >> 3));
else if (noside != EVAL_NORMAL)
- return allocate_value (TYPE_FIELD_TYPE (t, i));
+ return allocate_value (t->field (i).type ());
else
{
/* Try to evaluate NAME as a qualified name with implicit