diff options
author | Pedro Alves <pedro@palves.net> | 2020-09-14 21:16:56 +0100 |
---|---|---|
committer | Pedro Alves <pedro@palves.net> | 2020-09-14 21:16:56 +0100 |
commit | 314ad88df63c26a986e1ecd18bfe1de81a3cc0fb (patch) | |
tree | 065ea5edf44305781b2d1f4677ed7a92447dc9f2 /gdb/ChangeLog | |
parent | 27087b7f6ce8c6d304b149df2484436d97e6334b (diff) | |
download | gdb-314ad88df63c26a986e1ecd18bfe1de81a3cc0fb.zip gdb-314ad88df63c26a986e1ecd18bfe1de81a3cc0fb.tar.gz gdb-314ad88df63c26a986e1ecd18bfe1de81a3cc0fb.tar.bz2 |
Use type_instance_flags more throughout
A later patch in this series will rewrite enum_flags fixing some API
holes. That would cause build failures around code using
type_instance_flags. Or rather, that should be using it, but wasn't.
This patch fixes it by using type_instance_flags throughout instead of
plain integers.
Note that we can't make the seemingly obvious change to struct
type::instance_flags:
- unsigned instance_flags : 9;
+ ENUM_BITFIELD (type_instance_flag_value) instance_flags : 9;
Because G++ complains then that 9 bits isn't sufficient for holding
all values of type_instance_flag_value.
So the patch adds an type::instance_flags() method, which takes care
of casting appropriately, and adds a separate type::set_instance_flags
method, following the pattern of the ongoing TYPE_XXX macro
elimination. This converts uses of TYPE_INSTANCE_FLAGS to
type::instance_flags() in the places where the code was already being
touched, but there are still many references to the
TYPE_INSTANCE_FLAGS macro left behind. Those could/should be fully
replaced at some point.
gdb/ChangeLog:
* avr-tdep.c (avr_address_class_type_flags): Return
type_instance_flags.
(avr_address_class_type_flags_to_name): Take a
type_instance_flags.
(avr_address_class_name_to_type_flags): Return bool and take a
type_instance_flags.
* d-lang.c (build_d_types): Use type::set_instance_flags.
* ft32-tdep.c (ft32_address_class_type_flags): Return
type_instance_flags.
(ft32_address_class_type_flags_to_name): Take a
type_instance_flags.
(ft32_address_class_name_to_type_flags): Return bool and take a
type_instance_flags.
(ft32_gdbarch_init): Use type::set_instance_flags.
* eval.c (fake_method::fake_method): Use type::set_instance_flags.
* gdbarch.h, gdbarch.c: Regenerate.
* gdbarch.sh (address_class_type_flags): Use type_instance_flags.
(address_class_name_to_type_flags): Use type_instance_flags and
bool.
* gdbtypes.c (address_space_name_to_int)
(address_space_int_to_name, make_qualified_type): Use
type_instance_flags.
(make_qualified_type): Use type_instance_flags and
type::set_instance_flags.
(make_type_with_address_space, make_cv_type, make_vector_type)
(check_typedef): Use type_instance_flags.
(recursive_dump_type): Cast type_instance_flags to unsigned for
printing.
(copy_type_recursive): Use type::set_instance_flags.
(gdbtypes_post_init): Use type::set_instance_flags.
* gdbtypes.h (struct type) <instance_flags>: Rename to ...
<m_instance_flags>: ... this.
<instance_flags, set_instance_flags>: New methods.
(TYPE_INSTANCE_FLAGS): Use the instance_flags method.
(SET_TYPE_INSTANCE_FLAGS): New.
(address_space_name_to_int, address_space_int_to_name)
(make_type_with_address_space): Pass flags using
type_instance_flags instead of int.
* stabsread.c (cleanup_undefined_types_noname): Use
type::set_instance_flags.
* s390-tdep.c (s390_address_class_type_flags): Return
type_instance_flags.
(s390_address_class_type_flags_to_name): Take a
type_instance_flags.
(s390_address_class_name_to_type_flags): Return bool and take a
type_instance_flags.
* type-stack.c (type_stack::follow_types): Use
type_instance_flags.
* dwarf2/read.c (read_tag_pointer_type): Use type_instance_flags.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 771a9d5..7d4800b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,56 @@ +2020-09-14 Pedro Alves <pedro@palves.net> + Andrew Burgess <andrew.burgess@embecosm.com> + + * avr-tdep.c (avr_address_class_type_flags): Return + type_instance_flags. + (avr_address_class_type_flags_to_name): Take a + type_instance_flags. + (avr_address_class_name_to_type_flags): Return bool and take a + type_instance_flags. + * d-lang.c (build_d_types): Use type::set_instance_flags. + * ft32-tdep.c (ft32_address_class_type_flags): Return + type_instance_flags. + (ft32_address_class_type_flags_to_name): Take a + type_instance_flags. + (ft32_address_class_name_to_type_flags): Return bool and take a + type_instance_flags. + (ft32_gdbarch_init): Use type::set_instance_flags. + * eval.c (fake_method::fake_method): Use type::set_instance_flags. + * gdbarch.h, gdbarch.c: Regenerate. + * gdbarch.sh (address_class_type_flags): Use type_instance_flags. + (address_class_name_to_type_flags): Use type_instance_flags and + bool. + * gdbtypes.c (address_space_name_to_int) + (address_space_int_to_name, make_qualified_type): Use + type_instance_flags. + (make_qualified_type): Use type_instance_flags and + type::set_instance_flags. + (make_type_with_address_space, make_cv_type, make_vector_type) + (check_typedef): Use type_instance_flags. + (recursive_dump_type): Cast type_instance_flags to unsigned for + printing. + (copy_type_recursive): Use type::set_instance_flags. + (gdbtypes_post_init): Use type::set_instance_flags. + * gdbtypes.h (struct type) <instance_flags>: Rename to ... + <m_instance_flags>: ... this. + <instance_flags, set_instance_flags>: New methods. + (TYPE_INSTANCE_FLAGS): Use the instance_flags method. + (SET_TYPE_INSTANCE_FLAGS): New. + (address_space_name_to_int, address_space_int_to_name) + (make_type_with_address_space): Pass flags using + type_instance_flags instead of int. + * stabsread.c (cleanup_undefined_types_noname): Use + type::set_instance_flags. + * s390-tdep.c (s390_address_class_type_flags): Return + type_instance_flags. + (s390_address_class_type_flags_to_name): Take a + type_instance_flags. + (s390_address_class_name_to_type_flags): Return bool and take a + type_instance_flags. + * type-stack.c (type_stack::follow_types): Use + type_instance_flags. + * dwarf2/read.c (read_tag_pointer_type): Use type_instance_flags. + 2020-09-14 Tom Tromey <tromey@adacore.com> * x86-tdep.h (x86_in_indirect_branch_thunk): Update. |