diff options
author | Jan Hubicka <jh@suse.cz> | 2009-04-19 00:18:21 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2009-04-18 22:18:21 +0000 |
commit | 5cf217fff1128005fb24e95ffa0b72c844af3d37 (patch) | |
tree | bbad215524bee16dc90ee4efb9a8fbee20c6358d /libstdc++-v3/libsupc++ | |
parent | 5d51b87af49e8a1862c2e6c2cb9fd0a434a3e28f (diff) | |
download | gcc-5cf217fff1128005fb24e95ffa0b72c844af3d37.tar.gz |
* eh_type.cc (__cxa_current_exception_type) Mark throw().
* unwind-cxx.h (__cxa_get_globals, __cxa_get_globals_fast): Mark const.
(__cxa_get_exception_ptr): Mark pure.
(__cxa_bad_cast, __cxa_bad_typeid): Mark noreturn
(__terminate): Makr throw ().
* exception (terminate): Mark throw().
(uncaught_exception): Mark pure.
* eh_ptr.cc (_M_safe_bool_dummy): Mark throw().
* guard.cc (__cxa_guard_abort, __cxa_guard_release): Mark throw().
* eh_terminate.cc (__terminate, terminate): Mark throw().
* vec.cc (__cxa_vec_cleanup): Mark throw().
* cxxabi.h (__cxa_vec_cleanup, __cxa_guard_release, __cxa_guard_abort): Mark throw ().
(__cxa_pure_virtual): Mark noreturn.
(__cxa_current_exception_type): Mark throw and pure.
* exception_ptr.h (operator ==, !=, _M_get, !, ==,
__cxa_exception_type): Mark pure.
(_M_safe_bool_dummy): Mark pure and const.
From-SVN: r146331
Diffstat (limited to 'libstdc++-v3/libsupc++')
-rw-r--r-- | libstdc++-v3/libsupc++/cxxabi.h | 12 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/eh_ptr.cc | 2 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/eh_terminate.cc | 4 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/eh_type.cc | 2 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/exception | 4 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/exception_ptr.h | 14 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/guard.cc | 4 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/unwind-cxx.h | 12 | ||||
-rw-r--r-- | libstdc++-v3/libsupc++/vec.cc | 2 |
9 files changed, 28 insertions, 28 deletions
diff --git a/libstdc++-v3/libsupc++/cxxabi.h b/libstdc++-v3/libsupc++/cxxabi.h index bfdd8e5896d..834e434e1e1 100644 --- a/libstdc++-v3/libsupc++/cxxabi.h +++ b/libstdc++-v3/libsupc++/cxxabi.h @@ -100,7 +100,7 @@ namespace __cxxabiv1 void __cxa_vec_cleanup(void* __array_address, size_t __element_count, - size_t __element_size, __cxa_cdtor_type destructor); + size_t __element_size, __cxa_cdtor_type destructor) _GLIBCXX_NOTHROW; // Destruct and release array. void @@ -121,14 +121,14 @@ namespace __cxxabiv1 __cxa_guard_acquire(__guard*); void - __cxa_guard_release(__guard*); + __cxa_guard_release(__guard*) _GLIBCXX_NOTHROW; void - __cxa_guard_abort(__guard*); + __cxa_guard_abort(__guard*) _GLIBCXX_NOTHROW; // Pure virtual functions. void - __cxa_pure_virtual(void); + __cxa_pure_virtual(void) __attribute__ ((__noreturn__)); // Exception handling. void @@ -567,13 +567,13 @@ namespace __cxxabiv1 // Returns the type_info for the currently handled exception [15.3/8], or // null if there is none. extern "C" std::type_info* - __cxa_current_exception_type(); + __cxa_current_exception_type() _GLIBCXX_NOTHROW __attribute__ ((__pure__)); // A magic placeholder class that can be caught by reference // to recognize foreign exceptions. class __foreign_exception { - virtual ~__foreign_exception() throw(); + virtual ~__foreign_exception() _GLIBCXX_NOTHROW; virtual void __pure_dummy() = 0; // prevent catch by value }; diff --git a/libstdc++-v3/libsupc++/eh_ptr.cc b/libstdc++-v3/libsupc++/eh_ptr.cc index 769273f3a61..bbe5f8f13f9 100644 --- a/libstdc++-v3/libsupc++/eh_ptr.cc +++ b/libstdc++-v3/libsupc++/eh_ptr.cc @@ -113,7 +113,7 @@ std::__exception_ptr::exception_ptr::_M_get() const throw() void -std::__exception_ptr::exception_ptr::_M_safe_bool_dummy() +std::__exception_ptr::exception_ptr::_M_safe_bool_dummy() throw () { } diff --git a/libstdc++-v3/libsupc++/eh_terminate.cc b/libstdc++-v3/libsupc++/eh_terminate.cc index d0c8461006f..e03c037412a 100644 --- a/libstdc++-v3/libsupc++/eh_terminate.cc +++ b/libstdc++-v3/libsupc++/eh_terminate.cc @@ -32,7 +32,7 @@ using namespace __cxxabiv1; void -__cxxabiv1::__terminate (std::terminate_handler handler) +__cxxabiv1::__terminate (std::terminate_handler handler) throw () { try { handler (); @@ -43,7 +43,7 @@ __cxxabiv1::__terminate (std::terminate_handler handler) } void -std::terminate () +std::terminate () throw() { __terminate (__terminate_handler); } diff --git a/libstdc++-v3/libsupc++/eh_type.cc b/libstdc++-v3/libsupc++/eh_type.cc index f0277d401d7..bb8be0b752e 100644 --- a/libstdc++-v3/libsupc++/eh_type.cc +++ b/libstdc++-v3/libsupc++/eh_type.cc @@ -33,7 +33,7 @@ namespace __cxxabiv1 // Returns the type_info for the currently handled exception [15.3/8], or // null if there is none. extern "C" -std::type_info *__cxa_current_exception_type () +std::type_info *__cxa_current_exception_type () throw() { __cxa_eh_globals *globals = __cxa_get_globals (); __cxa_exception *header = globals->caughtExceptions; diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception index 7fa929b6adf..c8b334fe945 100644 --- a/libstdc++-v3/libsupc++/exception +++ b/libstdc++-v3/libsupc++/exception @@ -93,7 +93,7 @@ namespace std /** 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__)); + void terminate() throw() __attribute__ ((__noreturn__)); /// Takes a new handler function as an argument, returns the old function. unexpected_handler set_unexpected(unexpected_handler) throw(); @@ -112,7 +112,7 @@ namespace std * 2: "When @c uncaught_exception() is true, throwing an %exception can * result in a call of @c terminate() (15.5.1)." */ - bool uncaught_exception() throw(); + bool uncaught_exception() throw() __attribute__ ((__pure__)); // @} group exceptions } // namespace std diff --git a/libstdc++-v3/libsupc++/exception_ptr.h b/libstdc++-v3/libsupc++/exception_ptr.h index 3c44ff113fb..56997221f25 100644 --- a/libstdc++-v3/libsupc++/exception_ptr.h +++ b/libstdc++-v3/libsupc++/exception_ptr.h @@ -77,10 +77,10 @@ namespace std namespace __exception_ptr { bool - operator==(const exception_ptr&, const exception_ptr&) throw(); + operator==(const exception_ptr&, const exception_ptr&) throw() __attribute__ ((__pure__)); bool - operator!=(const exception_ptr&, const exception_ptr&) throw(); + operator!=(const exception_ptr&, const exception_ptr&) throw() __attribute__ ((__pure__)); class exception_ptr { @@ -91,9 +91,9 @@ namespace std void _M_addref() throw(); void _M_release() throw(); - void *_M_get() const throw(); + void *_M_get() const throw() __attribute__ ((__pure__)); - void _M_safe_bool_dummy(); + void _M_safe_bool_dummy() throw() __attribute__ ((__const__)); friend exception_ptr std::current_exception() throw(); friend void std::rethrow_exception(exception_ptr); @@ -141,14 +141,14 @@ namespace std } #endif - bool operator!() const throw(); + bool operator!() const throw() __attribute__ ((__pure__)); operator __safe_bool() const throw(); friend bool - operator==(const exception_ptr&, const exception_ptr&) throw(); + operator==(const exception_ptr&, const exception_ptr&) throw() __attribute__ ((__pure__)); const type_info* - __cxa_exception_type() const throw(); + __cxa_exception_type() const throw() __attribute__ ((__pure__)); }; } // namespace __exception_ptr diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc index 10f909215c1..dace046e544 100644 --- a/libstdc++-v3/libsupc++/guard.cc +++ b/libstdc++-v3/libsupc++/guard.cc @@ -330,7 +330,7 @@ namespace __cxxabiv1 } extern "C" - void __cxa_guard_abort (__guard *g) + void __cxa_guard_abort (__guard *g) throw () { #ifdef _GLIBCXX_USE_FUTEX // If __sync_* and futex syscall are supported, don't use any global @@ -369,7 +369,7 @@ namespace __cxxabiv1 } extern "C" - void __cxa_guard_release (__guard *g) + void __cxa_guard_release (__guard *g) throw () { #ifdef _GLIBCXX_USE_FUTEX // If __sync_* and futex syscall are supported, don't use any global diff --git a/libstdc++-v3/libsupc++/unwind-cxx.h b/libstdc++-v3/libsupc++/unwind-cxx.h index 984dd677342..e4918b211bf 100644 --- a/libstdc++-v3/libsupc++/unwind-cxx.h +++ b/libstdc++-v3/libsupc++/unwind-cxx.h @@ -148,8 +148,8 @@ struct __cxa_eh_globals // either of the following functions. The "fast" version assumes at least // one prior call of __cxa_get_globals has been made from the current // thread, so no initialization is necessary. -extern "C" __cxa_eh_globals *__cxa_get_globals () throw(); -extern "C" __cxa_eh_globals *__cxa_get_globals_fast () throw(); +extern "C" __cxa_eh_globals *__cxa_get_globals () throw() __attribute__ ((__const__)); +extern "C" __cxa_eh_globals *__cxa_get_globals_fast () throw() __attribute__ ((__const__)); // Allocate memory for the primary exception plus the thrown object. extern "C" void *__cxa_allocate_exception(std::size_t thrown_size) throw(); @@ -172,14 +172,14 @@ extern "C" void __cxa_throw (void *thrown_exception, __attribute__((noreturn)); // Used to implement exception handlers. -extern "C" void *__cxa_get_exception_ptr (void *) throw(); +extern "C" void *__cxa_get_exception_ptr (void *) throw() __attribute__ ((__pure__)); extern "C" void *__cxa_begin_catch (void *) throw(); extern "C" void __cxa_end_catch (); extern "C" void __cxa_rethrow () __attribute__((noreturn)); // These facilitate code generation for recurring situations. -extern "C" void __cxa_bad_cast (); -extern "C" void __cxa_bad_typeid (); +extern "C" void __cxa_bad_cast () __attribute__((__noreturn__)); +extern "C" void __cxa_bad_typeid () __attribute__((__noreturn__)); // @@@ These are not directly specified by the IA-64 C++ ABI. @@ -204,7 +204,7 @@ extern "C" void __cxa_end_cleanup (void); // Invokes given handler, dying appropriately if the user handler was // so inconsiderate as to return. -extern void __terminate(std::terminate_handler) __attribute__((noreturn)); +extern void __terminate(std::terminate_handler) throw () __attribute__((__noreturn__)); extern void __unexpected(std::unexpected_handler) __attribute__((noreturn)); // The current installed user handlers. diff --git a/libstdc++-v3/libsupc++/vec.cc b/libstdc++-v3/libsupc++/vec.cc index 886e6fc99c8..f1322896d0b 100644 --- a/libstdc++-v3/libsupc++/vec.cc +++ b/libstdc++-v3/libsupc++/vec.cc @@ -248,7 +248,7 @@ namespace __cxxabiv1 __cxa_vec_cleanup(void *array_address, std::size_t element_count, std::size_t element_size, - __cxa_cdtor_type destructor) + __cxa_cdtor_type destructor) throw() { if (destructor) { |