Compare commits
9 Commits
Author | SHA1 | Date |
---|---|---|
Jonathan Wakely | d62152daf2 | |
Jonathan Wakely | 9b9c9106a8 | |
Jonathan Wakely | 204b6db7df | |
Jonathan Wakely | d2ac0b0af1 | |
Jonathan Wakely | 5e1708f1ef | |
Jonathan Wakely | 80270d1c8d | |
Jonathan Wakely | a3a5acdf75 | |
Jonathan Wakely | 4ff7689c27 | |
Jonathan Wakely | 77bf9c3e21 |
|
@ -1,5 +1,33 @@
|
|||
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2017-12-13 23:56:50.000000000 +0000
|
||||
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 12:48:26.264755316 +0000
|
||||
diff -up ./tools/build/src/tools/gcc.jam~ ./tools/build/src/tools/gcc.jam
|
||||
--- ./tools/build/src/tools/gcc.jam~ 2015-02-09 15:01:04.850331626 +0100
|
||||
+++ ./tools/build/src/tools/gcc.jam 2015-02-09 15:44:29.122307134 +0100
|
||||
@@ -366,17 +366,17 @@ generators.override gcc.compile.c++.pch
|
||||
toolset.flags gcc.compile PCH_FILE <pch>on : <pch-file> ;
|
||||
|
||||
# Declare flags and action for compilation.
|
||||
-toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
|
||||
-toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
|
||||
-toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
|
||||
|
||||
-toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
|
||||
-toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
|
||||
-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
|
||||
+toolset.flags gcc.compile OPTIONS <inlining>off : ;
|
||||
+toolset.flags gcc.compile OPTIONS <inlining>on : ;
|
||||
+toolset.flags gcc.compile OPTIONS <inlining>full : ;
|
||||
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>off : -w ;
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>all : -Wall -pedantic ;
|
||||
+toolset.flags gcc.compile OPTIONS <warnings>off : ;
|
||||
+toolset.flags gcc.compile OPTIONS <warnings>on : ;
|
||||
+toolset.flags gcc.compile OPTIONS <warnings>all : ;
|
||||
toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
|
||||
|
||||
toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;
|
||||
@@ -603,7 +603,7 @@ rule compile.fortran ( targets * : sourc
|
||||
|
||||
actions compile.c++ bind PCH_FILE
|
||||
|
@ -18,32 +46,3 @@
|
|||
}
|
||||
|
||||
actions compile.c.preprocess bind PCH_FILE
|
||||
@@ -755,17 +755,17 @@ actions compile.c.pch
|
||||
###
|
||||
|
||||
# Declare flags and action for compilation.
|
||||
-toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
|
||||
-toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
|
||||
-toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
|
||||
-
|
||||
-toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
|
||||
-toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
|
||||
-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
|
||||
-
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>off : -w ;
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>all : -Wall -pedantic ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
|
||||
+
|
||||
+toolset.flags gcc.compile OPTIONS <inlining>off : ;
|
||||
+toolset.flags gcc.compile OPTIONS <inlining>on : ;
|
||||
+toolset.flags gcc.compile OPTIONS <inlining>full : ;
|
||||
+
|
||||
+toolset.flags gcc.compile OPTIONS <warnings>off : ;
|
||||
+toolset.flags gcc.compile OPTIONS <warnings>on : ;
|
||||
+toolset.flags gcc.compile OPTIONS <warnings>all : ;
|
||||
toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
|
||||
|
||||
toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;
|
|
@ -49,8 +49,8 @@
|
|||
extension-suffix ?= "" ;
|
||||
+ abi-letters ?= "" ;
|
||||
|
||||
local cmds-to-try ;
|
||||
|
||||
# Normalize and dissect any version number.
|
||||
local major-minor ;
|
||||
@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
|
||||
}
|
||||
else
|
|
@ -1,8 +1,8 @@
|
|||
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:09:56.041685502 +0000
|
||||
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:09:56.042685500 +0000
|
||||
--- boost_1_58_0/tools/build/src/tools/gcc.jam~ 2015-07-17 15:14:57.381636224 +0100
|
||||
+++ boost_1_58_0/tools/build/src/tools/gcc.jam 2015-07-27 17:35:29.122264048 +0100
|
||||
@@ -421,7 +421,9 @@
|
||||
|
||||
rule set-address-model-options ( targets * : sources * : properties * )
|
||||
rule setup-address-model ( targets * : sources * : properties * )
|
||||
{
|
||||
- local model = [ feature.get-values address-model : $(properties) ] ;
|
||||
+ # For RPM builds the address model flag is passed in %{optflags}.
|
|
@ -1,6 +1,7 @@
|
|||
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:23:45.361330881 +0000
|
||||
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:23:45.362330880 +0000
|
||||
@@ -1191,7 +1191,7 @@ rule link ( targets * : sources * : prop
|
||||
diff -up tools/build/src/tools/gcc.jam.rpath tools/build/src/tools/gcc.jam
|
||||
--- tools/build/src/tools/gcc.jam.rpath 2016-05-27 13:30:01.092192721 -0500
|
||||
+++ tools/build/src/tools/gcc.jam 2016-05-27 13:30:46.686987585 -0500
|
||||
@@ -952,7 +952,7 @@ rule link ( targets * : sources * : prop
|
||||
|
||||
actions link bind LIBRARIES
|
||||
{
|
||||
|
@ -8,8 +9,8 @@
|
|||
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
|
||||
}
|
||||
|
||||
rule link.dll ( targets * : sources * : properties * )
|
||||
@@ -1204,7 +1204,7 @@ rule link.dll ( targets * : sources * :
|
||||
|
||||
@@ -1018,7 +1018,7 @@ rule link.dll ( targets * : sources * :
|
||||
# Differs from 'link' above only by -shared.
|
||||
actions link.dll bind LIBRARIES
|
||||
{
|
||||
|
@ -17,4 +18,4 @@
|
|||
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
|
||||
}
|
||||
|
||||
###
|
||||
rule setup-threading ( targets * : sources * : properties * )
|
|
@ -0,0 +1,86 @@
|
|||
From 17a4997aaa05ce92237c73c82e6d8fb475a0abaf Mon Sep 17 00:00:00 2001
|
||||
From: jzmaddock <john@johnmaddock.co.uk>
|
||||
Date: Fri, 11 Aug 2017 19:38:00 +0100
|
||||
Subject: [PATCH 1/2] Update for CUDA version macro changes.
|
||||
|
||||
---
|
||||
include/boost/config/compiler/nvcc.hpp | 15 ++++++++++++---
|
||||
1 file changed, 12 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/include/boost/config/compiler/nvcc.hpp b/include/boost/config/compiler/nvcc.hpp
|
||||
index 43039b5c2..907eade96 100644
|
||||
--- a/include/boost/config/compiler/nvcc.hpp
|
||||
+++ b/include/boost/config/compiler/nvcc.hpp
|
||||
@@ -11,6 +11,15 @@
|
||||
# define BOOST_COMPILER "NVIDIA CUDA C++ Compiler"
|
||||
#endif
|
||||
|
||||
+#if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__)
|
||||
+# define BOOST_CUDA_VERSION __CUDACC_VER_MAJOR__ * 10000 + __CUDACC_VER_MINOR__ * 100 + __CUDACC_VER_BUILD__
|
||||
+#elif defined(__CUDACC_VER__)
|
||||
+ define BOOST_CUDA_VERSION __CUDACC_VER__
|
||||
+#else
|
||||
+// We don't really know what the CUDA version is, but it's definitely before 7.5:
|
||||
+# define BOOST_CUDA_VERSION 70000
|
||||
+#endif
|
||||
+
|
||||
// NVIDIA Specific support
|
||||
// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
|
||||
#define BOOST_GPU_ENABLED __host__ __device__
|
||||
@@ -19,11 +28,11 @@
|
||||
// https://svn.boost.org/trac/boost/ticket/11897
|
||||
// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance
|
||||
// check is enough to detect versions < 7.5
|
||||
-#if !defined(__CUDACC_VER__) || (__CUDACC_VER__ < 70500)
|
||||
+#if BOOST_CUDA_VERSION < 70500
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
// The same bug is back again in 8.0:
|
||||
-#if (__CUDACC_VER__ > 80000) && (__CUDACC_VER__ < 80100)
|
||||
+#if (BOOST_CUDA_VERSION > 80000) && (BOOST_CUDA_VERSION < 80100)
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
// Most recent CUDA (8.0) has no constexpr support in msvc mode:
|
||||
|
||||
From 593389dc4b4dae14e6d38bb1c81b7bf70ec21f26 Mon Sep 17 00:00:00 2001
|
||||
From: jzmaddock <john@johnmaddock.co.uk>
|
||||
Date: Fri, 18 Aug 2017 18:13:38 +0100
|
||||
Subject: [PATCH 2/2] Update nvcc.hpp
|
||||
|
||||
---
|
||||
include/boost/config/compiler/nvcc.hpp | 12 +++++-------
|
||||
1 file changed, 5 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/include/boost/config/compiler/nvcc.hpp b/include/boost/config/compiler/nvcc.hpp
|
||||
index 907eade96..f21b9b54f 100644
|
||||
--- a/include/boost/config/compiler/nvcc.hpp
|
||||
+++ b/include/boost/config/compiler/nvcc.hpp
|
||||
@@ -12,12 +12,10 @@
|
||||
#endif
|
||||
|
||||
#if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__)
|
||||
-# define BOOST_CUDA_VERSION __CUDACC_VER_MAJOR__ * 10000 + __CUDACC_VER_MINOR__ * 100 + __CUDACC_VER_BUILD__
|
||||
-#elif defined(__CUDACC_VER__)
|
||||
- define BOOST_CUDA_VERSION __CUDACC_VER__
|
||||
+# define BOOST_CUDA_VERSION __CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__
|
||||
#else
|
||||
// We don't really know what the CUDA version is, but it's definitely before 7.5:
|
||||
-# define BOOST_CUDA_VERSION 70000
|
||||
+# define BOOST_CUDA_VERSION 7000000
|
||||
#endif
|
||||
|
||||
// NVIDIA Specific support
|
||||
@@ -28,11 +26,11 @@
|
||||
// https://svn.boost.org/trac/boost/ticket/11897
|
||||
// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance
|
||||
// check is enough to detect versions < 7.5
|
||||
-#if BOOST_CUDA_VERSION < 70500
|
||||
+#if BOOST_CUDA_VERSION < 7050000
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
// The same bug is back again in 8.0:
|
||||
-#if (BOOST_CUDA_VERSION > 80000) && (BOOST_CUDA_VERSION < 80100)
|
||||
+#if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000)
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
// Most recent CUDA (8.0) has no constexpr support in msvc mode:
|
|
@ -0,0 +1,37 @@
|
|||
From 32178e147a976419b9ac846d3c40c3ab4d1e0ff6 Mon Sep 17 00:00:00 2001
|
||||
From: Mathias Gaunard <mathias@gaunard.com>
|
||||
Date: Thu, 4 May 2017 17:18:22 +0100
|
||||
Subject: [PATCH] Compatibility with GCC 7.1
|
||||
|
||||
The libstdc++ shipped with GCC 7.1 uses a unary class template for std::string.
|
||||
type_to_string needs to be adapted to deal with this properly.
|
||||
---
|
||||
include/boost/icl/type_traits/type_to_string.hpp | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/boost/icl/type_traits/type_to_string.hpp b/include/boost/icl/type_traits/type_to_string.hpp
|
||||
index 80c473a..994711b 100644
|
||||
--- a/include/boost/icl/type_traits/type_to_string.hpp
|
||||
+++ b/include/boost/icl/type_traits/type_to_string.hpp
|
||||
@@ -43,7 +43,6 @@ namespace boost{ namespace icl
|
||||
|
||||
template<>inline std::string type_to_string<float>::apply() { return "flt"; }
|
||||
template<>inline std::string type_to_string<double>::apply() { return "dbl"; }
|
||||
- template<>inline std::string type_to_string<std::string>::apply() { return "string"; }
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
template<template<class> class Templ>
|
||||
@@ -78,6 +77,13 @@ namespace boost{ namespace icl
|
||||
}
|
||||
};
|
||||
|
||||
+ // ---------------------------------------------------------------------------
|
||||
+ template<>
|
||||
+ struct type_to_string<std::string>
|
||||
+ {
|
||||
+ static std::string apply() { return "string"; }
|
||||
+ };
|
||||
+
|
||||
}} // namespace boost icl
|
||||
|
||||
#endif
|
|
@ -0,0 +1,28 @@
|
|||
From 9687dea689e58cd1f67440fa529cb5c9692e9858 Mon Sep 17 00:00:00 2001
|
||||
From: Avi Kivity <avi@scylladb.com>
|
||||
Date: Sun, 2 Jul 2017 12:56:35 +0300
|
||||
Subject: [PATCH] Fix undefined behavior in interval_bounds::reverse_right()
|
||||
|
||||
The ~ operator converts _bits from unsigned char to int, and makes it
|
||||
negative to boot. Shifting left a negative number is undefined behavior.
|
||||
|
||||
Cast it back to unsigned char to prevent undefined behavior.
|
||||
---
|
||||
include/boost/icl/interval_bounds.hpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/boost/icl/interval_bounds.hpp b/include/boost/icl/interval_bounds.hpp
|
||||
index edf16d0..f917cb6 100644
|
||||
--- a/include/boost/icl/interval_bounds.hpp
|
||||
+++ b/include/boost/icl/interval_bounds.hpp
|
||||
@@ -41,8 +41,8 @@ class interval_bounds
|
||||
interval_bounds all ()const { return interval_bounds(_bits & _all ); }
|
||||
interval_bounds left ()const { return interval_bounds(_bits & _left ); }
|
||||
interval_bounds right()const { return interval_bounds(_bits & _right); }
|
||||
- interval_bounds reverse_left ()const { return interval_bounds((~_bits>>1) & _right); }
|
||||
- interval_bounds reverse_right()const { return interval_bounds((~_bits<<1) & _left ); }
|
||||
+ interval_bounds reverse_left ()const { return interval_bounds((bound_type(~_bits)>>1) & _right); }
|
||||
+ interval_bounds reverse_right()const { return interval_bounds((bound_type(~_bits)<<1) & _left ); }
|
||||
|
||||
bound_type bits()const{ return _bits; }
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
From babaa35f51d8b009eba762bc50a5290906b4b0ca Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Wakely <jwakely@redhat.com>
|
||||
Date: Thu, 26 Jan 2017 20:15:19 +0000
|
||||
Subject: [PATCH] Replace boost::serialization::detail::get_data function.
|
||||
|
||||
---
|
||||
include/boost/mpi/detail/mpi_datatype_primitive.hpp | 19 ++++++++++++-------
|
||||
include/boost/mpi/detail/packed_iprimitive.hpp | 8 ++++++--
|
||||
include/boost/mpi/detail/packed_oprimitive.hpp | 8 ++++++--
|
||||
3 files changed, 24 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/include/boost/mpi/detail/mpi_datatype_primitive.hpp b/include/boost/mpi/detail/mpi_datatype_primitive.hpp
|
||||
index c230055..b95fc38 100644
|
||||
--- a/include/boost/mpi/detail/mpi_datatype_primitive.hpp
|
||||
+++ b/include/boost/mpi/detail/mpi_datatype_primitive.hpp
|
||||
@@ -25,7 +25,6 @@ namespace std{
|
||||
#include <boost/assert.hpp>
|
||||
#include <boost/mpl/placeholders.hpp>
|
||||
#include <boost/serialization/array.hpp>
|
||||
-#include <boost/serialization/detail/get_data.hpp>
|
||||
#include <stdexcept>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
@@ -80,18 +79,18 @@ class mpi_datatype_primitive
|
||||
BOOST_MPI_CHECK_RESULT(MPI_Type_create_struct,
|
||||
(
|
||||
addresses.size(),
|
||||
- boost::serialization::detail::get_data(lengths),
|
||||
- boost::serialization::detail::get_data(addresses),
|
||||
- boost::serialization::detail::get_data(types),
|
||||
+ get_data(lengths),
|
||||
+ get_data(addresses),
|
||||
+ get_data(types),
|
||||
&datatype_
|
||||
));
|
||||
#else
|
||||
BOOST_MPI_CHECK_RESULT(MPI_Type_struct,
|
||||
(
|
||||
addresses.size(),
|
||||
- boost::serialization::detail::get_data(lengths),
|
||||
- boost::serialization::detail::get_data(addresses),
|
||||
- boost::serialization::detail::get_data(types),
|
||||
+ get_data(lengths),
|
||||
+ get_data(addresses),
|
||||
+ get_data(types),
|
||||
&datatype_
|
||||
));
|
||||
#endif
|
||||
@@ -129,6 +128,12 @@ class mpi_datatype_primitive
|
||||
lengths.push_back(l);
|
||||
}
|
||||
|
||||
+ template <class T>
|
||||
+ static T* get_data(std::vector<T>& v)
|
||||
+ {
|
||||
+ return v.empty() ? 0 : &(v[0]);
|
||||
+ }
|
||||
+
|
||||
std::vector<MPI_Aint> addresses;
|
||||
std::vector<MPI_Datatype> types;
|
||||
std::vector<int> lengths;
|
||||
diff --git a/include/boost/mpi/detail/packed_iprimitive.hpp b/include/boost/mpi/detail/packed_iprimitive.hpp
|
||||
index 7080cbf..227dc8e 100644
|
||||
--- a/include/boost/mpi/detail/packed_iprimitive.hpp
|
||||
+++ b/include/boost/mpi/detail/packed_iprimitive.hpp
|
||||
@@ -16,7 +16,6 @@
|
||||
#include <boost/mpi/exception.hpp>
|
||||
#include <boost/assert.hpp>
|
||||
#include <boost/serialization/array.hpp>
|
||||
-#include <boost/serialization/detail/get_data.hpp>
|
||||
#include <vector>
|
||||
#include <boost/mpi/allocator.hpp>
|
||||
|
||||
@@ -104,7 +103,12 @@ class BOOST_MPI_DECL packed_iprimitive
|
||||
void load_impl(void * p, MPI_Datatype t, int l)
|
||||
{
|
||||
BOOST_MPI_CHECK_RESULT(MPI_Unpack,
|
||||
- (const_cast<char*>(boost::serialization::detail::get_data(buffer_)), buffer_.size(), &position, p, l, t, comm));
|
||||
+ (get_data(buffer_), buffer_.size(), &position, p, l, t, comm));
|
||||
+ }
|
||||
+
|
||||
+ static buffer_type::value_type* get_data(buffer_type& b)
|
||||
+ {
|
||||
+ return b.empty() ? 0 : &(b[0]);
|
||||
}
|
||||
|
||||
buffer_type & buffer_;
|
||||
diff --git a/include/boost/mpi/detail/packed_oprimitive.hpp b/include/boost/mpi/detail/packed_oprimitive.hpp
|
||||
index fbcde9a..3c81a70 100644
|
||||
--- a/include/boost/mpi/detail/packed_oprimitive.hpp
|
||||
+++ b/include/boost/mpi/detail/packed_oprimitive.hpp
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
#include <boost/mpi/datatype.hpp>
|
||||
#include <boost/mpi/exception.hpp>
|
||||
-#include <boost/serialization/detail/get_data.hpp>
|
||||
#include <boost/serialization/array.hpp>
|
||||
#include <boost/assert.hpp>
|
||||
#include <vector>
|
||||
@@ -103,13 +102,18 @@ class BOOST_MPI_DECL packed_oprimitive
|
||||
|
||||
// pack the data into the buffer
|
||||
BOOST_MPI_CHECK_RESULT(MPI_Pack,
|
||||
- (const_cast<void*>(p), l, t, boost::serialization::detail::get_data(buffer_), buffer_.size(), &position, comm));
|
||||
+ (const_cast<void*>(p), l, t, get_data(buffer_), buffer_.size(), &position, comm));
|
||||
// reduce the buffer size if needed
|
||||
BOOST_ASSERT(std::size_t(position) <= buffer_.size());
|
||||
if (std::size_t(position) < buffer_.size())
|
||||
buffer_.resize(position);
|
||||
}
|
||||
|
||||
+ static buffer_type::value_type* get_data(buffer_type& b)
|
||||
+ {
|
||||
+ return b.empty() ? 0 : &(b[0]);
|
||||
+ }
|
||||
+
|
||||
buffer_type& buffer_;
|
||||
mutable std::size_t size_;
|
||||
MPI_Comm comm;
|
|
@ -0,0 +1,26 @@
|
|||
From bc9b25b5d3c3784543158510c6087d41739ab64a Mon Sep 17 00:00:00 2001
|
||||
From: jzmaddock <john@johnmaddock.co.uk>
|
||||
Date: Mon, 31 Jul 2017 19:18:10 +0100
|
||||
Subject: [PATCH] Fix potential overflow in max_state_count calculation. Fixes:
|
||||
https://svn.boost.org/trac10/ticket/13036.
|
||||
|
||||
---
|
||||
include/boost/regex/v4/perl_matcher_common.hpp | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/include/boost/regex/v4/perl_matcher_common.hpp b/include/boost/regex/v4/perl_matcher_common.hpp
|
||||
index 7974e7483..f08e9d434 100644
|
||||
--- a/include/boost/regex/v4/perl_matcher_common.hpp
|
||||
+++ b/include/boost/regex/v4/perl_matcher_common.hpp
|
||||
@@ -113,6 +113,11 @@ void perl_matcher<BidiIterator, Allocator, traits>::estimate_max_state_count(std
|
||||
std::ptrdiff_t states = re.size();
|
||||
if(states == 0)
|
||||
states = 1;
|
||||
+ if ((std::numeric_limits<std::ptrdiff_t>::max)() / states < states)
|
||||
+ {
|
||||
+ max_state_count = (std::min)((std::ptrdiff_t)BOOST_REGEX_MAX_STATE_COUNT, (std::numeric_limits<std::ptrdiff_t>::max)() - 2);
|
||||
+ return;
|
||||
+ }
|
||||
states *= states;
|
||||
if((std::numeric_limits<std::ptrdiff_t>::max)() / dist < states)
|
||||
{
|
|
@ -0,0 +1,23 @@
|
|||
From 1d86261581230e2dc5d617a9b16287d326f3e229 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Ramey <ramey@rrsd.com>
|
||||
Date: Wed, 1 Feb 2017 16:43:59 -0800
|
||||
Subject: [PATCH] correct error which appeared when compiling non c++ compliant
|
||||
code for arrays
|
||||
|
||||
---
|
||||
include/boost/serialization/array.hpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/boost/serialization/array.hpp b/include/boost/serialization/array.hpp
|
||||
index 61708b307..612d1a619 100644
|
||||
--- a/include/boost/serialization/array.hpp
|
||||
+++ b/include/boost/serialization/array.hpp
|
||||
@@ -23,6 +23,8 @@ namespace std{
|
||||
} // namespace std
|
||||
#endif
|
||||
|
||||
+#include <boost/serialization/array_wrapper.hpp>
|
||||
+
|
||||
#ifndef BOOST_NO_CXX11_HDR_ARRAY
|
||||
|
||||
#include <array>
|
|
@ -1,26 +0,0 @@
|
|||
--- boost_1_66_0/tools/build/src/engine/build.jam~ 2018-02-07 21:36:14.552201421 +0000
|
||||
+++ boost_1_66_0/tools/build/src/engine/build.jam 2018-02-07 21:36:29.014173266 +0000
|
||||
@@ -4,7 +4,7 @@
|
||||
#~ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
# Clean env vars of any "extra" empty values.
|
||||
-for local v in ARGV CC CFLAGS LIBS
|
||||
+for local v in ARGV CC CFLAGS LIBS RPM_OPT_FLAGS RPM_LD_FLAGS
|
||||
{
|
||||
local values ;
|
||||
for local x in $($(v))
|
||||
@@ -215,12 +215,12 @@
|
||||
: -L$(--python-lib[1]) -l$(--python-lib[2]) ;
|
||||
## GCC 2.x, 3.x, 4.x
|
||||
toolset gcc gcc : "-o " : -D
|
||||
- : -pedantic -fno-strict-aliasing
|
||||
+ : -pedantic -fno-strict-aliasing $(RPM_OPT_FLAGS)
|
||||
[ opt --release : [ opt --symbols : -g : -s ] -O3 ]
|
||||
[ opt --debug : -g -O0 -fno-inline ]
|
||||
[ opt --profile : -O3 -g -pg ]
|
||||
-I$(--python-include) -I$(--extra-include) -Wno-long-long
|
||||
- : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
|
||||
+ : -L$(--python-lib[1]) -l$(--python-lib[2]) $(RPM_LD_FLAGS) ;
|
||||
## GCC 2.x, 3.x on CYGWIN but without cygwin1.dll
|
||||
toolset gcc-nocygwin gcc : "-o " : -D
|
||||
: -s -O3 -mno-cygwin
|
|
@ -1,23 +0,0 @@
|
|||
From fdbdb94db64e888fce90fe519be23c2a4396a82e Mon Sep 17 00:00:00 2001
|
||||
From: pradeep <pradeep@arrayfire.com>
|
||||
Date: Tue, 8 May 2018 14:53:38 +0530
|
||||
Subject: [PATCH 1/2] Fix return var qualifier in svm_ptr::get_context
|
||||
|
||||
Lack of `const` qualifier is throwing errors with GCC 8.1
|
||||
---
|
||||
include/boost/compute/memory/svm_ptr.hpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/boost/compute/memory/svm_ptr.hpp b/include/boost/compute/memory/svm_ptr.hpp
|
||||
index c8753f5b..56cf1268 100644
|
||||
--- a/include/boost/compute/memory/svm_ptr.hpp
|
||||
+++ b/include/boost/compute/memory/svm_ptr.hpp
|
||||
@@ -126,7 +126,7 @@ class svm_ptr
|
||||
return m_ptr - other.m_ptr;
|
||||
}
|
||||
|
||||
- context& get_context() const
|
||||
+ const context& get_context() const
|
||||
{
|
||||
return m_context;
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
From 660487c43fde76f3e64f1cb2e644500da92fe582 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
|
||||
Date: Fri, 9 Feb 2018 18:20:30 +0100
|
||||
Subject: [PATCH] Fix build with Python 3.7
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Python 3.7 changes the return type of _PyUnicode_AsString()
|
||||
from void* to const char* -- causing the build of boost-python
|
||||
to fail.
|
||||
|
||||
Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>
|
||||
---
|
||||
src/converter/builtin_converters.cpp | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/converter/builtin_converters.cpp b/src/converter/builtin_converters.cpp
|
||||
index 1c28af7fc..ee2d5b479 100644
|
||||
--- a/libs/python/src/converter/builtin_converters.cpp
|
||||
+++ b/libs/python/src/converter/builtin_converters.cpp
|
||||
@@ -45,11 +45,16 @@ namespace
|
||||
{
|
||||
return PyString_Check(obj) ? PyString_AsString(obj) : 0;
|
||||
}
|
||||
-#else
|
||||
+#elif PY_VERSION_HEX < 0x03070000
|
||||
void* convert_to_cstring(PyObject* obj)
|
||||
{
|
||||
return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
|
||||
}
|
||||
+#else
|
||||
+ void* convert_to_cstring(PyObject* obj)
|
||||
+ {
|
||||
+ return PyUnicode_Check(obj) ? const_cast<void*>(reinterpret_cast<const void*>(_PyUnicode_AsString(obj))) : 0;
|
||||
+ }
|
||||
#endif
|
||||
|
||||
// Given a target type and a SlotPolicy describing how to perform a
|
|
@ -1,15 +0,0 @@
|
|||
--- boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp~ 2018-02-23 16:59:53.785141676 +0000
|
||||
+++ boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp 2018-02-23 17:00:16.838092946 +0000
|
||||
@@ -68,7 +68,11 @@
|
||||
typedef unsignedtype type; \
|
||||
static type call(signedtype n) \
|
||||
{ \
|
||||
- return static_cast<unsignedtype>((n >= 0) ? n : -n); \
|
||||
+ if (n >= 0) \
|
||||
+ return n; \
|
||||
+ if (n == std::numeric_limits<signedtype>::min()) \
|
||||
+ return (unsignedtype)n; \
|
||||
+ return (unsignedtype)(-n); \
|
||||
} \
|
||||
} \
|
||||
/**/
|
554
boost.spec
554
boost.spec
File diff suppressed because it is too large
Load Diff
2
sources
2
sources
|
@ -1 +1 @@
|
|||
SHA512 (boost_1_66_0.tar.bz2) = 0f34075d35391d66876e5189a01a11880a79428e1b267456348ee148dba9dc3abdc74d568f1853be631d20b584b1c804b42443c266f7622164acfc10be3dab8b
|
||||
SHA512 (boost_1_64_0.tar.bz2) = 68477f148f61be617552ef48559c5c2cb90d42264cabd6d5e87215d0d5024b48fca27c4afcfc1f77e490c6220d44fb1abdf0a53703867a2e4132c2857f69fedf
|
||||
|
|
Loading…
Reference in New Issue