* infcmd.c (print_return_value): Remove STRUCT_RETURN argument.
authorUlrich Weigand <uweigand@de.ibm.com>
Fri, 12 Oct 2007 15:32:50 +0000 (15:32 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Fri, 12 Oct 2007 15:32:50 +0000 (15:32 +0000)
(finish_command_continuation, finish_command): Adapt callers.

gdb/ChangeLog
gdb/infcmd.c

index 3bc050a5c432a3c87427d30f2dc9ae31a20abcc9..f809c7ec3d68f4f276088d916e77fea3701877ce 100644 (file)
@@ -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>
 
        * infcall.c (call_function_by_hand): Remove special handling
index 9cb51a48dfd5d76da13647d4e5f49cf24cc24b25..509e95a1cbdc4680939b6b479e9a0dbc56dc14ef 100644 (file)
@@ -66,7 +66,7 @@ void interrupt_target_command (char *args, int from_tty);
 
 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 *);
 
@@ -1160,7 +1160,7 @@ advance_command (char *arg, int from_tty)
 /* Print the result of a function at the end of a 'finish' command.  */
 
 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 cleanup *old_chain;
@@ -1240,25 +1240,14 @@ finish_command_continuation (struct continuation_arg *arg)
       && function != NULL)
     {
       struct type *value_type;
-      int struct_return;
-      int gcc_compiled;
 
       value_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (function));
       if (!value_type)
        internal_error (__FILE__, __LINE__,
                        _("finish_command: function has no target type"));
 
-      if (TYPE_CODE (value_type) == TYPE_CODE_VOID)
-       {
-         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); 
+      if (TYPE_CODE (value_type) != TYPE_CODE_VOID)
+       print_return_value (value_type); 
     }
 
   do_exec_cleanups (cleanups);
@@ -1363,23 +1352,14 @@ finish_command (char *arg, int from_tty)
          && function != NULL)
        {
          struct type *value_type;
-         int struct_return;
-         int gcc_compiled;
 
          value_type = TYPE_TARGET_TYPE (SYMBOL_TYPE (function));
          if (!value_type)
            internal_error (__FILE__, __LINE__,
                            _("finish_command: function has no target type"));
 
-         /* FIXME: Shouldn't we do the cleanups before returning?  */
-         if (TYPE_CODE (value_type) == TYPE_CODE_VOID)
-           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); 
+         if (TYPE_CODE (value_type) != TYPE_CODE_VOID)
+           print_return_value (value_type); 
        }
 
       do_cleanups (old_chain);