boost: update to 1.83.0.

This commit is contained in:
Đoàn Trần Công Danh 2023-08-22 14:42:03 +07:00 committed by classabbyamp
parent 869a25e5e1
commit eb453e6e0e
13 changed files with 273 additions and 400 deletions

View file

@ -634,43 +634,43 @@ libip4tc.so.2 iptables-1.8.3_1
libipq.so.0 iptables-1.4.7_1
libnm.so.0 libnm-1.0.0_1
libKF5ItemModels.so.5 kitemmodels-5.26.0_1
libboost_context.so.1.82.0 libboost_context-1.82.0.alpha_1
libboost_coroutine.so.1.82.0 libboost_coroutine-1.82.0.alpha_1
libboost_container.so.1.82.0 libboost_container-1.82.0.alpha_1
libboost_prg_exec_monitor.so.1.82.0 libboost_prg_exec_monitor-1.82.0.alpha_1
libboost_timer.so.1.82.0 libboost_timer-1.82.0.alpha_1
libboost_random.so.1.82.0 libboost_random-1.82.0.alpha_1
libboost_filesystem.so.1.82.0 libboost_filesystem-1.82.0.alpha_1
libboost_unit_test_framework.so.1.82.0 libboost_unit_test_framework-1.82.0.alpha_1
libboost_math_c99.so.1.82.0 libboost_math_c99-1.82.0.alpha_1
libboost_math_tr1.so.1.82.0 libboost_math_tr1-1.82.0.alpha_1
libboost_nowide.so.1.82.0 libboost_nowide-1.82.0.alpha_1
libboost_json.so.1.82.0 libboost_json-1.82.0.alpha_1
libboost_regex.so.1.82.0 libboost_regex-1.82.0.alpha_1
libboost_serialization.so.1.82.0 libboost_serialization-1.82.0.alpha_1
libboost_chrono.so.1.82.0 libboost_chrono-1.82.0.alpha_1
libboost_wserialization.so.1.82.0 libboost_wserialization-1.82.0.alpha_1
libboost_graph.so.1.82.0 libboost_graph-1.82.0.alpha_1
libboost_graph_parallel.so.1.82.0 libboost_graph_parallel-1.82.0.alpha_1
libboost_log.so.1.82.0 libboost_log-1.82.0.alpha_1
libboost_locale.so.1.82.0 libboost_locale-1.82.0.alpha_1
libboost_program_options.so.1.82.0 libboost_program_options-1.82.0.alpha_1
libboost_iostreams.so.1.82.0 libboost_iostreams-1.82.0.alpha_1
libboost_system.so.1.82.0 libboost_system-1.82.0.alpha_1
libboost_sync.so.1.82.0 libboost_system-1.82.0.alpha_1
libboost_thread.so.1.82.0 libboost_thread-1.82.0.alpha_1
libboost_log_setup.so.1.82.0 libboost_log_setup-1.82.0.alpha_1
libboost_date_time.so.1.82.0 libboost_date_time-1.82.0.alpha_1
libboost_wave.so.1.82.0 libboost_wave-1.82.0.alpha_1
libboost_atomic.so.1.82.0 libboost_atomic-1.82.0.alpha_1
libboost_type_erasure.so.1.82.0 libboost_type_erasure-1.82.0.alpha_1
libboost_fiber.so.1.82.0 libboost_fiber-1.82.0.alpha_1
libboost_stacktrace_noop.so.1.82.0 libboost_stacktrace_noop-1.82.0.alpha_1
libboost_stacktrace_addr2line.so.1.82.0 libboost_stacktrace_addr2line-1.82.0.alpha_1
libboost_stacktrace_basic.so.1.82.0 libboost_stacktrace_basic-1.82.0.alpha_1
libboost_mpi.so.1.82.0 libboost_mpi-1.82.0.alpha_1
libboost_mpi_python311.so.1.82.0 libboost_mpi-python3-1.82.0.alpha_1
libboost_python311.so.1.82.0 boost-python3-1.82.0.alpha_1
libboost_context.so.1.83.0 libboost_context-1.83.0_1
libboost_coroutine.so.1.83.0 libboost_coroutine-1.83.0_1
libboost_container.so.1.83.0 libboost_container-1.83.0_1
libboost_prg_exec_monitor.so.1.83.0 libboost_prg_exec_monitor-1.83.0_1
libboost_timer.so.1.83.0 libboost_timer-1.83.0_1
libboost_random.so.1.83.0 libboost_random-1.83.0_1
libboost_filesystem.so.1.83.0 libboost_filesystem-1.83.0_1
libboost_unit_test_framework.so.1.83.0 libboost_unit_test_framework-1.83.0_1
libboost_math_c99.so.1.83.0 libboost_math_c99-1.83.0_1
libboost_math_tr1.so.1.83.0 libboost_math_tr1-1.83.0_1
libboost_nowide.so.1.83.0 libboost_nowide-1.83.0_1
libboost_json.so.1.83.0 libboost_json-1.83.0_1
libboost_regex.so.1.83.0 libboost_regex-1.83.0_1
libboost_serialization.so.1.83.0 libboost_serialization-1.83.0_1
libboost_chrono.so.1.83.0 libboost_chrono-1.83.0_1
libboost_wserialization.so.1.83.0 libboost_wserialization-1.83.0_1
libboost_graph.so.1.83.0 libboost_graph-1.83.0_1
libboost_graph_parallel.so.1.83.0 libboost_graph_parallel-1.83.0_1
libboost_log.so.1.83.0 libboost_log-1.83.0_1
libboost_locale.so.1.83.0 libboost_locale-1.83.0_1
libboost_program_options.so.1.83.0 libboost_program_options-1.83.0_1
libboost_iostreams.so.1.83.0 libboost_iostreams-1.83.0_1
libboost_system.so.1.83.0 libboost_system-1.83.0_1
libboost_sync.so.1.83.0 libboost_system-1.83.0_1
libboost_thread.so.1.83.0 libboost_thread-1.83.0_1
libboost_log_setup.so.1.83.0 libboost_log_setup-1.83.0_1
libboost_date_time.so.1.83.0 libboost_date_time-1.83.0_1
libboost_wave.so.1.83.0 libboost_wave-1.83.0_1
libboost_atomic.so.1.83.0 libboost_atomic-1.83.0_1
libboost_type_erasure.so.1.83.0 libboost_type_erasure-1.83.0_1
libboost_fiber.so.1.83.0 libboost_fiber-1.83.0_1
libboost_stacktrace_noop.so.1.83.0 libboost_stacktrace_noop-1.83.0_1
libboost_stacktrace_addr2line.so.1.83.0 libboost_stacktrace_addr2line-1.83.0_1
libboost_stacktrace_basic.so.1.83.0 libboost_stacktrace_basic-1.83.0_1
libboost_mpi.so.1.83.0 libboost_mpi-1.83.0_1
libboost_mpi_python311.so.1.83.0 libboost_mpi-python3-1.83.0_1
libboost_python311.so.1.83.0 boost-python3-1.83.0_1
libexempi.so.8 exempi-2.5.0_1
libatasmart.so.4 libatasmart-0.17_1
libsgutils2-1.45.so.2 libsgutils-1.45_1

