diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-07-19 15:12:55 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-07-19 22:33:34 +0100 |
commit | f5792667cafef77cc4c142f4261f8b64280bc0fe (patch) | |
tree | 7c3cf285236ea7d3bd464841a4aa651a0bbab3f0 /bridges/source/cpp_uno/gcc3_linux_intel/share.hxx | |
parent | 1fe71ce42ed6977885a3253639bbc3f0881a47e7 (diff) |
hack for now
Change-Id: I62673e60ac8785c74fc4f97ad76bcb02c7e28941
Diffstat (limited to 'bridges/source/cpp_uno/gcc3_linux_intel/share.hxx')
-rw-r--r-- | bridges/source/cpp_uno/gcc3_linux_intel/share.hxx | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx b/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx index f97e81e419eb..512ae6db2c03 100644 --- a/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx +++ b/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx @@ -27,9 +27,8 @@ #ifndef _GLIBCXX_CDTOR_CALLABI // new in GCC 4.7 cxxabi.h #define _GLIBCXX_CDTOR_CALLABI #endif -#include <unwind.h> -#include "config_cxxabi.h" +#include "config_gcc.h" #include <uno/any2.h> #include "uno/mapping.h" @@ -38,7 +37,15 @@ namespace CPPU_CURRENT_NAMESPACE void dummy_can_throw_anything( char const * ); -// ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h +// ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h + +struct _Unwind_Exception +{ + unsigned exception_class __attribute__((__mode__(__DI__))); + void * exception_cleanup; + unsigned private_1 __attribute__((__mode__(__word__))); + unsigned private_2 __attribute__((__mode__(__word__))); +} __attribute__((__aligned__)); struct __cxa_exception { @@ -80,17 +87,17 @@ struct __cxa_eh_globals // __cxa_allocate_exception and __cxa_throw, though they do not have the // additional problem of an incompletely declared return type: -#if !HAVE_CXXABI_H_CXA_GET_GLOBALS +#if !HAVE_GCC_CXXABI_H_CXA_GET_GLOBALS namespace __cxxabiv1 { extern "C" void * __cxa_get_globals() throw(); } #endif -#if !HAVE_CXXABI_H_CXA_ALLOCATE_EXCEPTION +#if !HAVE_GCC_CXXABI_H_CXA_ALLOCATE_EXCEPTION namespace __cxxabiv1 { extern "C" void * __cxa_allocate_exception(std::size_t thrown_size) throw(); } #endif -#if !HAVE_CXXABI_H_CXA_THROW +#if !HAVE_GCC_CXXABI_H_CXA_THROW namespace __cxxabiv1 { extern "C" void __cxa_throw( void * thrown_exception, void * tinfo, void (* dest)(void *)) |