summaryrefslogtreecommitdiffstats
path: root/external/boost
diff options
context:
space:
mode:
authorDavid Ostrovsky <david@ostrovsky.org>2020-01-11 09:44:20 +0100
committerStephan Bergmann <sbergman@redhat.com>2020-01-15 10:27:06 +0100
commite355d2dc89963f26e5856be8b324d386e4c564f6 (patch)
tree28fee66aa6173d0a7bc20152d667d0919e46a6cc /external/boost
parentSidebar expandable fix (diff)
downloadcore-e355d2dc89963f26e5856be8b324d386e4c564f6.tar.gz
core-e355d2dc89963f26e5856be8b324d386e4c564f6.zip
Bump boost version to 1.71
Change-Id: Ica4aba467aa00236a4d1c5b0411d1ebc657ea4df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86594 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external/boost')
-rw-r--r--external/boost/UnpackedTarball_boost.mk3
-rw-r--r--external/boost/boost-android-unified.patch.18
-rw-r--r--external/boost/sse.patch.0533
-rw-r--r--external/boost/ubsan.patch.035
4 files changed, 4 insertions, 575 deletions
diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk
index 33f2f2cd9b50..acb6d6af6b77 100644
--- a/external/boost/UnpackedTarball_boost.mk
+++ b/external/boost/UnpackedTarball_boost.mk
@@ -17,7 +17,6 @@ boost_patches += boost.utility.Wundef.warnings.patch
boost_patches += boost.noiconv.patch
-boost_patches += ubsan.patch.0
boost_patches += rtti.patch.0
# https://svn.boost.org/trac/boost/ticket/11505
@@ -38,8 +37,6 @@ boost_patches += gcc9.patch.0
boost_patches += msvc2017.patch.0
-boost_patches += sse.patch.0
-
boost_patches += c++20-allocator.patch.0
$(eval $(call gb_UnpackedTarball_UnpackedTarball,boost))
diff --git a/external/boost/boost-android-unified.patch.1 b/external/boost/boost-android-unified.patch.1
index 46181b862f49..6488bf619e2b 100644
--- a/external/boost/boost-android-unified.patch.1
+++ b/external/boost/boost-android-unified.patch.1
@@ -4,8 +4,8 @@
template <class T>
struct is_function : public false_type {};
--#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)
+-#if defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM)
++#if defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) && !(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
@@ -15,8 +15,8 @@
template <class T>
struct is_member_function_pointer<T const volatile> : public is_member_function_pointer<T> {};
--#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)
+-#if defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM)
++#if defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) || (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
diff --git a/external/boost/sse.patch.0 b/external/boost/sse.patch.0
deleted file mode 100644
index d431c185e7f8..000000000000
--- a/external/boost/sse.patch.0
+++ /dev/null
@@ -1,533 +0,0 @@
---- boost/type_traits/detail/is_function_cxx_11.hpp
-+++ boost/type_traits/detail/is_function_cxx_11.hpp
-@@ -107,8 +107,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -120,8 +122,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -133,8 +137,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -146,8 +152,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
-
- // reference qualified:
- #ifdef __CLR_VER
-@@ -160,8 +168,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -173,8 +183,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -186,8 +198,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -199,8 +213,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
-
- // rvalue reference qualified:
- #ifdef __CLR_VER
-@@ -213,8 +229,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -226,8 +244,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -239,8 +259,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -252,8 +274,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
-
- #endif // _MSC_VER
-
-@@ -339,8 +363,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -352,8 +378,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -365,8 +393,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -378,8 +408,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
-
- // reference qualified:
- #ifdef __CLR_VER
-@@ -392,8 +424,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -405,8 +439,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -418,8 +454,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -431,8 +469,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
-
- // rvalue reference qualified:
- #ifdef __CLR_VER
-@@ -445,8 +485,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -458,8 +500,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -471,8 +515,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -484,8 +530,10 @@
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
-
- #endif // _MSC_VER
-
---- boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
-+++ boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp
-@@ -121,8 +121,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -136,8 +138,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -151,8 +155,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -166,8 +172,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
-
- // reference qualified:
- #ifdef __CLR_VER
-@@ -182,8 +190,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -197,8 +207,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -212,8 +224,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -227,8 +241,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
-
- // rvalue reference qualified:
- #ifdef __CLR_VER
-@@ -243,8 +259,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -258,8 +276,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -273,8 +293,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -288,9 +310,11 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#endif
-
-
- #if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
-@@ -375,8 +399,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -390,8 +416,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -405,8 +433,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -420,8 +450,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
-
- // reference qualified:
- #ifdef __CLR_VER
-@@ -436,8 +468,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -451,8 +485,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -466,8 +502,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -481,8 +519,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
-
- // rvalue reference qualified:
- #ifdef __CLR_VER
-@@ -497,8 +537,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -512,8 +554,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -527,8 +571,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- // const volatile:
- #ifdef __CLR_VER
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
-@@ -542,8 +588,10 @@
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
- #endif
-+#if !(defined _M_IX86_FP && _M_IX86_FP == 1) // error C2215: '__vectorcall' cannot be used with '/arch:SSE'
- template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
- struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
-+#endif
- #endif
-
-
diff --git a/external/boost/ubsan.patch.0 b/external/boost/ubsan.patch.0
deleted file mode 100644
index 2dfd2cf673bc..000000000000
--- a/external/boost/ubsan.patch.0
+++ /dev/null
@@ -1,35 +0,0 @@
-Work around -fsanitize=bool and -fsanitize=nonnull-attribute
-
---- boost/algorithm/string/find_iterator.hpp
-+++ boost/algorithm/string/find_iterator.hpp
-@@ -240,7 +240,7 @@
- m_Match(Other.m_Match),
- m_Next(Other.m_Next),
- m_End(Other.m_End),
-- m_bEof(Other.m_bEof)
-+ m_bEof(Other.eof())
- {}
-
- //! Constructor
---- boost/circular_buffer/base.hpp
-+++ boost/circular_buffer/base.hpp
-@@ -2355,7 +2355,7 @@
- //! Add <code>n</code> to the pointer.
- template <class Pointer>
- Pointer add(Pointer p, difference_type n) const {
-- return p + (n < (m_end - p) ? n : n - capacity());
-+ return p + (n < (m_end - p) ? n : difference_type(n - capacity()));
- }
-
- //! Subtract <code>n</code> from the pointer.
---- boost/circular_buffer/debug.hpp
-+++ boost/circular_buffer/debug.hpp
-@@ -34,7 +34,7 @@
-
- template <class T>
- inline void do_fill_uninitialized_memory(T* data, std::size_t size_in_bytes) BOOST_NOEXCEPT {
-- std::memset(static_cast<void*>(data), UNINITIALIZED, size_in_bytes);
-+ if (size_in_bytes != 0) std::memset(static_cast<void*>(data), UNINITIALIZED, size_in_bytes);
- }
-
- template <class T>