struct call_site *call_site,
                          struct frame_info *caller_frame)
 {
-  switch (FIELD_LOC_KIND (call_site->target))
+  switch (call_site->target.loc_kind ())
     {
     case FIELD_LOC_KIND_DWARF_BLOCK:
       {
 
 
          if (FIELD_ARTIFICIAL (*field1) != FIELD_ARTIFICIAL (*field2)
              || FIELD_BITSIZE (*field1) != FIELD_BITSIZE (*field2)
-             || FIELD_LOC_KIND (*field1) != FIELD_LOC_KIND (*field2))
+             || field1->loc_kind () != field2->loc_kind ())
            return false;
          if (!compare_maybe_null_strings (field1->name (), field2->name ()))
            return false;
-         switch (FIELD_LOC_KIND (*field1))
+         switch (field1->loc_kind ())
            {
            case FIELD_LOC_KIND_BITPOS:
              if (FIELD_BITPOS (*field1) != FIELD_BITPOS (*field2))
            default:
              internal_error (__FILE__, __LINE__, _("Unsupported field kind "
                                                    "%d by check_types_equal"),
-                             FIELD_LOC_KIND (*field1));
+                             field1->loc_kind ());
            }
 
          worklist->emplace_back (field1->type (), field2->type ());
      have a dedicated flag that would be set for static fields when
      the type is being created.  But in practice, checking the field
      loc_kind should give us an accurate answer.  */
-  return (FIELD_LOC_KIND (*f) == FIELD_LOC_KIND_PHYSNAME
-         || FIELD_LOC_KIND (*f) == FIELD_LOC_KIND_PHYSADDR);
+  return (f->loc_kind () == FIELD_LOC_KIND_PHYSNAME
+         || f->loc_kind () == FIELD_LOC_KIND_PHYSADDR);
 }
 
 static void
 
   (TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits == NULL ? 0 \
     : B_TST(TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits, (index)))
 
-#define FIELD_LOC_KIND(thisfld) ((thisfld).loc_kind ())
 #define FIELD_BITPOS(thisfld) ((thisfld).loc_bitpos ())
 #define FIELD_ENUMVAL(thisfld) ((thisfld).loc_enumval ())
 #define FIELD_STATIC_PHYSNAME(thisfld) ((thisfld).loc_physname ())
 #define FIELD_ARTIFICIAL(thisfld) ((thisfld).artificial)
 #define FIELD_BITSIZE(thisfld) ((thisfld).bitsize)
 
-#define TYPE_FIELD_LOC_KIND(thistype, n) FIELD_LOC_KIND ((thistype)->field (n))
+#define TYPE_FIELD_LOC_KIND(thistype, n) ((thistype)->field (n).loc_kind ())
 #define TYPE_FIELD_BITPOS(thistype, n) FIELD_BITPOS ((thistype)->field (n))
 #define TYPE_FIELD_ENUMVAL(thistype, n) FIELD_ENUMVAL ((thistype)->field (n))
 #define TYPE_FIELD_STATIC_PHYSNAME(thistype, n) FIELD_STATIC_PHYSNAME ((thistype)->field (n))