Use builtin type when appropriate
authorTom Tromey <tom@tromey.com>
Sat, 11 Mar 2023 16:37:15 +0000 (09:37 -0700)
committerTom Tromey <tom@tromey.com>
Sat, 18 Mar 2023 17:12:38 +0000 (11:12 -0600)
There are a few spots that check whether a type is objfile-owned, and
then choose either the objfile- or arch-specific builtin type.  I
don't think there is a need to do this any more (if there ever was),
because it is ok for an objfile-allocated type to refer to an
arch-allocated type.

Reviewed-By: Simon Marchi <simon.marchi@efficios.com>
gdb/compile/compile-c-types.c
gdb/compile/compile-cplus-types.c
gdb/gdbtypes.c

index 68903c27a97878667a0751cf8225dae3f6c73f5b..f48eca2152a89cd78a34fd79ec02612fd6bafe5b 100644 (file)
@@ -164,10 +164,7 @@ convert_func (compile_c_instance *context, struct type *type)
      GDB's parser used to do.  */
   if (target_type == NULL)
     {
-      if (type->is_objfile_owned ())
-       target_type = objfile_type (type->objfile_owner ())->builtin_int;
-      else
-       target_type = builtin_type (type->arch_owner ())->builtin_int;
+      target_type = builtin_type (type->arch ())->builtin_int;
       warning (_("function has unknown return type; assuming int"));
     }
 
@@ -322,11 +319,7 @@ convert_type_basic (compile_c_instance *context, struct type *type)
           the cast-to type as the variable's type, like GDB's
           built-in parser does.  For now, assume "int" like GDB's
           built-in parser used to do, but at least warn.  */
-       struct type *fallback;
-       if (type->is_objfile_owned ())
-         fallback = objfile_type (type->objfile_owner ())->builtin_int;
-       else
-         fallback = builtin_type (type->arch_owner ())->builtin_int;
+       struct type *fallback = builtin_type (type->arch ())->builtin_int;
        warning (_("variable has unknown type; assuming int"));
        return convert_int (context, fallback);
       }
index d48aa61b4bc4f791b084a0e4c4c703a248e17041..47cb26785fc3347378f93a1485af507786751283 100644 (file)
@@ -969,10 +969,7 @@ compile_cplus_convert_func (compile_cplus_instance *instance,
      GDB's parser used to do.  */
   if (target_type == nullptr)
     {
-      if (type->is_objfile_owned ())
-       target_type = objfile_type (type->objfile_owner ())->builtin_int;
-      else
-       target_type = builtin_type (type->arch_owner ())->builtin_int;
+      target_type = builtin_type (type->arch ())->builtin_int;
       warning (_("function has unknown return type; assuming int"));
     }
 
index 1b0adbdbe05d7d656202782e06a128d5e0e95ba9..6f206d8b050c4a4a4de47d8c286eeb7694a15895 100644 (file)
@@ -1407,10 +1407,7 @@ lookup_array_range_type (struct type *element_type,
   struct type *range_type;
 
   type_allocator alloc (element_type);
-  if (element_type->is_objfile_owned ())
-    index_type = objfile_type (element_type->objfile_owner ())->builtin_int;
-  else
-    index_type = builtin_type (element_type->arch_owner ())->builtin_int;
+  index_type = builtin_type (element_type->arch ())->builtin_int;
 
   range_type = create_static_range_type (alloc, index_type,
                                         low_bound, high_bound);