gdb: remove TYPE_FIELD_ARTIFICIAL
authorSimon Marchi <simon.marchi@polymtl.ca>
Thu, 31 Aug 2023 15:46:24 +0000 (11:46 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Thu, 31 Aug 2023 17:16:13 +0000 (13:16 -0400)
Replace with type::field + field::is_artificial.

Change-Id: Ie3bacae49d9bd02e83e504c1ce01470aba56a081
Approved-By: Tom Tromey <tom@tromey.com>
gdb/c-typeprint.c
gdb/c-varobj.c
gdb/compile/compile-cplus-types.c
gdb/dwarf2/read.c
gdb/f-lang.c
gdb/gdbtypes.c
gdb/gdbtypes.h
gdb/i386-windows-tdep.c
gdb/python/py-type.c
gdb/rust-lang.c
gdb/valops.c

index 57b2c09be8bf8cc42308cef821f630e55da32c99..a23ceb0ddc4a2ddf1d95643cb38b010a7282f1ca 100644 (file)
@@ -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)
index 87eca6b069ab4befa215f810e0f66abb03667fcc..b00a2345e2c30c9545a1c1a7636453ebb20c9982 100644 (file)
@@ -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;
index d8e305f237a40e0fcfc4eb1644d8d0652853dd1e..cea04b74d10aa96b7100f2f03f550ac6348b71da 100644 (file)
@@ -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;
index 63b099c111b5a4127edf0dfd909ecf3b1df68769..25e8034397a4efc8b7ae9b9f2dcb8dd4cfd8c09b 100644 (file)
@@ -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;
index bb177007303a66a7bfe86c95043e1c1b56a50c31..fc0614e576170967f1396455ec4d6d3750a04aa4 100644 (file)
@@ -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
index 076a0817b265c0fc6e3d58d425da3ca33f4b4000..0f0638e7bd77cdaa2215c0104c57569ca33852d9 100644 (file)
@@ -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
index 9aa4a5c8a856d1d396a28632c270fcfb95eb4a84..be65669ac5f5b7b1dd44cebe387cee56fe172008 100644 (file)
@@ -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)
 
index 686004a5d320acf3a3190de8f660ac10fecd0219..a5fe5dc8a1c896bd65b679377b28689a5acb4c14 100644 (file)
@@ -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;
 
index b60875c792ed3b486bdf18948b4ff97420fdfd30..9933bb378b57e42e3d3d77787c506646a5b89100 100644 (file)
@@ -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;
 
index 27e8069f1481d92e78e1a4f387d444da959eed1e..0b4a7d47c957412e96ce12046d89d588a4cced98 100644 (file)
@@ -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);
index 6404091d451d8435d3d73091160a421ebac99d73..b007fe08d348ba8eda62c80ca7746386d463dd36 100644 (file)
@@ -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;
     }