From: Simon Marchi Date: Wed, 17 Dec 2025 15:54:59 +0000 (-0500) Subject: gdb: remove make_function_type X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd37de5bdef0c6ffe2cfa71cfc44c5e308a3bc58;p=thirdparty%2Fbinutils-gdb.git gdb: remove make_function_type We now have make_function_type and lookup_function_type exposed by gdbtypes.h, which do essentially the same thing. Remove make_function_type, inlining its code inside create_function_type. Change all other callers of make_function_type to use lookup_function_type instead. Change-Id: Id7c25f02059efe5c0f15e8ab8a35ac1fa97d9d6a Approved-By: Tom Tromey --- diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index 1263dafbf51..fe0283f1b48 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -1475,7 +1475,7 @@ avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) be defined. */ type_allocator alloc (gdbarch); tdep->void_type = alloc.new_type (TYPE_CODE_VOID, TARGET_CHAR_BIT, "void"); - tdep->func_void_type = make_function_type (tdep->void_type); + tdep->func_void_type = lookup_function_type (tdep->void_type); tdep->pc_type = init_pointer_type (alloc, 4 * TARGET_CHAR_BIT, NULL, tdep->func_void_type); diff --git a/gdb/ft32-tdep.c b/gdb/ft32-tdep.c index 64bd79a660a..84b9ce657cb 100644 --- a/gdb/ft32-tdep.c +++ b/gdb/ft32-tdep.c @@ -576,7 +576,7 @@ ft32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) be defined. */ type_allocator alloc (gdbarch); void_type = alloc.new_type (TYPE_CODE_VOID, TARGET_CHAR_BIT, "void"); - func_void_type = make_function_type (void_type); + func_void_type = lookup_function_type (void_type); tdep->pc_type = init_pointer_type (alloc, 4 * TARGET_CHAR_BIT, NULL, func_void_type); tdep->pc_type->set_instance_flags (tdep->pc_type->instance_flags () diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index 30efaa1e904..aa27f717e38 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -476,22 +476,6 @@ lookup_rvalue_reference_type (struct type *type) return lookup_reference_type (type, TYPE_CODE_RVALUE_REF); } -/* See gdbtypes.h. */ - -type * -make_function_type (type *return_type) -{ - type *ntype = type_allocator (return_type).new_type (); - - ntype->set_target_type (return_type); - ntype->set_length (1); - ntype->set_code (TYPE_CODE_FUNC); - - INIT_FUNC_SPECIFIC (ntype); - - return ntype; -} - /* Given a return type and argument types, create new function type. If the final type in PARAM_TYPES is NULL, create a varargs function. New type is allocated using ALLOC. */ @@ -499,7 +483,13 @@ make_function_type (type *return_type) static type * create_function_type (type *return_type, int nparams, type **param_types) { - type *fn = make_function_type (return_type); + type *fn = type_allocator (return_type).new_type (); + + fn->set_target_type (return_type); + fn->set_length (1); + fn->set_code (TYPE_CODE_FUNC); + + INIT_FUNC_SPECIFIC (fn); if (nparams > 0) { diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index 11793dd59d2..4afc1968c6c 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -2518,10 +2518,6 @@ extern type *make_pointer_type (type *type); extern struct type *lookup_pointer_type (struct type *); -/* Lookup a function type that returns type RETURN_TYPE. */ - -extern struct type *make_function_type (type *return_type); - /* Create a new function type with return type RETURN_TYPE and unspecified number and types of parameters. diff --git a/gdb/z80-tdep.c b/gdb/z80-tdep.c index e6f29276536..b304b7764c2 100644 --- a/gdb/z80-tdep.c +++ b/gdb/z80-tdep.c @@ -1142,7 +1142,7 @@ z80_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) type_allocator alloc (gdbarch); tdep->void_type = alloc.new_type (TYPE_CODE_VOID, TARGET_CHAR_BIT, "void"); - tdep->func_void_type = make_function_type (tdep->void_type); + tdep->func_void_type = lookup_function_type (tdep->void_type); tdep->pc_type = init_pointer_type (alloc, tdep->addr_length * TARGET_CHAR_BIT, NULL, tdep->func_void_type);