Index: gdb/exceptions.h |
diff --git a/gdb/exceptions.h b/gdb/exceptions.h |
index 0c59a25f1f5bd0a0085c458c4de042995fd4b297..705f1a1f617dbbfab76fb16c6cc335523aca9785 100644 |
--- a/gdb/exceptions.h |
+++ b/gdb/exceptions.h |
@@ -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-2013 Free Software Foundation, Inc. |
This file is part of GDB. |
@@ -38,10 +38,13 @@ enum return_reason |
}; |
#define RETURN_MASK(reason) (1 << (int)(-reason)) |
-#define RETURN_MASK_QUIT RETURN_MASK (RETURN_QUIT) |
-#define RETURN_MASK_ERROR RETURN_MASK (RETURN_ERROR) |
-#define RETURN_MASK_ALL (RETURN_MASK_QUIT | RETURN_MASK_ERROR) |
-typedef int return_mask; |
+ |
+typedef enum |
+{ |
+ RETURN_MASK_QUIT = RETURN_MASK (RETURN_QUIT), |
+ RETURN_MASK_ERROR = RETURN_MASK (RETURN_ERROR), |
+ RETURN_MASK_ALL = (RETURN_MASK_QUIT | RETURN_MASK_ERROR) |
+} return_mask; |
/* Describe all exceptions. */ |
@@ -83,9 +86,20 @@ enum errors { |
traceframe. */ |
NOT_AVAILABLE_ERROR, |
+ /* Value was optimized out. Note: if the value was a register, this |
+ means the register was not saved in the frame. */ |
+ OPTIMIZED_OUT_ERROR, |
+ |
/* DW_OP_GNU_entry_value resolving failed. */ |
NO_ENTRY_VALUE_ERROR, |
+ /* Target throwing an error has been closed. Current command should be |
+ aborted as the inferior state is no longer valid. */ |
+ TARGET_CLOSE_ERROR, |
+ |
+ /* An undefined command was executed. */ |
+ UNDEFINED_COMMAND_ERROR, |
+ |
/* Add more errors here. */ |
NR_ERRORS |
}; |
@@ -182,11 +196,6 @@ extern void throw_vfatal (const char *fmt, va_list ap) |
extern void throw_error (enum errors error, const char *fmt, ...) |
ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 3); |
-/* Instead of deprecated_throw_reason, code should use |
- throw_exception. */ |
-extern void deprecated_throw_reason (enum return_reason reason) |
- ATTRIBUTE_NORETURN; |
- |
/* Call FUNC(UIOUT, FUNC_ARGS) but wrapped within an exception |
handler. If an exception (enum return_reason) is thrown using |
throw_exception() than all cleanups installed since |
@@ -251,6 +260,12 @@ extern int catch_errors (catch_errors_ftype *, void *, char *, return_mask); |
typedef void (catch_command_errors_ftype) (char *, int); |
extern int catch_command_errors (catch_command_errors_ftype *func, |
- char *command, int from_tty, return_mask); |
+ char *arg, int from_tty, return_mask); |
+ |
+/* Like catch_command_errors, but works with const command and args. */ |
+ |
+typedef void (catch_command_errors_const_ftype) (const char *, int); |
+extern int catch_command_errors_const (catch_command_errors_const_ftype *func, |
+ const char *arg, int from_tty, return_mask); |
#endif |