]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gdb: remove TYPE_DYN_PROP_LIST macro
authorSimon Marchi <simon.marchi@efficios.com>
Thu, 7 May 2020 15:18:42 +0000 (11:18 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Thu, 7 May 2020 15:32:38 +0000 (11:32 -0400)
Remove this macro, which abstracts how to obtain the dyn_prop_list of a
given type.  We could replace it with a method on `struct type`, but I
don't think it's needed, as the only code that accesses the dynamic prop
list directly is internal gdbtypes.c code (that can be seen as code
internal to `struct type`).  So it can just refer to the field directly.

gdb/ChangeLog:

* gdbtypes.h (TYPE_DYN_PROP_LIST): Remove.  Update all users
access thistype->main_type->dyn_prop_list directly.

gdb/ChangeLog
gdb/gdbtypes.c
gdb/gdbtypes.h

index f9ebdd01a77c107d041198324dffddd827f935b6..b7c2c4b08493a0f4ef5e18aa519ce452f32e74bb 100644 (file)
@@ -1,3 +1,8 @@
+2020-05-07  Simon Marchi  <simon.marchi@efficios.com>
+
+       * gdbtypes.h (TYPE_DYN_PROP_LIST): Remove.  Update all users
+       access thistype->main_type->dyn_prop_list directly.
+
 2020-05-07  Simon Marchi  <simon.marchi@efficios.com>
 
        * gdbtypes.h (struct type) <remove_dyn_prop>: New method.
index d8b723751e1e3753e526771cce1001053337be67..3f829241f0530cda6d6b0e17fac4190f5a04c175 100644 (file)
@@ -2654,7 +2654,7 @@ resolve_dynamic_type (struct type *type,
 dynamic_prop *
 type::dyn_prop (dynamic_prop_node_kind prop_kind) const
 {
-  dynamic_prop_list *node = TYPE_DYN_PROP_LIST (this);
+  dynamic_prop_list *node = this->main_type->dyn_prop_list;
 
   while (node != NULL)
     {
@@ -2678,9 +2678,9 @@ type::add_dyn_prop (dynamic_prop_node_kind prop_kind, dynamic_prop prop)
                 struct dynamic_prop_list);
   temp->prop_kind = prop_kind;
   temp->prop = prop;
-  temp->next = TYPE_DYN_PROP_LIST (this);
+  temp->next = this->main_type->dyn_prop_list;
 
-  TYPE_DYN_PROP_LIST (this) = temp;
+  this->main_type->dyn_prop_list = temp;
 }
 
 /* See gdbtypes.h.  */
@@ -2690,7 +2690,7 @@ type::remove_dyn_prop (dynamic_prop_node_kind kind)
 {
   struct dynamic_prop_list *prev_node, *curr_node;
 
-  curr_node = TYPE_DYN_PROP_LIST (this);
+  curr_node = this->main_type->dyn_prop_list;
   prev_node = NULL;
 
   while (NULL != curr_node)
@@ -2702,7 +2702,7 @@ type::remove_dyn_prop (dynamic_prop_node_kind kind)
             if we are on top of it.  Nevertheless, everything is released
             when the complete objstack is freed.  */
          if (NULL == prev_node)
-           TYPE_DYN_PROP_LIST (this) = curr_node->next;
+           this->main_type->dyn_prop_list = curr_node->next;
          else
            prev_node->next = curr_node->next;
 
@@ -5350,10 +5350,10 @@ copy_type_recursive (struct objfile *objfile,
       *TYPE_RANGE_DATA (new_type) = *TYPE_RANGE_DATA (type);
     }
 
-  if (TYPE_DYN_PROP_LIST (type) != NULL)
-    TYPE_DYN_PROP_LIST (new_type)
+  if (type->main_type->dyn_prop_list != NULL)
+    new_type->main_type->dyn_prop_list
       = copy_dynamic_prop_list (&objfile->objfile_obstack,
-                               TYPE_DYN_PROP_LIST (type));
+                               type->main_type->dyn_prop_list);
 
 
   /* Copy pointers to other types.  */
@@ -5418,10 +5418,10 @@ copy_type (const struct type *type)
   TYPE_LENGTH (new_type) = TYPE_LENGTH (type);
   memcpy (TYPE_MAIN_TYPE (new_type), TYPE_MAIN_TYPE (type),
          sizeof (struct main_type));
-  if (TYPE_DYN_PROP_LIST (type) != NULL)
-    TYPE_DYN_PROP_LIST (new_type)
+  if (type->main_type->dyn_prop_list != NULL)
+    new_type->main_type->dyn_prop_list
       = copy_dynamic_prop_list (&TYPE_OBJFILE (type) -> objfile_obstack,
-                               TYPE_DYN_PROP_LIST (type));
+                               type->main_type->dyn_prop_list);
 
   return new_type;
 }
index 50a0c135ded70317f4de315f24898973e1b1802d..7514bd27f7c002c008243c534fcf3ecaac2e4c05 100644 (file)
@@ -1463,8 +1463,6 @@ extern bool set_type_align (struct type *, ULONGEST);
   ((thistype)->dyn_prop (DYN_PROP_ASSOCIATED))
 
 /* Attribute accessors for dynamic properties.  */
-#define TYPE_DYN_PROP_LIST(thistype) \
-  TYPE_MAIN_TYPE(thistype)->dyn_prop_list
 #define TYPE_DYN_PROP_BATON(dynprop) \
   dynprop->data.baton
 #define TYPE_DYN_PROP_ADDR(dynprop) \