gdb: remove TYPE_DYN_PROP_LIST macro
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.
This commit is contained in:
parent
7aa9131366
commit
98d48915d9
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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) \
|
||||
|
|
Loading…
Reference in New Issue