gdb/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Mon, 1 Aug 2011 14:57:48 +0000 (14:57 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Mon, 1 Aug 2011 14:57:48 +0000 (14:57 +0000)
* stack.c (do_gdb_disassembly): Use RETURN_MASK_ERROR, simplify the
exception_print code path.
(backtrace_command): Remove variable e.  Protect arg by make_cleanup in
advance.  Simplify memset.  Remove TRY_CATCH.  Remove explicit xfree.
(backtrace_full_command):  Remove variable e.  Remove TRY_CATCH.

gdb/ChangeLog
gdb/stack.c

index 9559c6ba0c55c3ee9bb65a096da2c4929477b9bc..2904980e64df971023e4c6aedb7b68fcfe04f188 100644 (file)
@@ -1,3 +1,11 @@
+2011-08-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * stack.c (do_gdb_disassembly): Use RETURN_MASK_ERROR, simplify the
+       exception_print code path.
+       (backtrace_command): Remove variable e.  Protect arg by make_cleanup in
+       advance.  Simplify memset.  Remove TRY_CATCH.  Remove explicit xfree.
+       (backtrace_full_command):  Remove variable e.  Remove TRY_CATCH.
+
 2011-08-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        Code cleanup.
index 873451f0a81d9debbf8c7347496cfb0d5622808d..6e871c09a7f5c1c1164ca46cda4dc1fc4347bf51 100644 (file)
@@ -434,15 +434,17 @@ do_gdb_disassembly (struct gdbarch *gdbarch,
 {
   volatile struct gdb_exception exception;
 
-  TRY_CATCH (exception, RETURN_MASK_ALL)
+  TRY_CATCH (exception, RETURN_MASK_ERROR)
     {
       gdb_disassembly (gdbarch, uiout, 0, DISASSEMBLY_RAW_INSN, how_many, low,
                       high);
     }
-  /* If an exception was thrown while doing the disassembly, print
-     the error message, to give the user a clue of what happened.  */
-  if (exception.reason == RETURN_ERROR)
-    exception_print (gdb_stderr, exception);
+  if (exception.reason < 0)
+    {
+      /* If an exception was thrown while doing the disassembly, print
+        the error message, to give the user a clue of what happened.  */
+      exception_print (gdb_stderr, exception);
+    }
 }
 
 /* Print information about frame FRAME.  The output is format according
@@ -1348,7 +1350,6 @@ backtrace_command (char *arg, int from_tty)
 {
   struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
   int fulltrace_arg = -1, arglen = 0, argc = 0;
-  volatile struct gdb_exception e;
 
   if (arg)
     {
@@ -1379,7 +1380,8 @@ backtrace_command (char *arg, int from_tty)
          if (arglen > 0)
            {
              arg = xmalloc (arglen + 1);
-             memset (arg, 0, arglen + 1);
+             make_cleanup (xfree, arg);
+             arg[0] = 0;
              for (i = 0; i < (argc + 1); i++)
                {
                  if (i != fulltrace_arg)
@@ -1394,13 +1396,7 @@ backtrace_command (char *arg, int from_tty)
        }
     }
 
-  TRY_CATCH (e, RETURN_MASK_ERROR)
-    {
-      backtrace_command_1 (arg, fulltrace_arg >= 0 /* show_locals */, from_tty);
-    }
-
-  if (fulltrace_arg >= 0 && arglen > 0)
-    xfree (arg);
+  backtrace_command_1 (arg, fulltrace_arg >= 0 /* show_locals */, from_tty);
 
   do_cleanups (old_chain);
 }
@@ -1408,12 +1404,7 @@ backtrace_command (char *arg, int from_tty)
 static void
 backtrace_full_command (char *arg, int from_tty)
 {
-  volatile struct gdb_exception e;
-
-  TRY_CATCH (e, RETURN_MASK_ERROR)
-    {
-      backtrace_command_1 (arg, 1 /* show_locals */, from_tty);
-    }
+  backtrace_command_1 (arg, 1 /* show_locals */, from_tty);
 }
 \f