summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2012-01-24 23:42:30 +0000
committerHoward Hinnant <hhinnant@apple.com>2012-01-24 23:42:30 +0000
commitf81cdffb22a1f20a3adadccbaba60513aa29cb0d (patch)
tree319b22e34458e486ca6169f31cf13bc6faf1b990 /include
parent00cc7d2c79c179b54893ad215679bfae904578f5 (diff)
By changing all of the throw() specs to noexcept I've been able to compile and link all of the source files into a dylib. Prior to this substitution the changed functions were calling __cxa_call_unexpected which isn't implemented yet. However in none of these cases do we actaully want __cxa_call_unexpected to be called. Primative buildit script added.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148880 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/cxxabi.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/include/cxxabi.h b/include/cxxabi.h
index 6d04555..f753a32 100644
--- a/include/cxxabi.h
+++ b/include/cxxabi.h
@@ -33,16 +33,16 @@ namespace __cxxabiv1 {
extern "C" {
// 2.4.2 Allocating the Exception Object
-extern void * __cxa_allocate_exception(size_t thrown_size) throw();
-extern void __cxa_free_exception(void * thrown_exception) throw();
+extern void * __cxa_allocate_exception(size_t thrown_size) noexcept;
+extern void __cxa_free_exception(void * thrown_exception) noexcept;
// 2.4.3 Throwing the Exception Object
extern LIBCXXABI_NORETURN void __cxa_throw(void * thrown_exception,
std::type_info * tinfo, void (*dest)(void *));
// 2.5.3 Exception Handlers
-extern void * __cxa_get_exception_ptr(void * exceptionObject) throw();
-extern void * __cxa_begin_catch(void * exceptionObject) throw();
+extern void * __cxa_get_exception_ptr(void * exceptionObject) noexcept;
+extern void * __cxa_begin_catch(void * exceptionObject) noexcept;
extern void __cxa_end_catch();
extern std::type_info * __cxa_current_exception_type();
@@ -157,13 +157,13 @@ extern char* __cxa_demangle(const char* mangled_name,
// Apple additions to support C++ 0x exception_ptr class
// These are primitives to wrap a smart pointer around an exception object
-extern void * __cxa_current_primary_exception() throw();
+extern void * __cxa_current_primary_exception() noexcept;
extern void __cxa_rethrow_primary_exception(void* primary_exception);
-extern void __cxa_increment_exception_refcount(void* primary_exception) throw();
-extern void __cxa_decrement_exception_refcount(void* primary_exception) throw();
+extern void __cxa_increment_exception_refcount(void* primary_exception) noexcept;
+extern void __cxa_decrement_exception_refcount(void* primary_exception) noexcept;
// Apple addition to support std::uncaught_exception()
-extern bool __cxa_uncaught_exception() throw();
+extern bool __cxa_uncaught_exception() noexcept;
} // extern "C"
} // namespace __cxxabiv1