summaryrefslogtreecommitdiffstats
path: root/external/boost/boost-android-unified.patch.1
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-01-11 17:40:17 +0100
committerStephan Bergmann <sbergman@redhat.com>2019-01-15 08:24:05 +0100
commit23a8d5ffbbe58761b89f590f0735abccd69a3681 (patch)
tree44b17f1202dc6e49321b7eba538e17fd9f818770 /external/boost/boost-android-unified.patch.1
parentUse proper iterator in loop body (diff)
downloadcore-23a8d5ffbbe58761b89f590f0735abccd69a3681.tar.gz
core-23a8d5ffbbe58761b89f590f0735abccd69a3681.zip
Upgrade external/boost to Boost 1.69.0
<https://dev-www.libreoffice.org/src/boost_1_69_0.tar.bz2> is a copy of <https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.bz2>, SHA256 hash as given at <https://www.boost.org/users/download/>. * removed from external/boost/include/boost/ those files that are no longer present in workdir/UnpackedTarball/boost/boost/ * the shrunk external/boost/rtti.patch.0 can probably be removed completely in a follow-up commit * the patch to libs/filesystem/src/operations.cpp in external/boost/boost-android-unified.patch.1 no longer applied, and appears to be no longer necessary anyway (seeing a working build without it of --with-distro=LibreOfficeAndroid and NDK r16b); but with the non-standard Clang 5.0.300080 from NDK r16b, the build now caused failures like > workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:36:11: error: class template partial specialization contains a template parameter that cannot be deduced; this partial specialization will never be used [-Wunusable-partial-specialization] > struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {}; > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:35:38: note: non-deducible template parameter 'NE' > template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM> > ^ > workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:22:40: note: expanded from macro 'BOOST_TT_NOEXCEPT_PARAM' > #define BOOST_TT_NOEXCEPT_PARAM , bool NE > ^ showing that that version of Clang has the same problem handling noexcept(b) as a deduced template parameter as MSVC has, as already supported by the code * new external/boost/sse.patch.0 needed on Windows x86 to silence errors like > C:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/type_traits/detail/is_function_cxx_11.hpp(111): error C2215: '__vectorcall' cannot be used with '/arch:SSE' (<https://ci.libreoffice.org/job/gerrit_windows/26117/>); according to <https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros ?view=vs-2017>: "_M_IX86_FP Defined as an integer literal value that indicates the /arch compiler option that was set, or the default. This macro is always defined when the compilation target is an x86 processor. Otherwise, undefined. When defined, the value is: [...] 1 if the /arch:SSE compiler option was set." and we specify /arch:SSE explicitly for Windows x86 since 8bd6bf93b7711a7ac7c5cbd7c3bb980481570ebd "fdo#82430: configure: MSVC build: avoid using SSE2 instructions" * boost::logic::tribool conversion operator to bool is explicit now Change-Id: Iea49560d734f545539f062dce46740fbf812dd84 Reviewed-on: https://gerrit.libreoffice.org/66189 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external/boost/boost-android-unified.patch.1')
-rw-r--r--external/boost/boost-android-unified.patch.146
1 files changed, 20 insertions, 26 deletions
diff --git a/external/boost/boost-android-unified.patch.1 b/external/boost/boost-android-unified.patch.1
index 458482a37c28..46181b862f49 100644
--- a/external/boost/boost-android-unified.patch.1
+++ b/external/boost/boost-android-unified.patch.1
@@ -1,28 +1,22 @@
-https://svn.boost.org/trac10/ticket/13230 unified headers causing trouble with that..
-diff -ur boost.org/libs/filesystem/src/operations.cpp boost/libs/filesystem/src/operations.cpp
---- boost.org/libs/filesystem/src/operations.cpp 2017-11-22 02:21:33.724304181 +0100
-+++ boost/libs/filesystem/src/operations.cpp 2017-11-22 02:21:59.686302450 +0100
-@@ -11,23 +11,6 @@
- //--------------------------------------------------------------------------------------//
+--- a/boost/type_traits/detail/is_function_cxx_11.hpp
++++ b/boost/type_traits/detail/is_function_cxx_11.hpp
+@@ -18,7 +18,7 @@
+ template <class T>
+ struct is_function : public false_type {};
- // define 64-bit offset macros BEFORE including boost/config.hpp (see ticket #5355)
--#if !(defined(__HP_aCC) && defined(_ILP32) && !defined(_STATVFS_ACPP_PROBLEMS_FIXED))
--#define _FILE_OFFSET_BITS 64 // at worst, these defines may have no effect,
--#endif
--#if !defined(__PGI)
--#define __USE_FILE_OFFSET64 // but that is harmless on Windows and on POSIX
-- // 64-bit systems or on 32-bit systems which don't have files larger
-- // than can be represented by a traditional POSIX/UNIX off_t type.
-- // OTOH, defining them should kick in 64-bit off_t's (and thus
-- // st_size)on 32-bit systems that provide the Large File
-- // Support (LFS)interface, such as Linux, Solaris, and IRIX.
-- // The defines are given before any headers are included to
-- // ensure that they are available to all included headers.
-- // That is required at least on Solaris, and possibly on other
-- // systems as well.
--#else
--#define _FILE_OFFSET_BITS 64
--#endif
+-#if defined(__cpp_noexcept_function_type) && !defined(_MSC_VER)
++#if defined(__cpp_noexcept_function_type) && !defined(_MSC_VER) && !(defined __ANDROID__ && defined __clang__ && __clang_major__ == 5 && __clang_minor__ == 0 && __clang_patchlevel__ == 300080)
+ #define BOOST_TT_NOEXCEPT_PARAM , bool NE
+ #define BOOST_TT_NOEXCEPT_DECL noexcept(NE)
+ #else
+--- a/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
++++ b/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
+@@ -31,7 +31,7 @@
+ template <class T>
+ struct is_member_function_pointer<T const volatile> : public is_member_function_pointer<T> {};
- // define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows
- // the library is being built (possibly exporting rather than importing code)
+-#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
++#if (defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)) || (defined __ANDROID__ && defined __clang__ && __clang_major__ == 5 && __clang_minor__ == 0 && __clang_patchlevel__ == 300080)
+ // MSVC can't handle noexcept(b) as a deduced template parameter
+ // so we will have to write everything out :(
+ #define BOOST_TT_NOEXCEPT_PARAM