diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2020-05-07 11:18:42 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2020-05-07 11:32:38 -0400 |
commit | 98d48915d987c577c34e5516040ab04c0dab6baa (patch) | |
tree | 863422f141ab39492303a7dac33aa1236e4fefbe | |
parent | 7aa913136675f4b81cd3a548e44bbdab6185abed (diff) | |
download | gdb-98d48915d987c577c34e5516040ab04c0dab6baa.zip gdb-98d48915d987c577c34e5516040ab04c0dab6baa.tar.gz gdb-98d48915d987c577c34e5516040ab04c0dab6baa.tar.bz2 |
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.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/gdbtypes.c | 22 | ||||
-rw-r--r-- | gdb/gdbtypes.h | 2 |
3 files changed, 16 insertions, 13 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f9ebdd0..b7c2c4b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 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. (remove_dyn_prop): Remove. Update all users to use type::remove_dyn_prop. diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index d8b7237..3f82924 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -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; } diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index 50a0c13..7514bd2 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -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) \ |