alloc_type_copy (const struct type *type)
{
if (type->is_objfile_owned ())
- return alloc_type (type->objfile ());
+ return alloc_type (type->objfile_owner ());
else
- return alloc_type_arch (type->arch ());
+ return alloc_type_arch (type->arch_owner ());
}
/* If TYPE is gdbarch-associated, return that architecture.
struct gdbarch *arch;
if (type->is_objfile_owned ())
- arch = type->objfile ()->arch ();
+ arch = type->objfile_owner ()->arch ();
else
- arch = type->arch ();
+ arch = type->arch_owner ();
/* The ARCH can be NULL if TYPE is associated with neither an objfile nor
a gdbarch, however, this is very rare, and even then, in most cases
if (!oldtype->is_objfile_owned ())
type = GDBARCH_OBSTACK_ZALLOC (get_type_arch (oldtype), struct type);
else
- type = OBSTACK_ZALLOC (&oldtype->objfile ()->objfile_obstack,
+ type = OBSTACK_ZALLOC (&oldtype->objfile_owner ()->objfile_obstack,
struct type);
TYPE_MAIN_TYPE (type) = TYPE_MAIN_TYPE (oldtype);
smash_type (struct type *type)
{
bool objfile_owned = type->is_objfile_owned ();
- objfile *objfile = type->objfile ();
- gdbarch *arch = type->arch ();
+ objfile *objfile = type->objfile_owner ();
+ gdbarch *arch = type->arch_owner ();
memset (TYPE_MAIN_TYPE (type), 0, sizeof (struct main_type));
as TYPE. Otherwise, we can't link it into TYPE's cv chain:
if one objfile is freed and the other kept, we'd have
dangling pointers. */
- gdb_assert (type->objfile () == storage->objfile ());
+ gdb_assert (type->objfile_owner () == storage->objfile_owner ());
ntype = storage;
TYPE_MAIN_TYPE (ntype) = TYPE_MAIN_TYPE (type);
can't have inter-objfile pointers. The only thing to do is
to leave stub types as stub types, and look them up afresh by
name each time you encounter them. */
- gdb_assert ((*typeptr)->objfile () == type->objfile ());
+ gdb_assert ((*typeptr)->objfile_owner () == type->objfile_owner ());
}
ntype = make_qualified_type (type, new_flags,
the assignment of one type's main type structure to the other
will produce a type with references to objects (names; field
lists; etc.) allocated on an objfile other than its own. */
- gdb_assert (ntype->objfile () == type->objfile ());
+ gdb_assert (ntype->objfile_owner () == type->objfile_owner ());
*TYPE_MAIN_TYPE (ntype) = *TYPE_MAIN_TYPE (type);
struct type *range_type;
if (element_type->is_objfile_owned ())
- index_type = objfile_type (element_type->objfile ())->builtin_int;
+ index_type = objfile_type (element_type->objfile_owner ())->builtin_int;
else
- index_type = builtin_type (element_type->arch ())->builtin_int;
+ index_type = builtin_type (element_type->arch_owner ())->builtin_int;
range_type = create_static_range_type (NULL, index_type,
low_bound, high_bound);
return name;
name = saved_type->name ();
- objfile = saved_type->objfile ();
+ objfile = saved_type->objfile_owner ();
error (_("Invalid anonymous type %s [in module %s], GCC PR debug/47510 bug?"),
name ? name : "<anonymous>",
objfile ? objfile_name (objfile) : "<arch>");
{
/* If the type comes from a different objfile we can't cache
it, it may have a different lifetime. PR 2384 */
- if (type->objfile () == basetype->objfile ())
+ if (type->objfile_owner () == basetype->objfile_owner ())
{
set_type_vptr_fieldno (type, fieldno);
set_type_vptr_basetype (type, basetype);
gdb_assert (this->is_objfile_owned ());
- temp = XOBNEW (&this->objfile ()->objfile_obstack,
+ temp = XOBNEW (&this->objfile_owner ()->objfile_obstack,
struct dynamic_prop_list);
temp->prop_kind = prop_kind;
temp->prop = prop;
TYPE's objfile is pointless, too, since you'll have to
move over any other types NEWTYPE refers to, which could
be an unbounded amount of stuff. */
- if (newtype->objfile () == type->objfile ())
+ if (newtype->objfile_owner () == type->objfile_owner ())
type = make_qualified_type (newtype, type->instance_flags (), type);
else
type = newtype;
/* Same as above for opaque types, we can replace the stub
with the complete type only if they are in the same
objfile. */
- if (SYMBOL_TYPE (sym)->objfile () == type->objfile ())
+ if (SYMBOL_TYPE (sym)->objfile_owner () == type->objfile_owner ())
type = make_qualified_type (SYMBOL_TYPE (sym),
type->instance_flags (), type);
else
if (type->is_objfile_owned ())
{
printf_filtered ("%*sobjfile ", spaces, "");
- gdb_print_host_address (type->objfile (), gdb_stdout);
+ gdb_print_host_address (type->objfile_owner (), gdb_stdout);
}
else
{
printf_filtered ("%*sgdbarch ", spaces, "");
- gdb_print_host_address (type->arch (), gdb_stdout);
+ gdb_print_host_address (type->arch_owner (), gdb_stdout);
}
printf_filtered ("\n");
printf_filtered ("%*starget_type ", spaces, "");
/* This type shouldn't be pointing to any types in other objfiles;
if it did, the type might disappear unexpectedly. */
- gdb_assert (type->objfile () == objfile);
+ gdb_assert (type->objfile_owner () == objfile);
struct type_pair pair (type, nullptr);
sizeof (struct main_type));
if (type->main_type->dyn_prop_list != NULL)
new_type->main_type->dyn_prop_list
- = copy_dynamic_prop_list (&type->objfile ()->objfile_obstack,
+ = copy_dynamic_prop_list (&type->objfile_owner ()->objfile_obstack,
type->main_type->dyn_prop_list);
return new_type;
if (type->is_objfile_owned ())
{
fixed_point_type_storage *storage
- = fixed_point_objfile_key.get (type->objfile ());
+ = fixed_point_objfile_key.get (type->objfile_owner ());
if (storage == nullptr)
- storage = fixed_point_objfile_key.emplace (type->objfile ());
+ storage = fixed_point_objfile_key.emplace (type->objfile_owner ());
info = up.get ();
storage->push_back (std::move (up));
}