summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/libsupc++/exception
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-26 11:01:15 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-26 11:01:15 +0000
commit50e126daf85b76465ea2baa9cfabb809bcba4ab3 (patch)
treec08f612197e36b298606bc1f8799f4950b34b0ad /libstdc++-v3/libsupc++/exception
parent4eb7a440df01088f2e021f01ea051c1cf72c33cd (diff)
downloadppe42-gcc-50e126daf85b76465ea2baa9cfabb809bcba4ab3.tar.gz
ppe42-gcc-50e126daf85b76465ea2baa9cfabb809bcba4ab3.zip
2007-06-26 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/throw_allocator.h: Fixes for -fno-exceptions. * testsuite/util/testsuite_shared.cc: Same. * testsuite/util/io/illegal_input_error.hpp: Same. * testsuite/util/io/verified_cmd_line_input.cc: Same. * libsupc++/typeinfo (type_info): Correct comment formatting, clarify member access and public interface. * libsupc++/exception: Less compressed comments. * libsupc++/new: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126016 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/libsupc++/exception')
-rw-r--r--libstdc++-v3/libsupc++/exception6
1 files changed, 6 insertions, 0 deletions
diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception
index 2046300581c..a7e2db78dd1 100644
--- a/libstdc++-v3/libsupc++/exception
+++ b/libstdc++-v3/libsupc++/exception
@@ -58,6 +58,7 @@ namespace std
public:
exception() throw() { }
virtual ~exception() throw();
+
/** Returns a C-style character string describing the general cause
* of the current error. */
virtual const char* what() const throw();
@@ -69,26 +70,31 @@ namespace std
{
public:
bad_exception() throw() { }
+
// This declaration is not useless:
// http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118
virtual ~bad_exception() throw();
+
// See comment in eh_exception.cc.
virtual const char* what() const throw();
};
/// If you write a replacement %terminate handler, it must be of this type.
typedef void (*terminate_handler) ();
+
/// If you write a replacement %unexpected handler, it must be of this type.
typedef void (*unexpected_handler) ();
/// Takes a new handler function as an argument, returns the old function.
terminate_handler set_terminate(terminate_handler) throw();
+
/** The runtime will call this function if %exception handling must be
* abandoned for any reason. It can also be called by the user. */
void terminate() __attribute__ ((__noreturn__));
/// Takes a new handler function as an argument, returns the old function.
unexpected_handler set_unexpected(unexpected_handler) throw();
+
/** The runtime will call this function if an %exception is thrown which
* violates the function's %exception specification. */
void unexpected() __attribute__ ((__noreturn__));
OpenPOWER on IntegriCloud