X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2Flibc%2B%2Babi%2Ftrunk%2Finclude%2Fcxxabi.h;h=867ba72940fa17778f761fbf8fcb8b62be7d0594;hb=3545e9f2671f595d2a2f3ee75ca0393b01e35ef6;hp=66ef6d46a2a5964989af0d88a143a260f90f6d6e;hpb=7d210d4c7e9ba36e635eabc5b5780495f8a63292;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/libc++abi/trunk/include/cxxabi.h b/src/third_party/libc++abi/trunk/include/cxxabi.h index 66ef6d4..867ba72 100644 --- a/src/third_party/libc++abi/trunk/include/cxxabi.h +++ b/src/third_party/libc++abi/trunk/include/cxxabi.h @@ -21,6 +21,14 @@ #define _LIBCPPABI_VERSION 1001 #define LIBCXXABI_NORETURN __attribute__((noreturn)) +// FIXME: This is also in unwind.h and libunwind.h, can we consolidate? +#if !defined(__USING_SJLJ_EXCEPTIONS__) && defined(__arm__) && \ + !defined(__ARM_DWARF_EH__) && !defined(__APPLE__) +#define LIBCXXABI_ARM_EHABI 1 +#else +#define LIBCXXABI_ARM_EHABI 0 +#endif + #ifdef __cplusplus namespace std { @@ -44,6 +52,10 @@ extern LIBCXXABI_NORETURN void __cxa_throw(void * thrown_exception, extern void * __cxa_get_exception_ptr(void * exceptionObject) throw(); extern void * __cxa_begin_catch(void * exceptionObject) throw(); extern void __cxa_end_catch(); +#if LIBCXXABI_ARM_EHABI +extern bool __cxa_begin_cleanup(void * exceptionObject) throw(); +extern void __cxa_end_cleanup(); +#endif extern std::type_info * __cxa_current_exception_type(); // 2.5.4 Rethrowing Exceptions @@ -168,8 +180,8 @@ extern bool __cxa_uncaught_exception() throw(); } // extern "C" } // namespace __cxxabiv1 -#endif // __cplusplus - namespace abi = __cxxabiv1; +#endif // __cplusplus + #endif // __CXXABI_H