diff options
| author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-26 11:01:15 +0000 |
|---|---|---|
| committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-26 11:01:15 +0000 |
| commit | 50e126daf85b76465ea2baa9cfabb809bcba4ab3 (patch) | |
| tree | c08f612197e36b298606bc1f8799f4950b34b0ad /libstdc++-v3/libsupc++/exception | |
| parent | 4eb7a440df01088f2e021f01ea051c1cf72c33cd (diff) | |
| download | ppe42-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++/exception | 6 |
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__)); |

