@@ -43,16 +43,16 @@ extern "C" {
43
43
44
44
// 2.4.2 Allocating the Exception Object
45
45
extern _LIBCXXABI_FUNC_VIS void *
46
- __cxa_allocate_exception (size_t thrown_size) throw() ;
46
+ __cxa_allocate_exception (size_t thrown_size) _LIBCXXABI_NOEXCEPT ;
47
47
extern _LIBCXXABI_FUNC_VIS void
48
- __cxa_free_exception (void *thrown_exception) throw() ;
48
+ __cxa_free_exception (void *thrown_exception) _LIBCXXABI_NOEXCEPT ;
49
49
// This function is an LLVM extension, which mirrors the same extension in libsupc++ and libcxxrt
50
50
extern _LIBCXXABI_FUNC_VIS __cxa_exception*
51
51
#ifdef __wasm__
52
52
// In Wasm, a destructor returns its argument
53
- __cxa_init_primary_exception (void * object, std::type_info* tinfo, void *(_LIBCXXABI_DTOR_FUNC* dest)(void *)) throw() ;
53
+ __cxa_init_primary_exception (void * object, std::type_info* tinfo, void *(_LIBCXXABI_DTOR_FUNC* dest)(void *)) _LIBCXXABI_NOEXCEPT ;
54
54
#else
55
- __cxa_init_primary_exception (void * object, std::type_info* tinfo, void (_LIBCXXABI_DTOR_FUNC* dest)(void *)) throw() ;
55
+ __cxa_init_primary_exception (void * object, std::type_info* tinfo, void (_LIBCXXABI_DTOR_FUNC* dest)(void *)) _LIBCXXABI_NOEXCEPT ;
56
56
#endif
57
57
58
58
// 2.4.3 Throwing the Exception Object
@@ -66,21 +66,21 @@ __cxa_throw(void *thrown_exception, std::type_info *tinfo,
66
66
67
67
// 2.5.3 Exception Handlers
68
68
extern _LIBCXXABI_FUNC_VIS void *
69
- __cxa_get_exception_ptr (void *exceptionObject) throw() ;
69
+ __cxa_get_exception_ptr (void *exceptionObject) _LIBCXXABI_NOEXCEPT ;
70
70
extern _LIBCXXABI_FUNC_VIS void *
71
- __cxa_begin_catch (void *exceptionObject) throw() ;
71
+ __cxa_begin_catch (void *exceptionObject) _LIBCXXABI_NOEXCEPT ;
72
72
extern _LIBCXXABI_FUNC_VIS void __cxa_end_catch ();
73
73
#if defined(_LIBCXXABI_ARM_EHABI)
74
74
extern _LIBCXXABI_FUNC_VIS bool
75
- __cxa_begin_cleanup (void *exceptionObject) throw() ;
75
+ __cxa_begin_cleanup (void *exceptionObject) _LIBCXXABI_NOEXCEPT ;
76
76
extern _LIBCXXABI_FUNC_VIS void __cxa_end_cleanup ();
77
77
#endif
78
78
extern _LIBCXXABI_FUNC_VIS std::type_info *__cxa_current_exception_type ();
79
79
80
80
// GNU extension
81
81
// Calls `terminate` with the current exception being caught. This function is used by GCC when a `noexcept` function
82
82
// throws an exception inside a try/catch block and doesn't catch it.
83
- extern _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_call_terminate (void *) throw() ;
83
+ extern _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_call_terminate (void *) _LIBCXXABI_NOEXCEPT ;
84
84
85
85
// 2.5.4 Rethrowing Exceptions
86
86
extern _LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_rethrow ();
@@ -168,23 +168,23 @@ extern _LIBCXXABI_FUNC_VIS char *__cxa_demangle(const char *mangled_name,
168
168
169
169
// Apple additions to support C++ 0x exception_ptr class
170
170
// These are primitives to wrap a smart pointer around an exception object
171
- extern _LIBCXXABI_FUNC_VIS void *__cxa_current_primary_exception () throw() ;
171
+ extern _LIBCXXABI_FUNC_VIS void *__cxa_current_primary_exception () _LIBCXXABI_NOEXCEPT ;
172
172
extern _LIBCXXABI_FUNC_VIS void
173
173
__cxa_rethrow_primary_exception (void *primary_exception);
174
174
extern _LIBCXXABI_FUNC_VIS void
175
- __cxa_increment_exception_refcount (void *primary_exception) throw() ;
175
+ __cxa_increment_exception_refcount (void *primary_exception) _LIBCXXABI_NOEXCEPT ;
176
176
extern _LIBCXXABI_FUNC_VIS void
177
- __cxa_decrement_exception_refcount (void *primary_exception) throw() ;
177
+ __cxa_decrement_exception_refcount (void *primary_exception) _LIBCXXABI_NOEXCEPT ;
178
178
179
179
// Apple extension to support std::uncaught_exception()
180
- extern _LIBCXXABI_FUNC_VIS bool __cxa_uncaught_exception () throw() ;
181
- extern _LIBCXXABI_FUNC_VIS unsigned int __cxa_uncaught_exceptions () throw() ;
180
+ extern _LIBCXXABI_FUNC_VIS bool __cxa_uncaught_exception () _LIBCXXABI_NOEXCEPT ;
181
+ extern _LIBCXXABI_FUNC_VIS unsigned int __cxa_uncaught_exceptions () _LIBCXXABI_NOEXCEPT ;
182
182
183
183
#if defined(__linux__) || defined(__Fuchsia__)
184
184
// Linux and Fuchsia TLS support. Not yet an official part of the Itanium ABI.
185
185
// https://sourceware.org/glibc/wiki/Destructor%20support%20for%20thread_local%20variables
186
186
extern _LIBCXXABI_FUNC_VIS int __cxa_thread_atexit (void (*)(void *), void *,
187
- void *) throw() ;
187
+ void *) _LIBCXXABI_NOEXCEPT ;
188
188
#endif
189
189
190
190
} // extern "C"
0 commit comments