Pass a type allocator to init_fixed_point_type 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.
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 0f4d991..40cdc16 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c
@@ -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;
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index c932210..667b4e3 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c
@@ -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);
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index f667b10..df94e95 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h
@@ -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