summaryrefslogtreecommitdiff
path: root/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'bridges/source/cpp_uno/gcc3_linux_intel/except.cxx')
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_intel/except.cxx11
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 )