This commit updates Boost to version 1.73.0 In this release, there are two new libraries - Nowide [2] - Standard library functions with UTF-8 API on Windows, from Artyom Beilis. - Static String [3] - A dynamically resizable string of characters with compile-time fixed capacity and contiguous embedded storage, from Vinnie Falco and Krystian Stasiowski. More info about Boost 1.73.0 can be found at the usual place [1]. [1]: https://www.boost.org/users/history/version_1_73_0.html [2]: https://www.boost.org/libs/nowide/ [3]: https://www.boost.org/libs/static_string/ Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>lilik-openwrt-22.03
@ -1,28 +0,0 @@ | |||||
From 5f7cda29add367c5381775a314ec9f90e311457a Mon Sep 17 00:00:00 2001 | |||||
From: Rosen Penev <rosenp@gmail.com> | |||||
Date: Fri, 15 Nov 2019 12:43:50 -0800 | |||||
Subject: [PATCH] cpu_relax: Fix MIPS check | |||||
BOOST_ARCH_MIPS as a macro is totally broken. It always gets defined to either 32 | |||||
or 64 with a bunch of zeroes depending on the architecture. | |||||
Use GCC's internal define to check the architecture properly. | |||||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||||
--- | |||||
boost/fiber/detail/cpu_relax.hpp | 2 +- | |||||
1 file changed, 1 insertion(+), 1 deletion(-) | |||||
diff --git a/boost/fiber/detail/cpu_relax.hpp b/boost/fiber/detail/cpu_relax.hpp | |||||
index 72564394..f40545c2 100644 | |||||
--- a/boost/fiber/detail/cpu_relax.hpp | |||||
+++ b/boost/fiber/detail/cpu_relax.hpp | |||||
@@ -47,7 +47,7 @@ namespace detail { | |||||
# else | |||||
# define cpu_relax() asm volatile ("nop" ::: "memory"); | |||||
# endif | |||||
-#elif BOOST_ARCH_MIPS | |||||
+#elif BOOST_ARCH_MIPS && (__mips_isa_rev > 1) | |||||
# define cpu_relax() asm volatile ("pause" ::: "memory"); | |||||
#elif BOOST_ARCH_PPC | |||||
// http://code.metager.de/source/xref/gnu/glibc/sysdeps/powerpc/sys/platform/ppc.h |
@ -0,0 +1,11 @@ | |||||
--- a/boost/outcome/experimental/status-code/status_code_ptr.hpp 2020-04-28 09:23:14.792565200 +0100 | |||||
+++ b/boost/outcome/experimental/status-code/status_code_ptr.hpp 2020-04-28 09:24:34.311741000 +0100 | |||||
@@ -103,7 +103,7 @@ | |||||
#endif | |||||
virtual void _do_erased_copy(status_code<void> &dst, const status_code<void> &src, size_t /*unused*/) const override // NOLINT | |||||
{ | |||||
- assert(dst.domain() == *this); | |||||
+ // Note that dst will not have its domain set | |||||
assert(src.domain() == *this); | |||||
auto &d = static_cast<_mycode &>(dst); // NOLINT | |||||
const auto &_s = static_cast<const _mycode &>(src); // NOLINT |
@ -1,49 +0,0 @@ | |||||
From 436e1dbe6fcd31523d261d18ad011392f1d6fbbc Mon Sep 17 00:00:00 2001 | |||||
From: Oliver Kowalke <oliver.kowalke@gmail.com> | |||||
Date: Sun, 1 Dec 2019 20:40:28 +0100 | |||||
Subject: [PATCH] Revert "Cease dependence on Range" | |||||
This reverts commit 0c556bb59241e682bbcd3f572815149c5a9b17db. | |||||
see #44 (One test fails to compile after boostorg/coroutine submodule updated) | |||||
--- | |||||
boost/coroutine/asymmetric_coroutine.hpp | 12 +++--------- | |||||
1 file changed, 3 insertions(+), 9 deletions(-) | |||||
diff --git a/boost/coroutine/asymmetric_coroutine.hpp b/boost/coroutine/asymmetric_coroutine.hpp | |||||
index ea96981..640896f 100644 | |||||
--- a/boost/coroutine/asymmetric_coroutine.hpp | |||||
+++ b/boost/coroutine/asymmetric_coroutine.hpp | |||||
@@ -14,6 +14,7 @@ | |||||
#include <boost/assert.hpp> | |||||
#include <boost/config.hpp> | |||||
#include <boost/move/move.hpp> | |||||
+#include <boost/range.hpp> | |||||
#include <boost/throw_exception.hpp> | |||||
#include <boost/utility/explicit_operator_bool.hpp> | |||||
@@ -2354,19 +2355,12 @@ end( push_coroutine< R > & c) | |||||
} | |||||
-// forward declaration of Boost.Range traits to break dependency on it | |||||
-template<typename C, typename Enabler> | |||||
-struct range_mutable_iterator; | |||||
- | |||||
-template<typename C, typename Enabler> | |||||
-struct range_const_iterator; | |||||
- | |||||
template< typename Arg > | |||||
-struct range_mutable_iterator< coroutines::push_coroutine< Arg >, void > | |||||
+struct range_mutable_iterator< coroutines::push_coroutine< Arg > > | |||||
{ typedef typename coroutines::push_coroutine< Arg >::iterator type; }; | |||||
template< typename R > | |||||
-struct range_mutable_iterator< coroutines::pull_coroutine< R >, void > | |||||
+struct range_mutable_iterator< coroutines::pull_coroutine< R > > | |||||
{ typedef typename coroutines::pull_coroutine< R >::iterator type; }; | |||||
} | |||||
-- | |||||
2.24.1 | |||||
@ -1,30 +0,0 @@ | |||||
From 5f19fd7dc6c4dd37fb0409f08a0b7dbb887dd516 Mon Sep 17 00:00:00 2001 | |||||
From: Rosen Penev <rosenp@gmail.com> | |||||
Date: Thu, 19 Dec 2019 17:46:46 -0800 | |||||
Subject: [PATCH] roots: Fix fma_workaround | |||||
fma takes three parameters, not one. | |||||
Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||||
--- | |||||
include/boost/math/tools/roots.hpp | 6 +++--- | |||||
1 file changed, 3 insertions(+), 3 deletions(-) | |||||
diff --git a/boost/math/tools/roots.hpp b/boost/math/tools/roots.hpp | |||||
index 8b3ab7eb9..5d7936bb2 100644 | |||||
--- a/boost/math/tools/roots.hpp | |||||
+++ b/boost/math/tools/roots.hpp | |||||
@@ -861,10 +861,10 @@ Complex complex_newton(F g, Complex guess, int max_iterations = std::numeric_lim | |||||
namespace detail | |||||
{ | |||||
#if defined(BOOST_GNU_STDLIB) && !defined(_GLIBCXX_USE_C99_MATH_TR1) | |||||
-float fma_workaround(float f) { return ::fmaf(f); } | |||||
-double fma_workaround(double f) { return ::fma(f); } | |||||
+inline float fma_workaround(float x, float y, float z) { return ::fmaf(x, y, z); } | |||||
+inline double fma_workaround(double x, double y, double z) { return ::fma(x, y, z); } | |||||
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS | |||||
-long double fma_workaround(long double f) { return ::fmal(f); } | |||||
+inline long double fma_workaround(long double x, long double y, long double z) { return ::fmal(x, y, z); } | |||||
#endif | |||||
#endif | |||||
template<class T> |
@ -1,17 +0,0 @@ | |||||
Index: boost_1_72_0/boost/math/tools/roots.hpp | |||||
=================================================================== | |||||
--- boost_1_72_0.orig/boost/math/tools/roots.hpp | |||||
+++ boost_1_72_0/boost/math/tools/roots.hpp | |||||
@@ -884,7 +884,11 @@ inline T discriminant(T const& a, T cons | |||||
template<class T> | |||||
std::pair<T, T> quadratic_roots_imp(T const& a, T const& b, T const& c) | |||||
{ | |||||
- using std::copysign; | |||||
+ #if defined(BOOST_GNU_STDLIB) && !defined(_GLIBCXX_USE_C99_MATH_TR1) | |||||
+ using boost::math::copysign; | |||||
+ #else | |||||
+ using std::copysign; | |||||
+ #endif | |||||
using std::sqrt; | |||||
if constexpr (std::is_floating_point<T>::value) | |||||
{ |