forked from Imagelibrary/binutils-gdb
gdb: remove TYPE_FIELD_ARTIFICIAL
Replace with type::field + field::is_artificial. Change-Id: Ie3bacae49d9bd02e83e504c1ce01470aba56a081 Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
committed by
Simon Marchi
parent
6c0f749351
commit
454977cdc4
@@ -535,7 +535,7 @@ c_type_print_args (struct type *type, struct ui_file *stream,
|
||||
{
|
||||
struct type *param_type;
|
||||
|
||||
if (TYPE_FIELD_ARTIFICIAL (type, i) && linkage_name)
|
||||
if (type->field (i).is_artificial () && linkage_name)
|
||||
continue;
|
||||
|
||||
if (printed_any)
|
||||
@@ -1102,7 +1102,7 @@ c_type_print_base_struct_union (struct type *type, struct ui_file *stream,
|
||||
virtual table pointers are not specifically marked in
|
||||
the debug info, they should be artificial. */
|
||||
if ((i == vptr_fieldno && type == basetype)
|
||||
|| TYPE_FIELD_ARTIFICIAL (type, i))
|
||||
|| type->field (i).is_artificial ())
|
||||
continue;
|
||||
|
||||
if (need_access_label)
|
||||
|
||||
@@ -651,7 +651,7 @@ cplus_class_num_children (struct type *type, int children[3])
|
||||
table pointers are not specifically marked in the debug info,
|
||||
they should be artificial. */
|
||||
if ((type == basetype && i == vptr_fieldno)
|
||||
|| TYPE_FIELD_ARTIFICIAL (type, i))
|
||||
|| type->field (i).is_artificial ())
|
||||
continue;
|
||||
|
||||
if (TYPE_FIELD_PROTECTED (type, i))
|
||||
@@ -751,7 +751,7 @@ cplus_describe_child (const struct varobj *parent, int index,
|
||||
while (index >= 0)
|
||||
{
|
||||
if ((type == basetype && type_index == vptr_fieldno)
|
||||
|| TYPE_FIELD_ARTIFICIAL (type, type_index))
|
||||
|| type->field (type_index).is_artificial ())
|
||||
; /* ignore vptr */
|
||||
else if (match_accessibility (type, type_index, acc))
|
||||
--index;
|
||||
|
||||
@@ -584,7 +584,7 @@ compile_cplus_convert_struct_or_union_members
|
||||
const char *field_name = type->field (i).name ();
|
||||
|
||||
if (TYPE_FIELD_IGNORE (type, i)
|
||||
|| TYPE_FIELD_ARTIFICIAL (type, i))
|
||||
|| type->field (i).is_artificial ())
|
||||
continue;
|
||||
|
||||
/* GDB records unnamed/anonymous fields with empty string names. */
|
||||
@@ -982,7 +982,7 @@ compile_cplus_convert_func (compile_cplus_instance *instance,
|
||||
int artificials = 0;
|
||||
for (int i = 0; i < type->num_fields (); ++i)
|
||||
{
|
||||
if (strip_artificial && TYPE_FIELD_ARTIFICIAL (type, i))
|
||||
if (strip_artificial && type->field (i).is_artificial ())
|
||||
{
|
||||
--array.n_elements;
|
||||
++artificials;
|
||||
|
||||
@@ -7066,7 +7066,7 @@ dwarf2_compute_name (const char *name,
|
||||
artificial; there is no way to differentiate
|
||||
the two cases. */
|
||||
if (type->num_fields () > 0
|
||||
&& TYPE_FIELD_ARTIFICIAL (type, 0)
|
||||
&& type->field (0).is_artificial ()
|
||||
&& type->field (0).type ()->code () == TYPE_CODE_PTR
|
||||
&& TYPE_CONST (type->field (0).type ()->target_type ()))
|
||||
buf.puts (" const");
|
||||
@@ -12239,7 +12239,7 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
|
||||
parameter for non-static member functions (which is the this
|
||||
pointer) as artificial. We obtain this information from
|
||||
read_subroutine_type via TYPE_FIELD_ARTIFICIAL. */
|
||||
if (nparams == 0 || TYPE_FIELD_ARTIFICIAL (this_type, 0) == 0)
|
||||
if (nparams == 0 || this_type->field (0).is_artificial () == 0)
|
||||
fnp->voffset = VOFFSET_STATIC;
|
||||
}
|
||||
else
|
||||
@@ -12328,7 +12328,7 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die,
|
||||
we cannot actually find a base class context for the
|
||||
vtable! */
|
||||
if (this_type->num_fields () == 0
|
||||
|| !TYPE_FIELD_ARTIFICIAL (this_type, 0))
|
||||
|| !this_type->field (0).is_artificial ())
|
||||
{
|
||||
complaint (_("cannot determine context for virtual member "
|
||||
"function \"%s\" (offset %s)"),
|
||||
@@ -14723,7 +14723,7 @@ read_subroutine_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
but not in the class specifications (GCC PR 43053). */
|
||||
if (cu->lang () == language_cplus
|
||||
&& !TYPE_CONST (arg_type)
|
||||
&& TYPE_FIELD_ARTIFICIAL (ftype, iparams))
|
||||
&& ftype->field (iparams).is_artificial ())
|
||||
{
|
||||
int is_this = 0;
|
||||
struct dwarf2_cu *arg_cu = cu;
|
||||
|
||||
@@ -1932,7 +1932,7 @@ fortran_prepare_argument (struct expression *exp,
|
||||
|
||||
bool is_artificial = ((arg_num >= func_type->num_fields ())
|
||||
? true
|
||||
: TYPE_FIELD_ARTIFICIAL (func_type, arg_num));
|
||||
: func_type->field (arg_num).is_artificial ());
|
||||
|
||||
/* If this is an artificial argument, then either, this is an argument
|
||||
beyond the end of the known arguments, or possibly, there are no known
|
||||
|
||||
@@ -5542,7 +5542,7 @@ copy_type_recursive (struct type *type, htab_t copied_types)
|
||||
for (i = 0; i < nfields; i++)
|
||||
{
|
||||
new_type->field (i).set_is_artificial
|
||||
(TYPE_FIELD_ARTIFICIAL (type, i));
|
||||
(type->field (i).is_artificial ());
|
||||
TYPE_FIELD_BITSIZE (new_type, i) = TYPE_FIELD_BITSIZE (type, i);
|
||||
if (type->field (i).type ())
|
||||
new_type->field (i).set_type
|
||||
|
||||
@@ -1925,7 +1925,6 @@ extern void set_type_vptr_basetype (struct type *, struct type *);
|
||||
|
||||
#define FIELD_BITSIZE(thisfld) ((thisfld).bitsize)
|
||||
|
||||
#define TYPE_FIELD_ARTIFICIAL(thistype, n) ((thistype)->field (n).is_artificial ())
|
||||
#define TYPE_FIELD_BITSIZE(thistype, n) FIELD_BITSIZE((thistype)->field (n))
|
||||
#define TYPE_FIELD_PACKED(thistype, n) (FIELD_BITSIZE((thistype)->field (n))!=0)
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ i386_windows_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
||||
artificial flag of the first parameter ('this' pointer). */
|
||||
if (type->code () == TYPE_CODE_METHOD
|
||||
&& type->num_fields () > 0
|
||||
&& TYPE_FIELD_ARTIFICIAL (type, 0)
|
||||
&& type->field (0).is_artificial ()
|
||||
&& type->field (0).type ()->code () == TYPE_CODE_PTR)
|
||||
thiscall = 1;
|
||||
|
||||
|
||||
@@ -197,7 +197,7 @@ convert_field (struct type *type, int field)
|
||||
if (PyObject_SetAttrString (result.get (), "name", arg.get ()) < 0)
|
||||
return NULL;
|
||||
|
||||
arg.reset (PyBool_FromLong (TYPE_FIELD_ARTIFICIAL (type, field)));
|
||||
arg.reset (PyBool_FromLong (type->field (field).is_artificial ()));
|
||||
if (PyObject_SetAttrString (result.get (), "artificial", arg.get ()) < 0)
|
||||
return NULL;
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ rust_enum_variant (struct type *type)
|
||||
{
|
||||
/* The active variant is simply the first non-artificial field. */
|
||||
for (int i = 0; i < type->num_fields (); ++i)
|
||||
if (!TYPE_FIELD_ARTIFICIAL (type, i))
|
||||
if (!type->field (i).is_artificial ())
|
||||
return i;
|
||||
|
||||
/* Perhaps we could get here by trying to print an Ada variant
|
||||
@@ -724,7 +724,7 @@ rust_print_struct_def (struct type *type, const char *varstring,
|
||||
{
|
||||
if (type->field (i).is_static ())
|
||||
continue;
|
||||
if (is_enum && TYPE_FIELD_ARTIFICIAL (type, i))
|
||||
if (is_enum && type->field (i).is_artificial ())
|
||||
continue;
|
||||
fields.push_back (i);
|
||||
}
|
||||
@@ -741,7 +741,7 @@ rust_print_struct_def (struct type *type, const char *varstring,
|
||||
QUIT;
|
||||
|
||||
gdb_assert (!type->field (i).is_static ());
|
||||
gdb_assert (! (is_enum && TYPE_FIELD_ARTIFICIAL (type, i)));
|
||||
gdb_assert (! (is_enum && type->field (i).is_artificial ()));
|
||||
|
||||
if (flags->print_offsets)
|
||||
podata->update (type, i, stream);
|
||||
|
||||
@@ -3464,7 +3464,7 @@ compare_parameters (struct type *t1, struct type *t2, int skip_artificial)
|
||||
{
|
||||
int start = 0;
|
||||
|
||||
if (t1->num_fields () > 0 && TYPE_FIELD_ARTIFICIAL (t1, 0))
|
||||
if (t1->num_fields () > 0 && t1->field (0).is_artificial ())
|
||||
++start;
|
||||
|
||||
/* If skipping artificial fields, find the first real field
|
||||
@@ -3472,7 +3472,7 @@ compare_parameters (struct type *t1, struct type *t2, int skip_artificial)
|
||||
if (skip_artificial)
|
||||
{
|
||||
while (start < t1->num_fields ()
|
||||
&& TYPE_FIELD_ARTIFICIAL (t1, start))
|
||||
&& t1->field (start).is_artificial ())
|
||||
++start;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user