diff options
Diffstat (limited to 'bridges/source/cpp_uno/gcc3_linux_intel/except.cxx')
-rw-r--r-- | bridges/source/cpp_uno/gcc3_linux_intel/except.cxx | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx b/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx index c21df26411c0..6515b8f0758e 100644 --- a/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx @@ -33,6 +33,9 @@ #include <boost/unordered_map.hpp> #include <cxxabi.h> +#ifndef _GLIBCXX_CDTOR_CALLABI // new in GCC 4.7 cxxabi.h +#define _GLIBCXX_CDTOR_CALLABI +#endif #include <rtl/instance.hxx> #include <rtl/strbuf.hxx> @@ -57,10 +60,6 @@ using namespace ::__cxxabiv1; namespace CPPU_CURRENT_NAMESPACE { -void dummy_can_throw_anything( char const * ) -{ -} - //================================================================================================== static OUString toUNOname( char const * p ) SAL_THROW(()) { @@ -217,7 +216,8 @@ type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THR struct RTTISingleton: public rtl::Static< RTTI, RTTISingleton > {}; //-------------------------------------------------------------------------------------------------- -static void deleteException( void * pExc ) +extern "C" { +static void _GLIBCXX_CDTOR_CALLABI deleteException( void * pExc ) { __cxa_exception const * header = ((__cxa_exception const *)pExc - 1); typelib_TypeDescription * pTD = 0; @@ -230,6 +230,7 @@ static void deleteException( void * pExc ) ::typelib_typedescription_release( pTD ); } } +} //================================================================================================== void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) |