Pass a type allocator to init_fixed_point_type
authorTom Tromey <tromey@adacore.com>
Tue, 5 Sep 2023 18:43:50 +0000 (12:43 -0600)
committerTom Tromey <tromey@adacore.com>
Tue, 19 Sep 2023 19:28:42 +0000 (13:28 -0600)
init_fixed_point_type currently takes an objfile and creates its own
type allocator.  However, for a later patch it is more convenient if
this function accepts a type allocator.  This patch makes this change.

gdb/dwarf2/read.c
gdb/gdbtypes.c
gdb/gdbtypes.h

index 0f4d99109fbd19c9bda72eb28eea682a427c7c2e..40cdc166826bdf1e134d2c410cf69fee614d7102 100644 (file)
@@ -15380,11 +15380,11 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
        }
        break;
       case DW_ATE_signed_fixed:
-       type = init_fixed_point_type (objfile, bits, 0, name);
+       type = init_fixed_point_type (alloc, bits, 0, name);
        finish_fixed_point_type (type, gnat_encoding_suffix, die, cu);
        break;
       case DW_ATE_unsigned_fixed:
-       type = init_fixed_point_type (objfile, bits, 1, name);
+       type = init_fixed_point_type (alloc, bits, 1, name);
        finish_fixed_point_type (type, gnat_encoding_suffix, die, cu);
        break;
 
index c932210829991d471689a4d6e5c1cc83b6591242..667b4e34a240db3205b58eee08940d8588344334 100644 (file)
@@ -3498,12 +3498,12 @@ init_pointer_type (type_allocator &alloc,
    NAME is the type name.  */
 
 struct type *
-init_fixed_point_type (struct objfile *objfile,
+init_fixed_point_type (type_allocator &alloc,
                       int bit, int unsigned_p, const char *name)
 {
   struct type *t;
 
-  t = type_allocator (objfile).new_type (TYPE_CODE_FIXED_POINT, bit, name);
+  t = alloc.new_type (TYPE_CODE_FIXED_POINT, bit, name);
   if (unsigned_p)
     t->set_is_unsigned (true);
 
index f667b10ec7d6990d198493f53190fc42973397de..df94e952c1f0980f0e286e06fffaf18ee27acba6 100644 (file)
@@ -2379,7 +2379,7 @@ extern struct type *init_pointer_type (type_allocator &alloc, int bit,
                                       const char *name,
                                       struct type *target_type);
 
-extern struct type *init_fixed_point_type (struct objfile *, int, int,
+extern struct type *init_fixed_point_type (type_allocator &, int, int,
                                           const char *);
 
 /* Helper functions to construct a struct or record type.  An