Kaydet (Commit) 23a8d5ff authored tarafından Stephan Bergmann's avatar Stephan Bergmann

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
  8bd6bf93 "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/66189Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
Tested-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst 05b9bf20
...@@ -6,8 +6,8 @@ export APR_SHA256SUM := 1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c7 ...@@ -6,8 +6,8 @@ export APR_SHA256SUM := 1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c7
export APR_TARBALL := apr-1.5.2.tar.gz export APR_TARBALL := apr-1.5.2.tar.gz
export APR_UTIL_SHA256SUM := 976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19 export APR_UTIL_SHA256SUM := 976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19
export APR_UTIL_TARBALL := apr-util-1.5.4.tar.gz export APR_UTIL_TARBALL := apr-util-1.5.4.tar.gz
export BOOST_SHA256SUM := 5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9 export BOOST_SHA256SUM := 8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406
export BOOST_TARBALL := boost_1_66_0.tar.bz2 export BOOST_TARBALL := boost_1_69_0.tar.bz2
export BREAKPAD_SHA256SUM := 7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9 export BREAKPAD_SHA256SUM := 7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9
export BREAKPAD_TARBALL := breakpad.zip export BREAKPAD_TARBALL := breakpad.zip
export BSH_SHA256SUM := 9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96 export BSH_SHA256SUM := 9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96
......
...@@ -30,7 +30,6 @@ boost_patches += clang-cl.patch.0 ...@@ -30,7 +30,6 @@ boost_patches += clang-cl.patch.0
boost_patches += boost_1_60_0.undef.warning.patch boost_patches += boost_1_60_0.undef.warning.patch
boost_patches += boost_1_63_0.undef.warning.patch.1 boost_patches += boost_1_63_0.undef.warning.patch.1
# https://svn.boost.org/trac10/ticket/13230
boost_patches += boost-android-unified.patch.1 boost_patches += boost-android-unified.patch.1
boost_patches += windows-no-utf8-locales.patch.0 boost_patches += windows-no-utf8-locales.patch.0
...@@ -39,6 +38,8 @@ boost_patches += gcc9.patch.0 ...@@ -39,6 +38,8 @@ boost_patches += gcc9.patch.0
boost_patches += msvc2017.patch.0 boost_patches += msvc2017.patch.0
boost_patches += sse.patch.0
$(eval $(call gb_UnpackedTarball_UnpackedTarball,boost)) $(eval $(call gb_UnpackedTarball_UnpackedTarball,boost))
$(eval $(call gb_UnpackedTarball_set_tarball,boost,$(BOOST_TARBALL))) $(eval $(call gb_UnpackedTarball_set_tarball,boost,$(BOOST_TARBALL)))
......
https://svn.boost.org/trac10/ticket/13230 unified headers causing trouble with that.. --- a/boost/type_traits/detail/is_function_cxx_11.hpp
diff -ur boost.org/libs/filesystem/src/operations.cpp boost/libs/filesystem/src/operations.cpp +++ b/boost/type_traits/detail/is_function_cxx_11.hpp
--- boost.org/libs/filesystem/src/operations.cpp 2017-11-22 02:21:33.724304181 +0100 @@ -18,7 +18,7 @@
+++ boost/libs/filesystem/src/operations.cpp 2017-11-22 02:21:59.686302450 +0100 template <class T>
@@ -11,23 +11,6 @@ struct is_function : public false_type {};
//--------------------------------------------------------------------------------------//
// define 64-bit offset macros BEFORE including boost/config.hpp (see ticket #5355) -#if defined(__cpp_noexcept_function_type) && !defined(_MSC_VER)
-#if !(defined(__HP_aCC) && defined(_ILP32) && !defined(_STATVFS_ACPP_PROBLEMS_FIXED)) +#if defined(__cpp_noexcept_function_type) && !defined(_MSC_VER) && !(defined __ANDROID__ && defined __clang__ && __clang_major__ == 5 && __clang_minor__ == 0 && __clang_patchlevel__ == 300080)
-#define _FILE_OFFSET_BITS 64 // at worst, these defines may have no effect, #define BOOST_TT_NOEXCEPT_PARAM , bool NE
-#endif #define BOOST_TT_NOEXCEPT_DECL noexcept(NE)
-#if !defined(__PGI) #else
-#define __USE_FILE_OFFSET64 // but that is harmless on Windows and on POSIX --- a/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
- // 64-bit systems or on 32-bit systems which don't have files larger +++ b/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
- // than can be represented by a traditional POSIX/UNIX off_t type. @@ -31,7 +31,7 @@
- // OTOH, defining them should kick in 64-bit off_t's (and thus template <class T>
- // st_size)on 32-bit systems that provide the Large File struct is_member_function_pointer<T const volatile> : public is_member_function_pointer<T> {};
- // 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
// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows -#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
// the library is being built (possibly exporting rather than importing code) +#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
...@@ -6,7 +6,7 @@ diff -ru boost.orig/boost/libs/locale/src/encoding/codepage.cpp boost/boost/libs ...@@ -6,7 +6,7 @@ diff -ru boost.orig/boost/libs/locale/src/encoding/codepage.cpp boost/boost/libs
method_type how) method_type how)
{ {
+ #if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV) + #if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV)
std::auto_ptr<converter_between> cvt; hold_ptr<converter_between> cvt;
#ifdef BOOST_LOCALE_WITH_ICONV #ifdef BOOST_LOCALE_WITH_ICONV
cvt.reset(new iconv_between()); cvt.reset(new iconv_between());
@@ -55,6 +56,7 @@ @@ -55,6 +56,7 @@
...@@ -22,7 +22,7 @@ diff -ru boost.orig/boost/libs/locale/src/encoding/codepage.cpp boost/boost/libs ...@@ -22,7 +22,7 @@ diff -ru boost.orig/boost/libs/locale/src/encoding/codepage.cpp boost/boost/libs
method_type how) method_type how)
{ {
+ #if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV) + #if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV)
std::auto_ptr<converter_to_utf<CharType> > cvt; hold_ptr<converter_to_utf<CharType> > cvt;
#ifdef BOOST_LOCALE_WITH_ICONV #ifdef BOOST_LOCALE_WITH_ICONV
cvt.reset(new iconv_to_utf<CharType>()); cvt.reset(new iconv_to_utf<CharType>());
@@ -81,6 +84,7 @@ @@ -81,6 +84,7 @@
...@@ -38,7 +38,7 @@ diff -ru boost.orig/boost/libs/locale/src/encoding/codepage.cpp boost/boost/libs ...@@ -38,7 +38,7 @@ diff -ru boost.orig/boost/libs/locale/src/encoding/codepage.cpp boost/boost/libs
method_type how) method_type how)
{ {
+ #if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV) + #if defined(BOOST_LOCALE_WITH_ICONV) || defined(BOOST_LOCALE_WITH_ICU) || defined(BOOST_LOCALE_WITH_WCONV)
std::auto_ptr<converter_from_utf<CharType> > cvt; hold_ptr<converter_from_utf<CharType> > cvt;
#ifdef BOOST_LOCALE_WITH_ICONV #ifdef BOOST_LOCALE_WITH_ICONV
cvt.reset(new iconv_from_utf<CharType>()); cvt.reset(new iconv_from_utf<CharType>());
@@ -107,6 +112,7 @@ @@ -107,6 +112,7 @@
......
...@@ -19,24 +19,6 @@ ...@@ -19,24 +19,6 @@
typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference, typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference,
mutable_iterator_tag> iterator; mutable_iterator_tag> iterator;
# workdir/UnpackedTarball/boost\boost/smart_ptr/detail/yield_k.hpp(63,29) : error: 'Sleep' redeclared without 'dllimport' attribute: previous 'dll# import' ignored [-Werror,-Winconsistent-dllimport]
# extern "C" void __stdcall Sleep( unsigned long ms );
# ^
# C:/PROGRA~2/WI3CF2~1/8.1/include/um\synchapi.h(908,1) : note: previous declaration is here
# Sleep(
# ^
--- boost/smart_ptr/detail/yield_k.hpp
+++ boost/smart_ptr/detail/yield_k.hpp
@@ -61,7 +61,7 @@
#if !defined( BOOST_USE_WINDOWS_H ) && !BOOST_PLAT_WINDOWS_RUNTIME
#if !BOOST_COMP_CLANG || !defined __MINGW32__
- extern "C" void __stdcall Sleep( unsigned long ms );
+ extern "C" __declspec(dllimport) void __stdcall Sleep( unsigned long ms );
#else
#include <_mingw.h>
#if !defined __MINGW64_VERSION_MAJOR
# workdir/UnpackedTarball/boost/libs/thread/src/win32/thread.cpp(1006,36) : error: dllimport cannot be applied to non-inline function definition # workdir/UnpackedTarball/boost/libs/thread/src/win32/thread.cpp(1006,36) : error: dllimport cannot be applied to non-inline function definition
# BOOST_THREAD_DECL void __cdecl on_process_enter() # BOOST_THREAD_DECL void __cdecl on_process_enter()
# ^ # ^
......
/* generated by bin/gen-boost-headers, do not edit! */
#pragma once
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpragmas" /* first! for GCC */
#pragma GCC diagnostic ignored "-Wunknown-warning-option" // second! for Clang 5
#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#pragma GCC diagnostic ignored "-Wdeprecated-copy"
#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
#pragma GCC diagnostic ignored "-Winvalid-constexpr"
#pragma GCC diagnostic ignored "-Wmicrosoft-unqualified-friend"
#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
#pragma GCC diagnostic ignored "-Wparentheses"
#pragma GCC diagnostic ignored "-Wplacement-new"
#pragma GCC diagnostic ignored "-Wreturn-type"
#pragma GCC diagnostic ignored "-Wshadow"
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#pragma GCC diagnostic ignored "-Wtautological-constant-out-of-range-compare"
#pragma GCC diagnostic ignored "-Wtype-limits"
#pragma GCC diagnostic ignored "-Wundef"
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#pragma GCC diagnostic ignored "-Wunused-macros"
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-variable"
#include_next <boost/uuid/sha1.hpp>
#pragma GCC diagnostic pop
--- boost/circular_buffer/details.hpp
+++ boost/circular_buffer/details.hpp
@@ -216,12 +216,19 @@
// Helper types
//! Base iterator.
+#if defined _MSC_VER && !defined __clang__
+#pragma warning(push)
+#pragma warning(disable: 4996)
+#endif
typedef std::iterator<
std::random_access_iterator_tag,
typename Traits::value_type,
typename Traits::difference_type,
typename Traits::pointer,
typename Traits::reference> base_iterator;
+#if defined _MSC_VER && !defined __clang__
+#pragma warning(pop)
+#endif
//! Non-const iterator.
typedef iterator<Buff, typename Traits::nonconst_self> nonconst_self;
--- boost/iterator.hpp --- boost/iterator.hpp
+++ boost/iterator.hpp +++ boost/iterator.hpp
@@ -13,7 +13,14 @@ @@ -13,7 +13,14 @@
......
...@@ -2,15 +2,6 @@ Visible function type RTTI for Clang -fsanitize=function ...@@ -2,15 +2,6 @@ Visible function type RTTI for Clang -fsanitize=function
--- boost/function/function_base.hpp --- boost/function/function_base.hpp
+++ boost/function/function_base.hpp +++ boost/function/function_base.hpp
@@ -97,7 +97,7 @@
} obj_ref;
};
- union function_buffer
+ union BOOST_SYMBOL_VISIBLE function_buffer
{
// Type-specific union members
mutable function_buffer_members members;
@@ -159,7 +159,7 @@ @@ -159,7 +159,7 @@
}; };
......
This diff is collapsed.
...@@ -144,7 +144,7 @@ bool LoadModule() ...@@ -144,7 +144,7 @@ bool LoadModule()
#endif // ENABLE_QUICKSTART_APPLET #endif // ENABLE_QUICKSTART_APPLET
} }
assert(!boost::logic::indeterminate(loaded)); assert(!boost::logic::indeterminate(loaded));
return loaded; return bool(loaded);
} }
} }
......
...@@ -33,6 +33,17 @@ $(eval $(call gb_Library_use_externals,ucpcmis1,\ ...@@ -33,6 +33,17 @@ $(eval $(call gb_Library_use_externals,ucpcmis1,\
libxml2 \ libxml2 \
)) ))
# On Windows, libcmis.lib(ws-relatedmultipart.o) references BCryptCloseAlgorithmProvider,
# BCryptGenRandom, and BCryptOpenAlgorithmProvider via
# workdir/UnpackedTarball/boost/boost/winapi/bcrypt.hpp:
ifeq ($(OS),WNT)
ifeq ($(SYSTEM_LIBCMIS)$(SYSTEM_BOOST),)
$(eval $(call gb_Library_add_libs,ucpcmis1, \
Bcrypt.lib \
))
endif
endif
$(eval $(call gb_Library_add_exception_objects,ucpcmis1,\ $(eval $(call gb_Library_add_exception_objects,ucpcmis1,\
ucb/source/ucp/cmis/auth_provider \ ucb/source/ucp/cmis/auth_provider \
ucb/source/ucp/cmis/certvalidation_handler \ ucb/source/ucp/cmis/certvalidation_handler \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment