]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gdb: add owner-related methods to struct type
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 22 Jan 2021 17:21:09 +0000 (12:21 -0500)
committerSimon Marchi <simon.marchi@polymtl.ca>
Fri, 22 Jan 2021 17:21:09 +0000 (12:21 -0500)
commit5b7d941b90d1a232dc144dc14850dd2fb63c35da
treedf27382d780f8e646017f31cb26ea48922bade64
parentfe461d2f70ed618c39b887579d07f49f603c1de5
gdb: add owner-related methods to struct type

Add the following methods to struct type:

 * is_objfile_owned
 * set_owner (objfile and gdbarch overloads)
 * objfile and arch getters

Rename the fields in main_type to ensure no other code accesses them
directly.  As usual, we can't make them actually private, but giving
them the `m_` prefix will help making sure they are not accessed when
not supposed to, by convention.

Remove the TYPE_OWNER macro to ensure no code uses the type_owner struct
directly.

gdb/ChangeLog:

* gdbtypes.h (TYPE_OBJFILE_OWNED): Adjust.
(TYPE_OWNER): Remove.
(TYPE_OBJFILE): Adjust.
(struct main_type) <flag_objfile_owned>: Rename to...
<m_flag_objfile_owned>: ... this.
<owner>: Rename to...
<m_owner>: ... this.
(struct type) <is_objfile_owned, set_owner, objfile, arch>: New
methods.
(TYPE_ALLOC): Adjust.
* gdbtypes.c (alloc_type): Adjust.
(alloc_type_arch): Adjust.
(alloc_type_copy): Adjust.
(get_type_arch): Adjust.
(smash_type): Adjust.
(lookup_array_range_type): Adjust.
(recursive_dump_type): Adjust.
(copy_type_recursive): Adjust.
* compile/compile-c-types.c (convert_func): Adjust.
(convert_type_basic): Adjust.
* compile/compile-cplus-types.c (compile_cplus_convert_func):
Adjust.
* language.c
(language_arch_info::type_and_symbol::alloc_type_symbol):
Adjust.

Change-Id: I7f92e869d9f92e2402a3d3007dd0832e05aa6ac8
gdb/ChangeLog
gdb/compile/compile-c-types.c
gdb/compile/compile-cplus-types.c
gdb/gdbtypes.c
gdb/gdbtypes.h
gdb/language.c