aboutsummaryrefslogtreecommitdiff
path: root/gdb/utils.h
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2014-07-23 14:51:26 +0100
committerGary Benson <gbenson@redhat.com>2014-07-24 09:55:50 +0100
commit2c51604d3adbcc77a25d78ce900f5be4597c2504 (patch)
tree9040f7940bb0e9a8451115c45bb7e185a4a85b5a /gdb/utils.h
parent342119630e4612856017d03f2892f5a693d85d8e (diff)
downloadgdb-2c51604d3adbcc77a25d78ce900f5be4597c2504.zip
gdb-2c51604d3adbcc77a25d78ce900f5be4597c2504.tar.gz
gdb-2c51604d3adbcc77a25d78ce900f5be4597c2504.tar.bz2
Rationalize "fatal" error handling outside of gdbserver
GDB and gdbserver have functions named "fatal" that are used in completely different ways. In gdbserver "fatal" is used to handle critical errors: it differs from "error" in that "fatal" causes gdbserver to exit whereas "error" does not. In GDB "fatal" is used to abort the current operation and return to the command level. This is implemented by throwing a non-error "RETURN_QUIT" exception. This commit removes GDB's "fatal" and "vfatal" functions entirely. The exception-throwing function "throw_vfatal" is renamed as "throw_vquit", and a new convenience function "throw_quit" is added. The small number of calls to "fatal" are replaced with calls to "throw_quit", making what is happening more obvious. This commit also modifies GDB's "throw_error" to call "throw_verror" rather than calling "throw_it" directly. This change means the assignment of RETURN_ERROR as the exception type now happens in precisely one place in GDB rather than two. gdb/ 2014-07-24 Gary Benson <gbenson@redhat.com> * exceptions.h (throw_vfatal): Renamed to... (throw_vquit): New declaration. (throw_quit): Likewise. * exceptions.c (throw_vfatal): Renamed to... (throw_vquit): New function. (throw_quit): Likewise. (throw_error): Call throw_verror rather than throw_it. * utils.h (vfatal): Removed. (fatal): Likewise. * utils.c (vfatal): Removed. (fatal): Likewise. (internal_verror): Replaced call to fatal with call to throw_quit. (quit): Replaced calls to fatal with calls to throw_quit.
Diffstat (limited to 'gdb/utils.h')
-rw-r--r--gdb/utils.h6
1 files changed, 0 insertions, 6 deletions
diff --git a/gdb/utils.h b/gdb/utils.h
index a91f551..cc79562 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -291,12 +291,6 @@ extern void error (const char *fmt, ...)
extern void error_stream (struct ui_file *) ATTRIBUTE_NORETURN;
-extern void vfatal (const char *fmt, va_list ap)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0);
-
-extern void fatal (const char *fmt, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
-
extern void internal_verror (const char *file, int line, const char *,
va_list ap)
ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 0);