diff options
-rw-r--r-- | bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx b/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx index 3147d6d7541f..62b0cb1e8f2f 100644 --- a/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx +++ b/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx @@ -54,6 +54,8 @@ using namespace ::__cxxabiv1; namespace CPPU_CURRENT_NAMESPACE { +#ifndef _LIBCPP_VERSION + #if MACOSX_SDK_VERSION >= 1070 // MacOSX10.4u.sdk/usr/include/c++/4.0.0/cxxabi.h defined @@ -103,6 +105,8 @@ std::type_info * create_FAKE_si_class_type_info( #endif +#endif + //================================================================================================== static OUString toUNOname( char const * p ) SAL_THROW(()) { @@ -217,6 +221,7 @@ type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THR t_rtti_map::const_iterator iFind2( m_generatedRttis.find( unoName ) ); if (iFind2 == m_generatedRttis.end()) { +#ifndef _LIBCPP_VERSION // we must generate it ! // symbol and rtti-name is nearly identical, // the symbol is prefixed with _ZTI @@ -250,6 +255,10 @@ type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THR pair< t_rtti_map::iterator, bool > insertion ( m_generatedRttis.insert( t_rtti_map::value_type( unoName, rtti ) ) ); SAL_WARN_IF( !insertion.second, "bridges", "key " << unoName << " already in generated rtti map" ); +#else + OSL_FAIL("Cannot generate type_infos with libc++, sigh"); + return NULL; +#endif } else // taking already generated rtti { |