diff options
Diffstat (limited to 'editors/libreoffice/files/extra-patch-libc++')
-rw-r--r-- | editors/libreoffice/files/extra-patch-libc++ | 490 |
1 files changed, 0 insertions, 490 deletions
diff --git a/editors/libreoffice/files/extra-patch-libc++ b/editors/libreoffice/files/extra-patch-libc++ deleted file mode 100644 index 8c04fc1107cf..000000000000 --- a/editors/libreoffice/files/extra-patch-libc++ +++ /dev/null @@ -1,490 +0,0 @@ ---- configure.ac.orig 2013-08-13 16:11:48.000000000 -0400 -+++ configure.ac 2013-09-13 17:50:41.000000000 -0400 -@@ -5518,7 +5518,7 @@ - CPPFLAGS="-isysroot $MACOSX_SDK_PATH $CPPFLAGS" - fi - -- if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE"; then -+ if test "$HAVE_GCC_VISIBILITY_FEATURE" = "TRUE" -a "$COM_GCC_IS_CLANG" != "TRUE"; then - dnl gcc#19664, gcc#22482, rhbz#162935 - AC_MSG_CHECKING([if STL headers are visibility safe (GCC bug 22482)]) - AC_EGREP_HEADER(visibility push, string, stlvisok=yes, stlvisok=no) ---- binaryurp/source/cache.hxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ binaryurp/source/cache.hxx 2013-09-13 18:14:53.000000000 -0400 -@@ -25,6 +25,7 @@ - #include <cassert> - #include <cstddef> - #include <map> -+#include <list> - - #include "boost/noncopyable.hpp" - #include "sal/types.h" -@@ -37,88 +38,57 @@ - - } - --template< typename T > class Cache: private boost::noncopyable { -+template< typename T > class Cache : private boost::noncopyable { - public: -+ typedef sal_uInt16 IdxType; -+ - explicit Cache(std::size_t size): -- size_(size), first_(map_.end()), last_(map_.end()) -+ size_(size) - { - assert(size < cache::ignore); - } - -- sal_uInt16 add(T const & content, bool * found) { -- assert(found != 0); -- typename Map::iterator i(map_.find(content)); -- *found = i != map_.end(); -- if (i == map_.end()) { -- typename Map::size_type n = map_.size(); -- if (n < size_) { -- i = -- (map_.insert( -- typename Map::value_type( -- content, -- Entry( -- static_cast< sal_uInt16 >(n), map_.end(), -- first_)))). -- first; -- if (first_ == map_.end()) { -- last_ = i; -- } else { -- first_->second.prev = i; -- } -- first_ = i; -- } else if (last_ != map_.end()) { -- i = -- (map_.insert( -- typename Map::value_type( -- content, -- Entry(last_->second.index, map_.end(), first_)))). -- first; -- first_->second.prev = i; -- first_ = i; -- typename Map::iterator j(last_); -- last_ = last_->second.prev; -- last_->second.next = map_.end(); -- map_.erase(j); -- } else { -- // Reached iff size_ == 0: -- return cache::ignore; -- } -- } else if (i != first_) { -- // Move to front (reached only if size_ > 1): -- i->second.prev->second.next = i->second.next; -- if (i->second.next == map_.end()) { -- last_ = i->second.prev; -- } else { -- i->second.next->second.prev = i->second.prev; -- } -- i->second.prev = map_.end(); -- i->second.next = first_; -- first_->second.prev = i; -- first_ = i; -- } -- return i->second.index; -+ IdxType add( const T& rContent, bool* pbFound) { -+ assert( pbFound != NULL); -+ if( !size_) { -+ *pbFound = false; -+ return cache::ignore; -+ } -+ // try to insert into the map -+ list_.push_front( rContent); // create a temp entry -+ typedef std::pair<typename LruList::iterator, IdxType> MappedType; -+ typedef std::pair<typename LruItMap::iterator,bool> MapPair; -+ MapPair aMP = map_.insert( MappedType( list_.begin(), 0)); -+ *pbFound = !aMP.second; -+ -+ if( !aMP.second) { // insertion not needed => found the entry -+ list_.pop_front(); // remove the temp entry -+ list_.splice( list_.begin(), list_, aMP.first->first); // the found entry is moved to front -+ return aMP.first->second; -+ } -+ -+ // test insertion successful => it was new so we keep it -+ IdxType n = static_cast<IdxType>( map_.size() - 1); -+ if( n >= size_) { // cache full => replace the LRU entry -+ // find the least recently used element in the map -+ typename LruItMap::iterator it = map_.find( --list_.end()); -+ n = it->second; -+ map_.erase( it); // remove it from the map -+ list_.pop_back(); // remove from the list -+ } -+ aMP.first->second = n; -+ return n; - } - - private: -- struct Entry; -- -- typedef std::map< T, Entry > Map; -- -- struct Entry { -- sal_uInt16 index; -- typename Map::iterator prev; -- typename Map::iterator next; -- -- Entry( -- sal_uInt16 theIndex, typename Map::iterator thePrev, -- typename Map::iterator theNext): -- index(theIndex), prev(thePrev), next(theNext) {} -- }; -+ typedef std::list<T> LruList; // last recently used list -+ typedef typename LruList::iterator LruListIt; -+ struct CmpT{ bool operator()( const LruListIt& rA, const LruListIt& rB) const { return (*rA<*rB);}}; -+ typedef ::std::map< LruListIt, IdxType, CmpT > LruItMap; // a map into a LruList - - std::size_t size_; -- Map map_; -- typename Map::iterator first_; -- typename Map::iterator last_; -+ LruItMap map_; -+ LruList list_; - }; - - } ---- binaryurp/source/lessoperators.cxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ binaryurp/source/lessoperators.cxx 2013-09-13 18:15:58.000000000 -0400 -@@ -38,8 +38,30 @@ - typelib_TypeClass tc2 = right.get()->eTypeClass; - return tc1 < tc2 || - (tc1 == tc2 && -- (OUString(left.get()->pTypeName) < -- OUString(right.get()->pTypeName))); -+ (OUString::unacquired(&left.get()->pTypeName) < -+ OUString::unacquired(&right.get()->pTypeName))); -+} -+ -+bool TypeDescEqual::operator()( const TypeDescription& rLeft, const TypeDescription& rRight) const -+{ -+ assert( rLeft.is() && rRight.is()); -+ const typelib_TypeDescription& rA = *rLeft.get(); -+ const typelib_TypeDescription& rB = *rRight.get(); -+ if( rA.eTypeClass != rB.eTypeClass) -+ return false; -+ const sal_Int32 nCmp = rtl_ustr_compare_WithLength( -+ rA.pTypeName->buffer, rA.pTypeName->length, -+ rB.pTypeName->buffer, rB.pTypeName->length); -+ return (nCmp == 0); -+} -+ -+sal_Int32 TypeDescHash::operator()( const TypeDescription& rTD) const -+{ -+ assert( rTD.is()); -+ const typelib_TypeDescription& rA = *rTD.get(); -+ sal_Int32 h = rtl_ustr_hashCode_WithLength( rA.pTypeName->buffer, rA.pTypeName->length); -+ h ^= static_cast<sal_Int32>(rA.eTypeClass); -+ return h; - } - - } } } } -@@ -47,8 +69,8 @@ - namespace rtl { - - bool operator <(ByteSequence const & left, ByteSequence const & right) { -- for (sal_Int32 i = 0; i != std::min(left.getLength(), right.getLength()); -- ++i) -+ const sal_Int32 nLen = std::min( left.getLength(), right.getLength()); -+ for( sal_Int32 i = 0; i < nLen; ++i ) - { - if (left[i] < right[i]) { - return true; ---- binaryurp/source/lessoperators.hxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ binaryurp/source/lessoperators.hxx 2013-09-13 18:14:53.000000000 -0400 -@@ -31,6 +31,10 @@ - - bool operator <(TypeDescription const & left, TypeDescription const & right); - -+struct TypeDescHash { sal_Int32 operator()( const TypeDescription&) const; }; -+ -+struct TypeDescEqual { bool operator()( const TypeDescription&, const TypeDescription&) const; }; -+ - } } } } - - namespace rtl { ---- bridges/source/cpp_uno/gcc3_linux_intel/except.cxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ bridges/source/cpp_uno/gcc3_linux_intel/except.cxx 2013-09-18 13:06:42.000000000 -0400 -@@ -22,11 +22,6 @@ - #include <dlfcn.h> - #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/strbuf.hxx> - #include <rtl/ustrbuf.hxx> - #include <osl/diagnose.h> -@@ -248,7 +243,11 @@ - Reference< XInterface >() ); - } - -+#ifdef _LIBCPP_VERSION -+ pCppExc = __cxxabiv1::__cxa_allocate_exception( pTypeDescr->nSize ); -+#else - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); -+#endif - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - - // destruct uno exception -@@ -280,7 +279,11 @@ - } - } - -+#ifdef _LIBCPP_VERSION -+ __cxxabiv1::__cxa_throw( pCppExc, rtti, deleteException ); -+#else - __cxa_throw( pCppExc, rtti, deleteException ); -+#endif - } - - //================================================================================================== ---- bridges/source/cpp_uno/gcc3_linux_intel/share.hxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ bridges/source/cpp_uno/gcc3_linux_intel/share.hxx 2013-09-18 13:06:17.000000000 -0400 -@@ -25,10 +25,39 @@ - - #include <uno/any2.h> - -+#include <cxxabi.h> -+#ifndef _GLIBCXX_CDTOR_CALLABI // new in GCC 4.7 cxxabi.h -+#define _GLIBCXX_CDTOR_CALLABI -+#endif -+ -+#ifdef _LIBCPP_VERSION -+ -+namespace __cxxabiv1 -+{ -+ struct __class_type_info : public std::type_info -+ { -+ explicit __class_type_info( const char *__n ) : type_info( __n ) { } -+ virtual ~__class_type_info(); -+ }; -+ -+ struct __si_class_type_info : public __class_type_info -+ { -+ explicit __si_class_type_info( const char *__n, const __class_type_info *__b ) : -+ __class_type_info( __n ), __base_type( __b ) { } -+ virtual ~__si_class_type_info(); -+ const __class_type_info *__base_type; -+ }; -+ -+extern "C" void *__cxa_allocate_exception( std::size_t thrown_size ) _NOEXCEPT; -+ -+extern "C" _LIBCPP_NORETURN void __cxa_throw( -+ void *thrown_exception, std::type_info *tinfo, void (*dest) (void *) ); -+} -+ -+#else -+ - namespace CPPU_CURRENT_NAMESPACE - { -- --void dummy_can_throw_anything( char const * ); - - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - -@@ -86,6 +115,15 @@ - void *thrown_exception, void *tinfo, void (*dest) (void *) ) __attribute__((noreturn)); - #endif - -+} -+ -+#endif -+ -+namespace CPPU_CURRENT_NAMESPACE -+{ -+ -+void dummy_can_throw_anything( char const * ); -+ - // ----- - - //================================================================================================== -@@ -93,8 +132,11 @@ - uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ); - //================================================================================================== - void fillUnoException( -+#ifdef _LIBCPP_VERSION -+ __cxxabiv1::__cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno ); -+#else - __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno ); -- -+#endif - } - - namespace x86 ---- bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx 2013-09-18 13:05:25.000000000 -0400 -@@ -203,7 +203,11 @@ - catch (...) - { - // fill uno exception -+#ifdef _LIBCPP_VERSION -+ CPPU_CURRENT_NAMESPACE::fillUnoException( __cxxabiv1::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); -+#else - fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); -+#endif - - // temporary params - for ( ; nTempIndizes--; ) ---- bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-09-18 12:55:37.000000000 -0400 -@@ -22,11 +22,6 @@ - #include <string.h> - #include <dlfcn.h> - --#include <cxxabi.h> --#ifndef _GLIBCXX_CDTOR_CALLABI // new in GCC 4.7 cxxabi.h --#define _GLIBCXX_CDTOR_CALLABI --#endif -- - #include <boost/unordered_map.hpp> - - #include <rtl/strbuf.hxx> -@@ -255,7 +250,11 @@ - Reference< XInterface >() ); - } - -+#ifdef _LIBCPP_VERSION -+ pCppExc = __cxxabiv1::__cxa_allocate_exception( pTypeDescr->nSize ); -+#else - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); -+#endif - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - - // destruct uno exception -@@ -274,7 +273,11 @@ - } - } - -+#ifdef _LIBCPP_VERSION -+ __cxxabiv1::__cxa_throw( pCppExc, rtti, deleteException ); -+#else - __cxa_throw( pCppExc, rtti, deleteException ); -+#endif - } - - //================================================================================================== ---- bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx 2013-09-18 12:53:27.000000000 -0400 -@@ -23,6 +23,37 @@ - #include <exception> - #include <cstddef> - -+#include <cxxabi.h> -+#ifndef _GLIBCXX_CDTOR_CALLABI // new in GCC 4.7 cxxabi.h -+#define _GLIBCXX_CDTOR_CALLABI -+#endif -+ -+#ifdef _LIBCPP_VERSION -+ -+namespace __cxxabiv1 -+{ -+ struct __class_type_info : public std::type_info -+ { -+ explicit __class_type_info( const char *__n ) : type_info( __n ) { } -+ virtual ~__class_type_info(); -+ }; -+ -+ struct __si_class_type_info : public __class_type_info -+ { -+ explicit __si_class_type_info( const char *__n, const __class_type_info *__b ) : -+ __class_type_info( __n ), __base_type( __b ) { } -+ virtual ~__si_class_type_info(); -+ const __class_type_info *__base_type; -+ }; -+ -+extern "C" void *__cxa_allocate_exception( std::size_t thrown_size ) _NOEXCEPT; -+ -+extern "C" _LIBCPP_NORETURN void __cxa_throw( -+ void *thrown_exception, std::type_info *tinfo, void (*dest) (void *) ); -+} -+ -+#else -+ - namespace CPPU_CURRENT_NAMESPACE - { - -@@ -82,6 +113,13 @@ - void *thrown_exception, void *tinfo, void (*dest) (void *) ) __attribute__((noreturn)); - #endif - -+} -+ -+#endif -+ -+namespace CPPU_CURRENT_NAMESPACE -+{ -+ - // ----- - - //================================================================================================== -@@ -89,7 +128,11 @@ - uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ); - //================================================================================================== - void fillUnoException( -+#ifdef _LIBCPP_VERSION -+ __cxxabiv1::__cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno ); -+#else - __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno ); -+#endif - } - - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ ---- bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx 2013-09-18 12:58:22.000000000 -0400 -@@ -291,7 +291,11 @@ - catch (...) - { - // fill uno exception -+#ifdef _LIBCPP_VERSION -+ CPPU_CURRENT_NAMESPACE::fillUnoException( __cxxabiv1::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); -+#else - fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); -+#endif - - // temporary params - for ( ; nTempIndizes--; ) ---- include/sal/log.hxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ include/sal/log.hxx 2013-09-13 05:27:31.000000000 -0400 -@@ -177,9 +177,13 @@ - - @since LibreOffice 3.5 - */ -+#ifdef _LIBCPP_VERSION - #define SAL_STREAM(stream) \ -- (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << stream). \ -- str()) -+ (::std::ostringstream() << stream).str() -+#else -+#define SAL_STREAM(stream) \ -+ (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << stream).str()) -+#endif - - /** - @page sal_log Basic logging functionality. ---- slideshow/source/engine/activities/activitiesfactory.cxx.orig 2013-08-13 16:11:48.000000000 -0400 -+++ slideshow/source/engine/activities/activitiesfactory.cxx 2013-09-13 05:47:27.000000000 -0400 -@@ -557,7 +557,7 @@ - // interpolate between nIndex and nIndex+1 values - (*mpAnim)( - getPresentationValue( -- accumulate( maValues.back(), -+ accumulate<ValueType>( maValues.back(), - mbCumulative ? nRepeatCount : 0, - maInterpolator( maValues[ nIndex ], - maValues[ nIndex+1 ], -@@ -577,7 +577,7 @@ - // this is discrete, thus no lerp here. - (*mpAnim)( - getPresentationValue( -- accumulate( maValues.back(), -+ accumulate<ValueType>( maValues.back(), - mbCumulative ? nRepeatCount : 0, - maValues[ nFrame ] ) ) ); - } |