You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
939 B

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#include "cxa_default_handlers.cpp"
#include "cxa_exception_storage.cpp"
#include "cxa_guard.cpp"
#include "cxa_handlers.cpp"
#include "llair_intrinsics.h"
#ifdef EXCEPTIONS
#include "cxa_exception.cpp"
#endif
extern "C" {
void abort_message(const char* format, ...) { abort(); }
#ifndef EXCEPTIONS
__attribute__((noreturn)) void __llair_throw(void* thrown_exception) {
__llair_unreachable();
}
void* __cxa_allocate_exception(size_t thrown_size) throw() {
__llair_unreachable();
}
#else
__attribute__((always_inline)) _Unwind_Reason_Code
_Unwind_RaiseException(_Unwind_Exception* unwind_exception) {
__llair_throw(thrown_object_from_cxa_exception(
abi::cxa_exception_from_exception_unwind_exception(unwind_exception)));
}
#endif
}