* infcmd.c (print_return_value): Remove STRUCT_RETURN argument.
(finish_command_continuation, finish_command): Adapt callers.
This commit is contained in:
parent
f156e33b31
commit
8f536afe35
|
@ -1,3 +1,8 @@
|
||||||
|
2007-10-12 Ulrich Weigand <uweigand@de.ibm.com>
|
||||||
|
|
||||||
|
* infcmd.c (print_return_value): Remove STRUCT_RETURN argument.
|
||||||
|
(finish_command_continuation, finish_command): Adapt callers.
|
||||||
|
|
||||||
2007-10-12 Ulrich Weigand <uweigand@de.ibm.com>
|
2007-10-12 Ulrich Weigand <uweigand@de.ibm.com>
|
||||||
|
|
||||||
* infcall.c (call_function_by_hand): Remove special handling
|
* infcall.c (call_function_by_hand): Remove special handling
|
||||||
|
|
32
gdb/infcmd.c
32
gdb/infcmd.c
|
@ -66,7 +66,7 @@ void interrupt_target_command (char *args, int from_tty);
|
||||||
|
|
||||||
static void nofp_registers_info (char *, int);
|
static void nofp_registers_info (char *, int);
|
||||||
|
|
||||||
static void print_return_value (int struct_return, struct type *value_type);
|
static void print_return_value (struct type *value_type);
|
||||||
|
|
||||||
static void finish_command_continuation (struct continuation_arg *);
|
static void finish_command_continuation (struct continuation_arg *);
|
||||||
|
|
||||||
|
@ -1160,7 +1160,7 @@ advance_command (char *arg, int from_tty)
|
||||||
/* Print the result of a function at the end of a 'finish' command. */
|
/* Print the result of a function at the end of a 'finish' command. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_return_value (int struct_return, struct type *value_type)
|
print_return_value (struct type *value_type)
|
||||||
{
|
{
|
||||||
struct gdbarch *gdbarch = current_gdbarch;
|
struct gdbarch *gdbarch = current_gdbarch;
|
||||||
struct cleanup *old_chain;
|
struct cleanup *old_chain;
|
||||||
|
@ -1240,25 +1240,14 @@ finish_command_continuation (struct continuation_arg *arg)
|
||||||
&& function != NULL)
|
&& function != NULL)
|
||||||
{
|
{
|
||||||
struct type *value_type;
|
struct type *value_type;
|
||||||
int struct_return;
|
|
||||||
int gcc_compiled;
|
|
||||||
|
|
||||||
value_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (function));
|
value_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (function));
|
||||||
if (!value_type)
|
if (!value_type)
|
||||||
internal_error (__FILE__, __LINE__,
|
internal_error (__FILE__, __LINE__,
|
||||||
_("finish_command: function has no target type"));
|
_("finish_command: function has no target type"));
|
||||||
|
|
||||||
if (TYPE_CODE (value_type) == TYPE_CODE_VOID)
|
if (TYPE_CODE (value_type) != TYPE_CODE_VOID)
|
||||||
{
|
print_return_value (value_type);
|
||||||
do_exec_cleanups (cleanups);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
CHECK_TYPEDEF (value_type);
|
|
||||||
gcc_compiled = BLOCK_GCC_COMPILED (SYMBOL_BLOCK_VALUE (function));
|
|
||||||
struct_return = using_struct_return (value_type, gcc_compiled);
|
|
||||||
|
|
||||||
print_return_value (struct_return, value_type);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
do_exec_cleanups (cleanups);
|
do_exec_cleanups (cleanups);
|
||||||
|
@ -1363,23 +1352,14 @@ finish_command (char *arg, int from_tty)
|
||||||
&& function != NULL)
|
&& function != NULL)
|
||||||
{
|
{
|
||||||
struct type *value_type;
|
struct type *value_type;
|
||||||
int struct_return;
|
|
||||||
int gcc_compiled;
|
|
||||||
|
|
||||||
value_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (function));
|
value_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (function));
|
||||||
if (!value_type)
|
if (!value_type)
|
||||||
internal_error (__FILE__, __LINE__,
|
internal_error (__FILE__, __LINE__,
|
||||||
_("finish_command: function has no target type"));
|
_("finish_command: function has no target type"));
|
||||||
|
|
||||||
/* FIXME: Shouldn't we do the cleanups before returning? */
|
if (TYPE_CODE (value_type) != TYPE_CODE_VOID)
|
||||||
if (TYPE_CODE (value_type) == TYPE_CODE_VOID)
|
print_return_value (value_type);
|
||||||
return;
|
|
||||||
|
|
||||||
CHECK_TYPEDEF (value_type);
|
|
||||||
gcc_compiled = BLOCK_GCC_COMPILED (SYMBOL_BLOCK_VALUE (function));
|
|
||||||
struct_return = using_struct_return (value_type, gcc_compiled);
|
|
||||||
|
|
||||||
print_return_value (struct_return, value_type);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
do_cleanups (old_chain);
|
do_cleanups (old_chain);
|
||||||
|
|
Loading…
Reference in New Issue