Change regcache list to be an hash map
[deliverable/binutils-gdb.git] / gdb / infcall.h
index a456d92e044865eaec4539a5187b54e3f4233349..a77a6ce44f84afedc9ea8f38ce8e78f8fcb80a75 100644 (file)
@@ -1,6 +1,6 @@
 /* Perform an inferior function call, for GDB, the GNU debugger.
 
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #define INFCALL_H
 
 #include "dummy-frame.h"
+#include "gdbsupport/array-view.h"
 
 struct value;
 struct type;
 
+/* Determine a function's address and its return type from its value.
+   If the function is a GNU ifunc, then return the address of the
+   target function, and set *FUNCTION_TYPE to the target function's
+   type, and *RETVAL_TYPE to the target function's return type.
+   Calls error() if the function is not valid for calling.  */
+
 extern CORE_ADDR find_function_addr (struct value *function, 
-                                    struct type **retval_type);
+                                    struct type **retval_type,
+                                    struct type **function_type = NULL);
 
 /* Perform a function call in the inferior.
 
-   ARGS is a vector of values of arguments (NARGS of them).  FUNCTION
-   is a value, the function to be called.  Returns a value
-   representing what the function returned.  May fail to return, if a
-   breakpoint or signal is hit during the execution of the function.
+   ARGS is a vector of values of arguments.  FUNCTION is a value, the
+   function to be called.  Returns a value representing what the
+   function returned.  May fail to return, if a breakpoint or signal
+   is hit during the execution of the function.
 
-   DFEAULT_RETURN_TYPE is used as function return type if the return
+   DEFAULT_RETURN_TYPE is used as function return type if the return
    type is unknown.  This is used when calling functions with no debug
    info.
 
@@ -43,8 +51,7 @@ extern CORE_ADDR find_function_addr (struct value *function,
 
 extern struct value *call_function_by_hand (struct value *function,
                                            type *default_return_type,
-                                           int nargs,
-                                           struct value **args);
+                                           gdb::array_view<value *> args);
 
 /* Similar to call_function_by_hand and additional call
    register_dummy_frame_dtor with DUMMY_DTOR and DUMMY_DTOR_DATA for the
@@ -53,8 +60,7 @@ extern struct value *call_function_by_hand (struct value *function,
 extern struct value *
   call_function_by_hand_dummy (struct value *function,
                               type *default_return_type,
-                              int nargs,
-                              struct value **args,
+                              gdb::array_view<value *> args,
                               dummy_frame_dtor_ftype *dummy_dtor,
                               void *dummy_dtor_data);
 
This page took 0.026768 seconds and 4 git commands to generate.