From 3d63d0c14b1c86f22f73a80e42b84e0256fdf818 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Fri, 26 Feb 2016 08:05:38 +0100 Subject: Adapt __cxxabiv1 for libc++abi ...where it has an additional nonstandard member, at least on Linux x86-64. Not sure whether #if defined _LIBCPPABI_VERSION is the best way to distinguish libc++abi from other C++ runtimes, but #define _LIBCPPABI_VERSION 1002 is what it has in its cxxabi.h. Change-Id: I9edbca27aa2bedbc5b2e996fd5ffcfc2e8eb42d9 --- bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'bridges') diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx index 52598629245b..0c9e2c5e0a88 100644 --- a/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx +++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx @@ -55,9 +55,15 @@ namespace __cxxabiv1 #endif #if !HAVE_CXXABI_H_CXA_EH_GLOBALS -// : +// , +// libcxxabi/src/cxa_exception.hpp: namespace __cxxabiv1 { struct __cxa_exception { +#if defined _LIBCPPABI_VERSION // detect libc++abi +#if defined __LP64__ || LIBCXXABI_ARM_EHABI + std::size_t referenceCount; +#endif +#endif std::type_info * exceptionType; void (* exceptionDestructor)(void *); std::unexpected_handler unexpectedHandler; -- cgit