boost: Package Version Update (1.73.0)

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>
This commit is contained in:
Carlos Miguel Ferreira 2020-05-03 20:24:20 +01:00
parent 6198128711
commit 3fb802f5d0
No known key found for this signature in database
GPG Key ID: 33A82DFF65092E55
7 changed files with 1480 additions and 128 deletions

View File

@ -11,13 +11,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=boost
PKG_VERSION:=1.72.0
PKG_SOURCE_VERSION:=1_72_0
PKG_VERSION:=1.73.0
PKG_SOURCE_VERSION:=1_73_0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/
PKG_HASH:=59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722
PKG_HASH:=4eb3b8d442b426dc35346235c8733b5ae35ba431690e38c6a8263dce9fcbb402
PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
PKG_LICENSE:=BSL-1.0
@ -43,7 +43,7 @@ define Package/boost/Default
endef
define Package/boost/description
This package provides the Boost v1.72.0 libraries.
This package provides the Boost v1.73.0 libraries.
Boost is a set of free, peer-reviewed, portable C++ source libraries.
This package provides the following run-time libraries:

View File

@ -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

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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>

View File

@ -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)
{