Add target_ops argument to to_trace_set_readonly_regions
[deliverable/binutils-gdb.git] / gdb / exceptions.c
index b7cf9a2cd8fba6b8921b72881f753ce43a154f33..ca80893732127057c3144c5f14fe5b4fcabbc437 100644 (file)
@@ -1,6 +1,6 @@
 /* Exception (throw catch) mechanism, for GDB, the GNU debugger.
 
-   Copyright (C) 1986, 1988-2012 Free Software Foundation, Inc.
+   Copyright (C) 1986-2014 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -25,7 +25,7 @@
 #include "annotate.h"
 #include "ui-out.h"
 #include "gdb_assert.h"
-#include "gdb_string.h"
+#include <string.h>
 #include "serial.h"
 #include "gdbthread.h"
 
@@ -86,7 +86,7 @@ EXCEPTIONS_SIGJMP_BUF *
 exceptions_state_mc_init (volatile struct gdb_exception *exception,
                          return_mask mask)
 {
-  struct catcher *new_catcher = XZALLOC (struct catcher);
+  struct catcher *new_catcher = XCNEW (struct catcher);
 
   /* Start with no exception, save it's address.  */
   exception->reason = 0;
@@ -234,28 +234,6 @@ throw_exception (struct gdb_exception exception)
   EXCEPTIONS_SIGLONGJMP (current_catcher->buf, exception.reason);
 }
 
-void
-deprecated_throw_reason (enum return_reason reason)
-{
-  struct gdb_exception exception;
-
-  memset (&exception, 0, sizeof exception);
-
-  exception.reason = reason;
-  switch (reason)
-    {
-    case RETURN_QUIT:
-      break;
-    case RETURN_ERROR:
-      exception.error = GENERIC_ERROR;
-      break;
-    default:
-      internal_error (__FILE__, __LINE__, _("bad switch"));
-    }
-  
-  throw_exception (exception);
-}
-
 static void
 print_flush (void)
 {
@@ -563,7 +541,7 @@ catch_errors (catch_errors_ftype *func, void *func_args, char *errstring,
 }
 
 int
-catch_command_errors (catch_command_errors_ftype * command,
+catch_command_errors (catch_command_errors_ftype *command,
                      char *arg, int from_tty, return_mask mask)
 {
   volatile struct gdb_exception e;
@@ -577,3 +555,19 @@ catch_command_errors (catch_command_errors_ftype * command,
     return 0;
   return 1;
 }
+
+int
+catch_command_errors_const (catch_command_errors_const_ftype *command,
+                           const char *arg, int from_tty, return_mask mask)
+{
+  volatile struct gdb_exception e;
+
+  TRY_CATCH (e, mask)
+    {
+      command (arg, from_tty);
+    }
+  print_any_exception (gdb_stderr, NULL, e);
+  if (e.reason < 0)
+    return 0;
+  return 1;
+}
This page took 0.024017 seconds and 4 git commands to generate.