View file

@ -1,24 +0,0 @@
glibc 2.36 doesn't have libdl.so, it has been melted into libc
Change to libz.so
Index: boost-1.81.0/libs/dll/test/shared_library_load_test.cpp
===================================================================
--- boost-1.81.0.orig/libs/dll/test/shared_library_load_test.cpp
+++ boost-1.81.0/libs/dll/test/shared_library_load_test.cpp
@@ -231,7 +231,7 @@ int main(int argc, char* argv[])
boost::dll::shared_library("winmm.dll");
BOOST_TEST(false);
#elif BOOST_OS_LINUX
- boost::dll::shared_library("libdl.so");
+ boost::dll::shared_library("libz.so");
BOOST_TEST(false);
#endif
} catch (...) {}
@@ -242,7 +242,7 @@ int main(int argc, char* argv[])
#if BOOST_OS_WINDOWS
boost::dll::shared_library("winmm", load_mode::search_system_folders | load_mode::append_decorations);
#elif BOOST_OS_LINUX
- boost::dll::shared_library("dl", boost::dll::load_mode::search_system_folders | load_mode::append_decorations);
+ boost::dll::shared_library("z", boost::dll::load_mode::search_system_folders | load_mode::append_decorations);
#endif
} catch (...) {
BOOST_TEST(false);

View file

@ -1,306 +0,0 @@
From 396eef1398a87463a234e7d313d637ea67df96b5 Mon Sep 17 00:00:00 2001
From: Andrey Semashev <andrey.semashev@gmail.com>
Date: Sun, 7 May 2023 20:58:27 +0300
Subject: [PATCH] Restrict generic path comparison operators to avoid
ambiguities with std lib.
Path comparison operators that accept arbitrary path source types now require
the other argument to be exactly path. This prevents the compiler from picking
those operators when the other argument is convertible to path. This can happen
even when neither of the arguments are actually paths, e.g. when the
comparison operators are brought into the current scope by a using directive.
Fixes https://github.com/boostorg/filesystem/issues/285.
---
diff --git a/boost/filesystem/path.hpp b/boost/filesystem/path.hpp
index 61278ef74..729e18812 100644
--- a/boost/filesystem/path.hpp
+++ b/boost/filesystem/path.hpp
@@ -1287,20 +1287,26 @@ BOOST_FORCEINLINE bool operator==(path const& lhs, path const& rhs)
return lhs.compare(rhs) == 0;
}
-template< typename Source >
+template< typename Path, typename Source >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator==(path const& lhs, Source const& rhs)
+>::type operator==(Path const& lhs, Source const& rhs)
{
return lhs.compare(rhs) == 0;
}
-template< typename Source >
+template< typename Source, typename Path >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator==(Source const& lhs, path const& rhs)
+>::type operator==(Source const& lhs, Path const& rhs)
{
return rhs.compare(lhs) == 0;
}
@@ -1310,20 +1316,26 @@ BOOST_FORCEINLINE bool operator!=(path const& lhs, path const& rhs)
return lhs.compare(rhs) != 0;
}
-template< typename Source >
+template< typename Path, typename Source >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator!=(path const& lhs, Source const& rhs)
+>::type operator!=(Path const& lhs, Source const& rhs)
{
return lhs.compare(rhs) != 0;
}
-template< typename Source >
+template< typename Source, typename Path >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator!=(Source const& lhs, path const& rhs)
+>::type operator!=(Source const& lhs, Path const& rhs)
{
return rhs.compare(lhs) != 0;
}
@@ -1333,20 +1345,26 @@ BOOST_FORCEINLINE bool operator<(path const& lhs, path const& rhs)
return lhs.compare(rhs) < 0;
}
-template< typename Source >
+template< typename Path, typename Source >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator<(path const& lhs, Source const& rhs)
+>::type operator<(Path const& lhs, Source const& rhs)
{
return lhs.compare(rhs) < 0;
}
-template< typename Source >
+template< typename Source, typename Path >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator<(Source const& lhs, path const& rhs)
+>::type operator<(Source const& lhs, Path const& rhs)
{
return rhs.compare(lhs) > 0;
}
@@ -1356,20 +1374,26 @@ BOOST_FORCEINLINE bool operator<=(path const& lhs, path const& rhs)
return lhs.compare(rhs) <= 0;
}
-template< typename Source >
+template< typename Path, typename Source >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator<=(path const& lhs, Source const& rhs)
+>::type operator<=(Path const& lhs, Source const& rhs)
{
return lhs.compare(rhs) <= 0;
}
-template< typename Source >
+template< typename Source, typename Path >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator<=(Source const& lhs, path const& rhs)
+>::type operator<=(Source const& lhs, Path const& rhs)
{
return rhs.compare(lhs) >= 0;
}
@@ -1379,20 +1403,26 @@ BOOST_FORCEINLINE bool operator>(path const& lhs, path const& rhs)
return lhs.compare(rhs) > 0;
}
-template< typename Source >
+template< typename Path, typename Source >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator>(path const& lhs, Source const& rhs)
+>::type operator>(Path const& lhs, Source const& rhs)
{
return lhs.compare(rhs) > 0;
}
-template< typename Source >
+template< typename Source, typename Path >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator>(Source const& lhs, path const& rhs)
+>::type operator>(Source const& lhs, Path const& rhs)
{
return rhs.compare(lhs) < 0;
}
@@ -1402,35 +1432,41 @@ BOOST_FORCEINLINE bool operator>=(path const& lhs, path const& rhs)
return lhs.compare(rhs) >= 0;
}
-template< typename Source >
+template< typename Path, typename Source >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator>=(path const& lhs, Source const& rhs)
+>::type operator>=(Path const& lhs, Source const& rhs)
{
return lhs.compare(rhs) >= 0;
}
-template< typename Source >
+template< typename Source, typename Path >
BOOST_FORCEINLINE typename boost::enable_if_c<
- detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >::value,
+ boost::conjunction<
+ boost::is_same< Path, path >,
+ detail::path_traits::is_convertible_to_path_source< typename boost::remove_cv< Source >::type >
+ >::value,
bool
->::type operator>=(Source const& lhs, path const& rhs)
+>::type operator>=(Source const& lhs, Path const& rhs)
{
return rhs.compare(lhs) <= 0;
}
// Note: Declared as a template to delay binding to Boost.ContainerHash functions and make the dependency optional
-template< typename T >
+template< typename Path >
inline typename boost::enable_if_c<
- boost::is_same< T, path >::value,
+ boost::is_same< Path, path >::value,
std::size_t
->::type hash_value(T const& p) BOOST_NOEXCEPT
+>::type hash_value(Path const& p) BOOST_NOEXCEPT
{
#ifdef BOOST_WINDOWS_API
std::size_t seed = 0u;
- for (typename T::value_type const* it = p.c_str(); *it; ++it)
+ for (typename Path::value_type const* it = p.c_str(); *it; ++it)
hash_combine(seed, *it == L'/' ? L'\\' : *it);
return seed;
#else // BOOST_POSIX_API
diff --git a/libs/filesystem/test/Jamfile.v2 b/libs/filesystem/test/Jamfile.v2
index d1ffc2a6f..5d70b08ec 100644
--- a/libs/filesystem/test/Jamfile.v2
+++ b/libs/filesystem/test/Jamfile.v2
@@ -85,6 +85,7 @@ run operations_test.cpp : : : <link>static <define>BOOST_FILESYSTEM_VERSION=4 :
run operations_unit_test.cpp : $(HERE) : : <link>shared <define>BOOST_FILESYSTEM_VERSION=4 <test-info>always_show_run_output ;
run copy_test.cpp : : : <define>BOOST_FILESYSTEM_VERSION=4 ;
compile-fail cf_path_nullptr_test.cpp ;
+compile path_operator_ambiguity.cpp : <toolset>gcc:<warnings-as-errors>on ;
run path_test.cpp : : : <link>shared <define>BOOST_FILESYSTEM_VERSION=4 ;
run path_test.cpp : : : <link>static <define>BOOST_FILESYSTEM_VERSION=4 : path_test_static ;
run path_test.cpp : : : <link>shared <define>BOOST_FILESYSTEM_VERSION=3 : path_test_v3 ;
diff --git a/libs/filesystem/test/path_operator_ambiguity.cpp b/libs/filesystem/test/path_operator_ambiguity.cpp
new file mode 100644
index 000000000..5a43a63b6
--- /dev/null
+++ b/libs/filesystem/test/path_operator_ambiguity.cpp
@@ -0,0 +1,53 @@
+// Copyright Andrey Semashev 2023
+//
+// Use, modification, and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See library home page at http://www.boost.org/libs/filesystem
+//
+// This test verifies that a using directive does not introduce operator
+// ambiguity with the standard library.
+// https://github.com/boostorg/filesystem/issues/285
+
+#include <string>
+#include <boost/filesystem.hpp>
+
+using namespace boost::filesystem;
+
+bool test_eq(char* arg)
+{
+ return std::string("abc") == arg;
+}
+
+bool test_ne(char* arg)
+{
+ return std::string("def") != arg;
+}
+
+bool test_lt(char* arg)
+{
+ return std::string("ghi") < arg;
+}
+
+bool test_gt(char* arg)
+{
+ return std::string("jkl") > arg;
+}
+
+bool test_le(char* arg)
+{
+ return std::string("mno") <= arg;
+}
+
+bool test_ge(char* arg)
+{
+ return std::string("pqr") >= arg;
+}
+
+int main(int, char* argv[])
+{
+ return test_eq(argv[0]) + test_ne(argv[0]) +
+ test_lt(argv[0]) + test_gt(argv[0]) +
+ test_le(argv[0]) + test_ge(argv[0]);
+}

View file

@ -0,0 +1,28 @@
--- a/libs/multiprecision/test/test_arithmetic.hpp
+++ b/libs/multiprecision/test/test_arithmetic.hpp
@@ -2592,10 +2592,12 @@ typename std::enable_if<boost::multiprec
BOOST_CHECK_EQUAL(real(a), 6);
BOOST_CHECK_EQUAL(imag(a), 0);
+#if 0
r = abs(c);
BOOST_CHECK_CLOSE_FRACTION(real_type("3.60555127546398929311922126747049594625129657384524621271045305622716694829301044520461908201849071767351418202406"), r, tol);
r = arg(c);
BOOST_CHECK_CLOSE_FRACTION(real_type("0.98279372324732906798571061101466601449687745363162855676142508831798807154979603538970653437281731110816513970201"), r, tol);
+#endif
r = norm(c);
BOOST_CHECK_CLOSE_FRACTION(real_type(13), r, tol);
a = conj(c);
@@ -2630,10 +2632,12 @@ typename std::enable_if<boost::multiprec
BOOST_CHECK_EQUAL(3, real(a));
BOOST_CHECK_EQUAL(0, imag(a));
+#if 0
r = abs(c + 0);
BOOST_CHECK_CLOSE_FRACTION(real_type("3.60555127546398929311922126747049594625129657384524621271045305622716694829301044520461908201849071767351418202406"), r, tol);
r = arg(c + 0);
BOOST_CHECK_CLOSE_FRACTION(real_type("0.98279372324732906798571061101466601449687745363162855676142508831798807154979603538970653437281731110816513970201"), r, tol);
+#endif
r = norm(c + 0);
BOOST_CHECK_CLOSE_FRACTION(real_type(13), r, tol);
a = conj(c + 0);

View file

@ -1,28 +0,0 @@
Index: boost-1.81.0/libs/json/Jamfile
===================================================================
--- boost-1.81.0.orig/libs/json/Jamfile
+++ boost-1.81.0/libs/json/Jamfile
@@ -9,7 +9,6 @@
import feature ;
-build-project bench ;
build-project test ;
build-project fuzzing ;
build-project example ;
Index: boost-1.81.0/libs/json/test/Jamfile
===================================================================
--- boost-1.81.0.orig/libs/json/test/Jamfile
+++ boost-1.81.0/libs/json/test/Jamfile
@@ -60,7 +60,10 @@ project : requirements <include>. ;
for local f in $(SOURCES)
{
- run $(f) main.cpp /boost/json//boost_json ;
+ run $(f) main.cpp /boost/json//boost_json
+ : requirements
+ <cxxflags>-fno-var-tracking-assignments
+ ;
}
run limits.cpp main.cpp /boost/json//json_sources

View file

@ -0,0 +1,20 @@
--- a/libs/random/test/multiprecision_float_test.cpp
+++ b/libs/random/test/multiprecision_float_test.cpp
@@ -15,6 +15,7 @@
#include <boost/test/unit_test.hpp>
#include <boost/core/ignore_unused.hpp>
+#include <boost/mpl/list.hpp>
#include <boost/multiprecision/cpp_bin_float.hpp>
#include <boost/multiprecision/cpp_int.hpp>
#include <boost/multiprecision/debug_adaptor.hpp>
--- a/libs/random/test/multiprecision_int_test.cpp
+++ b/libs/random/test/multiprecision_int_test.cpp
@@ -21,6 +21,7 @@
#include <boost/test/unit_test.hpp>
#include <boost/core/ignore_unused.hpp>
+#include <boost/mpl/list.hpp>
#include <boost/multiprecision/debug_adaptor.hpp>
#include <boost/multiprecision/cpp_bin_float.hpp>
#include <boost/multiprecision/cpp_int.hpp>

View file

@ -0,0 +1,51 @@
--- a/libs/mpi/test/Jamfile.v2
+++ b/libs/mpi/test/Jamfile.v2
@@ -21,36 +21,32 @@ test-suite mpi
[ mpi-test block_nonblock_test-nb2b : block_nonblock_test.cpp : : 2 ]
[ mpi-test random_gather : ../example/random_gather.cpp : : 2 ]
[ mpi-test random_scatter : ../example/random_scatter.cpp : : 2 ]
- [ mpi-test cartesian_communicator : ../example/cartesian_communicator.cpp : : 24 ]
[ mpi-test cartesian_topology_init_test : : : 1 ]
[ mpi-test broadcast_stl_test : : : 2 ]
- [ mpi-test all_gather_test : : : 1 2 11 ]
- [ mpi-test all_reduce_test : : : 1 2 11 ]
- [ mpi-test all_to_all_test : : : 1 2 11 ]
- [ mpi-test broadcast_test : : : 2 17 ]
- [ mpi-test gather_test : : : 1 2 11 ]
+ [ mpi-test all_gather_test : : : 1 2 ]
+ [ mpi-test all_reduce_test : : : 1 2 ]
+ [ mpi-test all_to_all_test : : : 1 2 ]
+ [ mpi-test broadcast_test : : : 2 ]
+ [ mpi-test gather_test : : : 1 2 ]
[ mpi-test is_mpi_op_test : : : 1 ]
[ mpi-test mt_level_test : : : 1 ]
[ mpi-test mt_init_test : : : 1 4 ]
# Note: Microsoft MPI fails nonblocking_test on 1 processor
- [ mpi-test nonblocking_test : : : 2 11 24 ]
- [ mpi-test reduce_test ]
- [ mpi-test ring_test : : : 2 3 4 7 8 13 17 ]
- [ mpi-test sendrecv_test : : : 1 4 7 48 ]
- [ mpi-test wait_any_test : : : 1 4 7 20 ]
+ [ mpi-test nonblocking_test : : : 2 ]
+ [ mpi-test ring_test : : : 2 3 4 ]
+ [ mpi-test sendrecv_test : : : 1 4 ]
+ [ mpi-test wait_any_test : : : 1 4 ]
[ mpi-test wait_all_vector_test : : : 2 ]
[ mpi-test wait_all_on_null : : : 1 2 ]
- [ mpi-test scan_test ]
[ mpi-test scatter_test ]
# Note: Microsoft MPI fails all skeleton-content tests
- [ mpi-test skeleton_content_test : : : 2 3 4 7 8 13 17 ]
- [ mpi-test graph_topology_test : : : 2 7 13 ]
- [ mpi-test cartesian_topology_test : : : 24 ]
+ [ mpi-test skeleton_content_test : : : 2 3 4 ]
+ [ mpi-test graph_topology_test : : : 2 ]
[ mpi-test pointer_test : : : 2 ]
[ mpi-test groups_test ]
# tests that require -std=c++11
[ mpi-test sendrecv_vector : : : 2 ]
# Intel MPI 2018 and older are axtected to fail:
- [ mpi-test non_blocking_any_source : : : 2 17 ]
+ [ mpi-test non_blocking_any_source : : : 2 ]
;
}

