c3574e2
From 23a8d5ffbbe58761b89f590f0735abccd69a3681 Mon Sep 17 00:00:00 2001
c3574e2
From: Stephan Bergmann <sbergman@redhat.com>
c3574e2
Date: Fri, 11 Jan 2019 17:40:17 +0100
c3574e2
Subject: [PATCH] Upgrade external/boost to Boost 1.69.0
c3574e2
c3574e2
<https://dev-www.libreoffice.org/src/boost_1_69_0.tar.bz2> is a copy of
c3574e2
<https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.bz2>,
c3574e2
SHA256 hash as given at <https://www.boost.org/users/download/>.
c3574e2
c3574e2
* removed from external/boost/include/boost/ those files that are no longer
c3574e2
  present in workdir/UnpackedTarball/boost/boost/
c3574e2
c3574e2
* the shrunk external/boost/rtti.patch.0 can probably be removed completely in a
c3574e2
  follow-up commit
c3574e2
c3574e2
* the patch to libs/filesystem/src/operations.cpp in
c3574e2
  external/boost/boost-android-unified.patch.1 no longer applied, and appears to
c3574e2
  be no longer necessary anyway (seeing a working build without it of
c3574e2
  --with-distro=LibreOfficeAndroid and NDK r16b); but with the non-standard
c3574e2
  Clang 5.0.300080 from NDK r16b, the build now caused failures like
c3574e2
c3574e2
> 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]
c3574e2
>    struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
c3574e2
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c3574e2
> workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:35:38: note: non-deducible template parameter 'NE'
c3574e2
>    template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
c3574e2
>                                      ^
c3574e2
> workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:22:40: note: expanded from macro 'BOOST_TT_NOEXCEPT_PARAM'
c3574e2
> #define BOOST_TT_NOEXCEPT_PARAM , bool NE
c3574e2
>                                        ^
c3574e2
c3574e2
  showing that that version of Clang has the same problem handling noexcept(b)
c3574e2
  as a deduced template parameter as MSVC has, as already supported by the code
c3574e2
c3574e2
* new external/boost/sse.patch.0 needed on Windows x86 to silence errors like
c3574e2
c3574e2
> 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'
c3574e2
c3574e2
  (<https://ci.libreoffice.org/job/gerrit_windows/26117/>); according to
c3574e2
  
c3574e2
  ?view=vs-2017>: "_M_IX86_FP Defined as an integer literal value that indicates
c3574e2
  the /arch compiler option that was set, or the default. This macro is always
c3574e2
  defined when the compilation target is an x86 processor. Otherwise, undefined.
c3574e2
  When defined, the value is: [...] 1 if the /arch:SSE compiler option was set."
c3574e2
  and we specify /arch:SSE explicitly for Windows x86 since
c3574e2
  8bd6bf93b7711a7ac7c5cbd7c3bb980481570ebd "fdo#82430: configure: MSVC build:
c3574e2
  avoid using SSE2 instructions"
c3574e2
c3574e2
* boost::logic::tribool conversion operator to bool is explicit now
c3574e2
c3574e2
Change-Id: Iea49560d734f545539f062dce46740fbf812dd84
c3574e2
Reviewed-on: https://gerrit.libreoffice.org/66189
c3574e2
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
c3574e2
Tested-by: Stephan Bergmann <sbergman@redhat.com>
c3574e2
---
c3574e2
 sfx2/source/appl/shutdownicon.cxx | 2 +-
c3574e2
 1 file changed, 1 insertion(+), 1 deletion(-)
c3574e2
c3574e2
diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx
c3574e2
index a24e254c7948..65c73de125d9 100644
c3574e2
--- a/sfx2/source/appl/shutdownicon.cxx
c3574e2
+++ b/sfx2/source/appl/shutdownicon.cxx
c3574e2
@@ -144,7 +144,7 @@ bool LoadModule()
c3574e2
 #endif // ENABLE_QUICKSTART_APPLET
c3574e2
     }
c3574e2
     assert(!boost::logic::indeterminate(loaded));
c3574e2
-    return loaded;
c3574e2
+    return bool(loaded);
c3574e2
 }
c3574e2
 
c3574e2
 }
c3574e2
-- 
c3574e2
2.20.1
c3574e2