Skip to content

Commit

Permalink
Tentatively apply libcxxrt/libcxxrt#27.
Browse files Browse the repository at this point in the history
  • Loading branch information
DimitryAndric committed Feb 9, 2024
1 parent a0cf20a commit 2ed68de
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
6 changes: 3 additions & 3 deletions contrib/libcxxrt/cxxabi.h
Original file line number Diff line number Diff line change
Expand Up @@ -204,12 +204,12 @@ __cxa_eh_globals *__cxa_get_globals_fast(void);
std::type_info * __cxa_current_exception_type();


void *__cxa_allocate_exception(size_t thrown_size);
void *__cxa_allocate_exception(size_t thrown_size) throw();

void __cxa_free_exception(void* thrown_exception);
void __cxa_free_exception(void* thrown_exception) throw();

__cxa_exception *__cxa_init_primary_exception(
void *object, std::type_info* tinfo, void (*dest)(void *));
void *object, std::type_info* tinfo, void (*dest)(void *)) throw();

/**
* Throws an exception returned by __cxa_current_primary_exception(). This
Expand Down
8 changes: 4 additions & 4 deletions contrib/libcxxrt/exception.cc
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ static inline _Unwind_Reason_Code continueUnwinding(struct _Unwind_Exception *ex
}


extern "C" void __cxa_free_exception(void *thrown_exception);
extern "C" void __cxa_free_exception(void *thrown_exception) throw();
extern "C" void __cxa_free_dependent_exception(void *thrown_exception);
extern "C" void* __dynamic_cast(const void *sub,
const __class_type_info *src,
Expand Down Expand Up @@ -611,7 +611,7 @@ static void free_exception(char *e)
* emergency buffer if malloc() fails, and may block if there are no such
* buffers available.
*/
extern "C" void *__cxa_allocate_exception(size_t thrown_size)
extern "C" void *__cxa_allocate_exception(size_t thrown_size) throw()
{
size_t size = thrown_size + sizeof(__cxa_exception);
char *buffer = alloc_or_die(size);
Expand All @@ -633,7 +633,7 @@ extern "C" void *__cxa_allocate_dependent_exception(void)
* In this implementation, it is also called by __cxa_end_catch() and during
* thread cleanup.
*/
extern "C" void __cxa_free_exception(void *thrown_exception)
extern "C" void __cxa_free_exception(void *thrown_exception) throw()
{
__cxa_exception *ex = reinterpret_cast<__cxa_exception*>(thrown_exception) - 1;
// Free the object that was thrown, calling its destructor
Expand Down Expand Up @@ -794,7 +794,7 @@ static void throw_exception(__cxa_exception *ex)
}

extern "C" __cxa_exception *__cxa_init_primary_exception(
void *object, std::type_info* tinfo, void (*dest)(void *)) {
void *object, std::type_info* tinfo, void (*dest)(void *)) throw() {
__cxa_exception *ex = reinterpret_cast<__cxa_exception*>(object) - 1;

ex->referenceCount = 0;
Expand Down

0 comments on commit 2ed68de

Please sign in to comment.