[5/7] gdb: remove make_function_type

Message ID 20251217155550.37654-6-simon.marchi@efficios.com
State New
Headers
Series gdbtypes cleanups |

Commit Message

Simon Marchi Dec. 17, 2025, 3:54 p.m. UTC
  From: Simon Marchi <simon.marchi@polymtl.ca>

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
---
 gdb/avr-tdep.c  |  2 +-
 gdb/ft32-tdep.c |  2 +-
 gdb/gdbtypes.c  | 24 +++++++-----------------
 gdb/gdbtypes.h  |  4 ----
 gdb/z80-tdep.c  |  2 +-
 5 files changed, 10 insertions(+), 24 deletions(-)
  

Patch

diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c
index 1a80e0b4ef8b..a88fdb2f9202 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 1f2c2d970afa..ecfbdfd0fc57 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 f42fee408fdb..d3e9bbbdcd52 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 b467190ffb7f..486d62244f6c 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 fd4171abac76..3b45c455a8a8 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);