View file

@ -0,0 +1,11 @@
--- a/libs/phoenix/test/Jamfile
+++ b/libs/phoenix/test/Jamfile
@@ -146,7 +146,7 @@ test-suite phoenix_scope :
[ run scope/lambda_tests19.cpp ]
[ run scope/lambda_tests20.cpp ]
[ run scope/lambda_tests21.cpp ]
- [ run scope/lambda_tests22.cpp ]
+# [ run scope/lambda_tests22.cpp ]
[ run scope/lambda_tests23.cpp ]
[ run scope/let_tests.cpp ]
[ run scope/let_tests_113.cpp ]

View file

@ -0,0 +1,48 @@
--- a/boost/parameter/python.hpp
+++ b/boost/parameter/python.hpp
@@ -66,7 +66,11 @@ namespace boost { namespace parameter {
if (Py_TYPE(&unspecified) == 0)
{
+#if PY_VERSION_HEX >= 0x03090000
+ Py_SET_TYPE(&unspecified, &PyType_Type);
+#else
Py_TYPE(&unspecified) = &PyType_Type;
+#endif
PyType_Ready(&unspecified);
}
--- a/libs/python/test/upcast.cpp
+++ b/libs/python/test/upcast.cpp
@@ -13,7 +13,7 @@ int main()
{
PyTypeObject o;
Y y;
- BOOST_TEST(&Py_REFCNT(boost::python::upcast<PyObject>(&o)) == &Py_REFCNT(&o));
- BOOST_TEST(&Py_REFCNT(boost::python::upcast<PyObject>(&y)) == &Py_REFCNT(&y));
+ BOOST_TEST(Py_REFCNT(boost::python::upcast<PyObject>(&o)) == Py_REFCNT(&o));
+ BOOST_TEST(Py_REFCNT(boost::python::upcast<PyObject>(&y)) == Py_REFCNT(&y));
return boost::report_errors();
}
--- a/libs/python/test/pickle1.py
+++ b/libs/python/test/pickle1.py
@@ -10,7 +10,7 @@ r'''>>> import pickle1_ext
>>> pickle1_ext.world.__name__
'world'
>>> pickle1_ext.world('Hello').__reduce__()
- (<class 'pickle1_ext.world'>, ('Hello',))
+ (<class 'pickle1_ext.world'>, ('Hello',), None)
>>> wd = pickle1_ext.world('California')
>>> pstr = pickle.dumps(wd)
>>> wl = pickle.loads(pstr)
--- a/libs/python/test/pickle4.py
+++ b/libs/python/test/pickle4.py
@@ -13,7 +13,7 @@ r'''>>> import pickle4_ext
>>> pickle4_ext.world.__name__
'world'
>>> pickle4_ext.world('Hello').__reduce__()
- (<class 'pickle4_ext.world'>, ('Hello',))
+ (<class 'pickle4_ext.world'>, ('Hello',), None)
>>> wd = pickle4_ext.world('California')
>>> pstr = pickle.dumps(wd)
>>> wl = pickle.loads(pstr)

View file

View file

@ -0,0 +1,60 @@
--- a/libs/crc/test/crc_test.cpp
+++ b/libs/crc/test/crc_test.cpp
@@ -21,6 +21,7 @@
#include <boost/integer.hpp> // for boost::uint_t
#include <boost/random/linear_congruential.hpp> // for boost::minstd_rand
#include <boost/core/lightweight_test.hpp>
+#define BOOST_TIMER_ENABLE_DEPRECATED
#include <boost/timer.hpp> // for boost::timer
#include <algorithm> // for std::for_each, std::generate_n, std::count
--- a/libs/function_types/example/fast_mem_fn_example.cpp
+++ b/libs/function_types/example/fast_mem_fn_example.cpp
@@ -13,6 +13,7 @@
#include <algorithm>
#include <functional>
+#define BOOST_TIMER_ENABLE_DEPRECATED
#include <boost/timer.hpp>
#include <boost/mem_fn.hpp>
--- a/libs/graph/example/fr_layout.cpp
+++ b/libs/graph/example/fr_layout.cpp
@@ -15,6 +15,7 @@
#include <iostream>
#include <map>
#include <vector>
+#define BOOST_TIMER_ENABLE_DEPRECATED
#include <boost/random/linear_congruential.hpp>
#include <boost/progress.hpp>
#include <boost/shared_ptr.hpp>
--- a/libs/program_options/test/test_convert.cpp
+++ b/libs/program_options/test/test_convert.cpp
@@ -9,6 +9,7 @@
#include <fstream>
#include <sstream>
#include <iostream>
+#define BOOST_TIMER_ENABLE_DEPRECATED
#include <boost/progress.hpp>
#include <boost/bind.hpp>
#include <boost/ref.hpp>
--- a/libs/regex/example/timer/regex_timer.cpp
+++ b/libs/regex/example/timer/regex_timer.cpp
@@ -16,6 +16,7 @@
#include <boost/config.hpp>
#include <boost/regex.hpp>
#include <boost/cregex.hpp>
+#define BOOST_TIMER_ENABLE_DEPRECATED
#include <boost/timer.hpp>
#include <boost/smart_ptr.hpp>
--- a/libs/regex/test/static_mutex/static_mutex_test.cpp
+++ b/libs/regex/test/static_mutex/static_mutex_test.cpp
@@ -18,6 +18,7 @@
#include <boost/regex/pending/static_mutex.hpp>
#include <boost/thread/thread.hpp>
+#define BOOST_TIMER_ENABLE_DEPRECATED
#include <boost/timer.hpp>
#include <iostream>
#include <iomanip>

View file

@ -0,0 +1,11 @@
--- a/libs/wave/test/testwave/testfiles/test.cfg
+++ b/libs/wave/test/testwave/testfiles/test.cfg
@@ -168,7 +168,7 @@ t_6_014.cpp
t_6_015.cpp
t_6_016.cpp
t_6_017.cpp
-t_6_018.cpp
+# t_6_018.cpp
t_6_019.cpp
t_6_020.cpp
t_6_021.cpp

View file

@ -1,7 +1,7 @@
# Template file for 'boost'
pkgname=boost
version=1.82.0
revision=2
version=1.83.0
revision=1
build_style=meta
hostmakedepends="which bzip2-devel icu-devel python3-devel pkg-config openmpi"
makedepends="zlib-devel bzip2-devel icu-devel python3-devel liblzma-devel
@ -12,7 +12,7 @@ maintainer="John <me@johnnynator.dev>"
license="BSL-1.0"
homepage="https://www.boost.org/"
distfiles="https://boostorg.jfrog.io/artifactory/main/release/${version%.rc*}/source/boost_${version//./_}.tar.bz2"
checksum=a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6
checksum=6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e
python_version=3
# please do NOT delete below lines,
@ -120,6 +120,8 @@ do_check() {
local _fail=""
# https://github.com/boostorg/contract/issues/30
_fail+=" contract"
# Too heavy
_fail+=" mpi"
# requires clang
rm -f libs/hana/test/experimental/type_name.cpp
# https://github.com/open-mpi/ompi/issues/7330
@ -132,7 +134,7 @@ do_check() {
# required by boost::math
mkdir -p .temps
for _testcase in libs/gil/test/ libs/*/test/; do
for _testcase in libs/wave/test/ libs/*/test/; do
_testcase=${_testcase%/test/}
_component=${_testcase#libs/}
case " $_fail " in
@ -141,7 +143,7 @@ do_check() {
esac
_component="boost::$_component"
msg_normal "Testing: $_component\n"
./b2 $_testcase \
./b2 $_testcase/test \
--user-config=${wrksrc}/user-config.jam \
--toolset=gcc abi=${_abi} architecture=${_arch} \
python=${py3_ver} release warnings-as-errors=off \