aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2020-09-14 11:07:56 -0400
committerSimon Marchi <simon.marchi@efficios.com>2020-09-14 11:07:56 -0400
commit653223d3561b5976d12ade101113af9d08348b8c (patch)
treed91acbd802d4b2500c76e83ac6306471367154d2 /gdb/dwarf2
parent55ea94da360700cd3d96cacb7957904692913c45 (diff)
downloadgdb-653223d3561b5976d12ade101113af9d08348b8c.zip
gdb-653223d3561b5976d12ade101113af9d08348b8c.tar.gz
gdb-653223d3561b5976d12ade101113af9d08348b8c.tar.bz2
gdb: add type::is_unsigned / type::set_is_unsigned
Add the `is_unsigned` and `set_is_unsigned` methods on `struct type`, in order to remove the `TYPE_UNSIGNED` macro. In this patch, the `TYPE_UNSIGNED` macro is changed to use `type::is_unsigned`, so all the call sites that are used to set this property on a type are changed to use the new method. The next patch will remove the macro completely. gdb/ChangeLog: * gdbtypes.h (struct type) <is_unsigned, set_is_unsigned>: New methods. (TYPE_UNSIGNED): Use type::is_unsigned. Change all write call sites to use type::set_is_unsigned. Change-Id: Ib09ddce84eda160a801a8f288cccf61c8ef136bc
Diffstat (limited to 'gdb/dwarf2')
-rw-r--r--gdb/dwarf2/read.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 865f9e2..1219bb9 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -16568,7 +16568,8 @@ update_enumeration_type_from_children (struct die_info *die,
}
if (unsigned_enum)
- TYPE_UNSIGNED (type) = 1;
+ type->set_is_unsigned (true);
+
if (flag_enum)
TYPE_FLAG_ENUM (type) = 1;
}
@@ -16643,9 +16644,12 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
{
struct type *underlying_type = TYPE_TARGET_TYPE (type);
underlying_type = check_typedef (underlying_type);
- TYPE_UNSIGNED (type) = TYPE_UNSIGNED (underlying_type);
+
+ type->set_is_unsigned (underlying_type->is_unsigned ());
+
if (TYPE_LENGTH (type) == 0)
TYPE_LENGTH (type) = TYPE_LENGTH (underlying_type);
+
if (TYPE_RAW_ALIGN (type) == 0
&& TYPE_RAW_ALIGN (underlying_type) != 0)
set_type_align (type, TYPE_RAW_ALIGN (underlying_type));