Compare commits
53 Commits
Author | SHA1 | Date |
---|---|---|
Jonathan Wakely | c6c9a85f21 | |
Jonathan Wakely | 139c6b50e6 | |
Miro Hrončok | 1499fdf972 | |
Jonathan Wakely | 6534bae05f | |
Jonathan Wakely | 3cee16030b | |
Jonathan Wakely | af66f9c00c | |
Jonathan Wakely | 299d009cc0 | |
Jonathan Wakely | 32555bac58 | |
Jonathan Wakely | a4629aecca | |
Pete Walter | e556fceb05 | |
Jonathan Wakely | 1a524340e6 | |
Jonathan Wakely | 9aae0c8a00 | |
Jonathan Wakely | b4c96119f1 | |
Jonathan Wakely | 3946a4a4b0 | |
Jonathan Wakely | dc827b0935 | |
Jonathan Wakely | b59c4b6666 | |
Jonathan Wakely | 4c456d525c | |
Jonathan Wakely | 47b8c9cad1 | |
Jonathan Wakely | d50c552e84 | |
Jonathan Wakely | 7387f7d55f | |
Jonathan Wakely | 90138276af | |
Jonathan Wakely | 747d6e8fe2 | |
Jonathan Wakely | 1885d22687 | |
Jonathan Wakely | 5c4a0e07d3 | |
Pete Walter | 9497c27f10 | |
Jonathan Wakely | 4c79bb2181 | |
Jonathan Wakely | b634b3b0c8 | |
Jonathan Wakely | cc95da10da | |
Jonathan Wakely | b9e2eb12e9 | |
Jonathan Wakely | 91d3fad8f3 | |
Zbigniew Jędrzejewski-Szmek | 83bcf8daf2 | |
Zbigniew Jędrzejewski-Szmek | d04833457b | |
Fedora Release Engineering | d185c08009 | |
Fedora Release Engineering | efff732f4f | |
Björn Esser | 6e3f05c5de | |
Björn Esser | c54b0a0c9e | |
Kalev Lember | 91387222f5 | |
Jonathan Wakely | a4b6003a94 | |
Jonathan Wakely | 30150eaf49 | |
Jonathan Wakely | a919cdd969 | |
Jonathan Wakely | 7ace5f0128 | |
Jonathan Wakely | 218cc61036 | |
Jonathan Wakely | 59415588c8 | |
Peter Robinson | 6d2d8199e5 | |
Peter Robinson | 3da9bab88b | |
Jonathan Wakely | d2c3a27558 | |
Jonathan Wakely | e1dabc540b | |
Jonathan Wakely | 51c6915fb4 | |
Jonathan Wakely | b9ad2bf8a2 | |
Jonathan Wakely | 733a71ce66 | |
Miro Hrončok | eb5a2d18d6 | |
Jonathan Wakely | 92f6971ea7 | |
Orion Poplawski | 22ace9c9e6 |
|
@ -1,12 +0,0 @@
|
|||
diff --git a/libs/math/config/has_long_double_support.cpp b/libs/math/config/has_long_double_support.cpp
|
||||
index d314cf3..9022408 100644
|
||||
--- a/libs/math/config/has_long_double_support.cpp
|
||||
+++ b/libs/math/config/has_long_double_support.cpp
|
||||
@@ -8,3 +8,7 @@
|
||||
#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
|
||||
#error "long double support is not supported by Boost.Math on this Plaform: the long double version of the TR1 library will not be built."
|
||||
#endif
|
||||
+
|
||||
+int main(int argc, char *argv[]) {
|
||||
+ return 0;
|
||||
+}
|
|
@ -1,57 +0,0 @@
|
|||
--- boost_1_53_0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S.orig 2013-02-11 14:03:46.631005713 -0600
|
||||
+++ boost_1_53_0/libs/context/src/asm/make_ppc32_sysv_elf_gas.S 2013-02-11 14:06:52.704815403 -0600
|
||||
@@ -87,12 +87,10 @@
|
||||
subi %r0, %r3, 64 # reserve 64 bytes (linkage + parameter area), R4 % 16 == 0
|
||||
stw %r0, 76(%r3) # save address in R3 as stack pointer for context function
|
||||
|
||||
- mflr %r0 # load LR
|
||||
bl 1f # jump to label 1
|
||||
1:
|
||||
mflr %r4 # load LR into R4
|
||||
addi %r4, %r4, finish - 1b # compute abs address of label finish
|
||||
- mtlr %r0 # restore LR
|
||||
stw %r4, 84(%r3) # save address of finish as return address for context function
|
||||
# entered after context function returns
|
||||
|
||||
@@ -108,4 +106,5 @@
|
||||
|
||||
li %r3, 0 # exit code is zero
|
||||
bl _exit@plt # exit application
|
||||
+ .long 0 # We should never get here, so SIGILL if we do
|
||||
.size make_fcontext, .-make_fcontext
|
||||
|
||||
--- boost_1_53_0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S.orig 2013-02-11 14:03:43.726849715 -0600
|
||||
+++ boost_1_53_0/libs/context/src/asm/make_ppc64_sysv_elf_gas.S 2013-02-11 14:22:48.202839078 -0600
|
||||
@@ -99,21 +99,19 @@
|
||||
|
||||
# call align_stack, R3 contains address at 16 byte boundary after return
|
||||
# == pointer to fcontext_t and address of context stack
|
||||
- rlwinm %r3, %r3, 0, 0, 59
|
||||
+ clrrdi %r3, %r3, 4
|
||||
|
||||
std %r0, 184(%r3) # save address of context stack (base) in fcontext_t
|
||||
std %r4, 192(%r3) # save context stack size in fcontext_t
|
||||
std %r5, 176(%r3) # save address of context function in fcontext_t
|
||||
|
||||
- subf %r0, %r3, 64 # 64 bytes on stack for parameter area (== 8 registers)
|
||||
+ subi %r0, %r3, 64 # 64 bytes on stack for parameter area (== 8 registers)
|
||||
std %r0, 152(%r3) # save the stack base
|
||||
|
||||
- mflr %r0 # load LR
|
||||
bl 1f # jump to label 1
|
||||
1:
|
||||
mflr %r4 # load LR into R4
|
||||
addi %r4, %r4, finish - 1b # compute abs address of label finish
|
||||
- mtlr %r0 # restore LR
|
||||
std %r4, 168(%r3) # save address of finish as return address for context function
|
||||
# entered after context function returns
|
||||
|
||||
@@ -128,5 +126,7 @@
|
||||
stwu %r1, -32(%r1) # allocate stack space, SP % 16 == 0
|
||||
|
||||
li %r3, 0 # set return value to zero
|
||||
- bl _exit@plt # exit application
|
||||
+ bl _exit # exit application
|
||||
+ nop # nop is required by the linker
|
||||
+ .long 0 # We should never get here, so SIGILL if we do
|
||||
.size .make_fcontext, .-.make_fcontext
|
|
@ -1,98 +0,0 @@
|
|||
diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/exec.cpp
|
||||
--- boost_1_55_0/libs/python/test/exec.cpp~ 2010-07-05 00:38:38.000000000 +0200
|
||||
+++ boost_1_55_0/libs/python/test/exec.cpp 2015-01-09 21:31:12.903218280 +0100
|
||||
@@ -56,6 +56,20 @@ void eval_test()
|
||||
BOOST_TEST(value == "ABCDEFG");
|
||||
}
|
||||
|
||||
+struct PyCtx
|
||||
+{
|
||||
+ PyCtx() {
|
||||
+ Py_Initialize();
|
||||
+ }
|
||||
+
|
||||
+ ~PyCtx() {
|
||||
+ // N.B. certain problems may arise when Py_Finalize is called when
|
||||
+ // using Boost.Python. However in this test suite it all seems to
|
||||
+ // work fine.
|
||||
+ Py_Finalize();
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
void exec_test()
|
||||
{
|
||||
// Register the module with the interpreter
|
||||
@@ -68,6 +82,8 @@ void exec_test()
|
||||
) == -1)
|
||||
throw std::runtime_error("Failed to add embedded_hello to the interpreter's "
|
||||
"builtin modules");
|
||||
+
|
||||
+ PyCtx ctx;
|
||||
// Retrieve the main module
|
||||
python::object main = python::import("__main__");
|
||||
|
||||
@@ -148,41 +164,43 @@ void check_pyerr(bool pyerr_expected=fal
|
||||
}
|
||||
}
|
||||
|
||||
+template <class Cb>
|
||||
+bool
|
||||
+run_and_handle_exception(Cb cb, bool pyerr_expected = false)
|
||||
+{
|
||||
+ PyCtx ctx;
|
||||
+ if (python::handle_exception(cb)) {
|
||||
+ check_pyerr(pyerr_expected);
|
||||
+ return true;
|
||||
+ } else {
|
||||
+ return false;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
BOOST_TEST(argc == 2 || argc == 3);
|
||||
std::string script = argv[1];
|
||||
- // Initialize the interpreter
|
||||
- Py_Initialize();
|
||||
|
||||
- if (python::handle_exception(eval_test)) {
|
||||
- check_pyerr();
|
||||
- }
|
||||
- else if(python::handle_exception(exec_test)) {
|
||||
- check_pyerr();
|
||||
- }
|
||||
- else if (python::handle_exception(boost::bind(exec_file_test, script))) {
|
||||
+ // N.B. exec_test mustn't be called through run_and_handle_exception
|
||||
+ // as it needs to handles the python context by itself.
|
||||
+ if (run_and_handle_exception(eval_test)
|
||||
+ || python::handle_exception(exec_test))
|
||||
check_pyerr();
|
||||
- }
|
||||
-
|
||||
- if (python::handle_exception(exec_test_error))
|
||||
- {
|
||||
- check_pyerr(/*pyerr_expected*/ true);
|
||||
- }
|
||||
else
|
||||
- {
|
||||
+ run_and_handle_exception(boost::bind(exec_file_test, script));
|
||||
+
|
||||
+ if (!run_and_handle_exception(exec_test_error, true))
|
||||
BOOST_ERROR("Python exception expected, but not seen.");
|
||||
- }
|
||||
|
||||
if (argc > 2) {
|
||||
+ PyCtx ctx;
|
||||
// The main purpose is to test compilation. Since this test generates
|
||||
// a file and I (rwgk) am uncertain about the side-effects, run it only
|
||||
// if explicitly requested.
|
||||
exercise_embedding_html();
|
||||
}
|
||||
|
||||
- // Boost.Python doesn't support Py_Finalize yet.
|
||||
- // Py_Finalize();
|
||||
return boost::report_errors();
|
||||
}
|
||||
|
||||
|
||||
Diff finished. Fri Jan 9 21:31:13 2015
|
|
@ -1,19 +0,0 @@
|
|||
diff -up boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp\~ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
|
||||
--- boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp~ 2014-10-13 12:21:40.000000000 +0200
|
||||
+++ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-01-20 13:25:50.069710766 +0100
|
||||
@@ -282,12 +282,12 @@ struct grammar_definition
|
||||
#if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE)
|
||||
typedef impl::grammar_helper_base<GrammarT> helper_base_t;
|
||||
typedef grammar_helper_list<GrammarT> helper_list_t;
|
||||
- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
|
||||
|
||||
helper_list_t& helpers =
|
||||
grammartract_helper_list::do_(self);
|
||||
|
||||
# if defined(BOOST_INTEL_CXX_VERSION)
|
||||
+ typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
|
||||
for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i)
|
||||
(*i)->undefine(self);
|
||||
# else
|
||||
|
||||
Diff finished. Tue Jan 20 13:25:53 2015
|
|
@ -1,25 +0,0 @@
|
|||
From f410fbd64d887e2a8824f968b0533588489b5430 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Wakely <jwakely@redhat.com>
|
||||
Date: Wed, 2 Sep 2015 13:02:12 +0100
|
||||
Subject: [PATCH] Python: Fix condition for make_setter overload.
|
||||
|
||||
This fixes the regression caused by 42e7d7b.
|
||||
|
||||
Fixes #39
|
||||
---
|
||||
include/boost/python/data_members.hpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp
|
||||
index 139bde3..5d3309c 100644
|
||||
--- a/include/boost/python/data_members.hpp
|
||||
+++ b/include/boost/python/data_members.hpp
|
||||
@@ -305,7 +305,7 @@ inline object make_setter(D& x)
|
||||
return detail::make_setter(x, default_call_policies(), is_member_pointer<D>(), 0);
|
||||
}
|
||||
|
||||
-# if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
|
||||
+# if !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
|
||||
template <class D>
|
||||
inline object make_setter(D const& x)
|
||||
{
|
|
@ -1,32 +0,0 @@
|
|||
commit 2f3b98e640c25fe45ae691a5aa950745380b983e
|
||||
Author: Jonathan Wakely <jwakely@redhat.com>
|
||||
Date: Mon Sep 14 15:05:24 2015 +0100
|
||||
|
||||
Do not qualify <fenv.h> names that might be macros.
|
||||
|
||||
diff --git a/include/boost/test/impl/execution_monitor.ipp b/include/boost/test/impl/execution_monitor.ipp
|
||||
index 3a9e779..8b319df 100644
|
||||
--- a/include/boost/test/impl/execution_monitor.ipp
|
||||
+++ b/include/boost/test/impl/execution_monitor.ipp
|
||||
@@ -1380,8 +1380,8 @@ enable( unsigned mask )
|
||||
|
||||
return ~old_cw & BOOST_FPE_ALL;
|
||||
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
|
||||
- ::feclearexcept(BOOST_FPE_ALL);
|
||||
- int res = ::feenableexcept( mask );
|
||||
+ feclearexcept(BOOST_FPE_ALL);
|
||||
+ int res = feenableexcept( mask );
|
||||
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
|
||||
#else
|
||||
/* Not Implemented */
|
||||
@@ -1417,8 +1417,8 @@ disable( unsigned mask )
|
||||
|
||||
return ~old_cw & BOOST_FPE_ALL;
|
||||
#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
|
||||
- ::feclearexcept(BOOST_FPE_ALL);
|
||||
- int res = ::fedisableexcept( mask );
|
||||
+ feclearexcept(BOOST_FPE_ALL);
|
||||
+ int res = fedisableexcept( mask );
|
||||
return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
|
||||
#else
|
||||
/* Not Implemented */
|
|
@ -1,106 +0,0 @@
|
|||
From 7da193fde1a9c1bc925ee980339f4df2e1a66fa7 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Semashev <andrey.semashev@gmail.com>
|
||||
Date: Sun, 23 Aug 2015 17:27:20 +0300
|
||||
Subject: [PATCH] Fixed compilation of operator<< into a record ostream, when
|
||||
the operator right hand argument is not directly supported by
|
||||
formatting_ostream. Fixed #11549.
|
||||
|
||||
---
|
||||
|
||||
diff --git a/include/boost/log/sources/record_ostream.hpp b/include/boost/log/sources/record_ostream.hpp
|
||||
index b3c58e2..c1e8059 100644
|
||||
--- a/include/boost/log/sources/record_ostream.hpp
|
||||
+++ b/include/boost/log/sources/record_ostream.hpp
|
||||
@@ -39,6 +39,18 @@ namespace boost {
|
||||
|
||||
BOOST_LOG_OPEN_NAMESPACE
|
||||
|
||||
+template< typename CharT >
|
||||
+class basic_record_ostream;
|
||||
+
|
||||
+namespace aux {
|
||||
+
|
||||
+template< typename StreamT, typename R >
|
||||
+struct enable_if_record_ostream {};
|
||||
+template< typename CharT, typename R >
|
||||
+struct enable_if_record_ostream< basic_record_ostream< CharT >, R > { typedef R type; };
|
||||
+
|
||||
+} // namespace aux
|
||||
+
|
||||
/*!
|
||||
* \brief Logging record adapter with a streaming capability
|
||||
*
|
||||
@@ -174,6 +186,55 @@ typedef basic_record_ostream< char > record_ostream; //!< Convenience typ
|
||||
typedef basic_record_ostream< wchar_t > wrecord_ostream; //!< Convenience typedef for wide-character logging
|
||||
#endif
|
||||
|
||||
+// Implementation note: these operators below should be the least attractive for the compiler
|
||||
+// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose.
|
||||
+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload
|
||||
+// would be more preferred than the typical one written by users:
|
||||
+//
|
||||
+// record_ostream& operator<< (record_ostream& strm, my_type const& arg);
|
||||
+//
|
||||
+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required
|
||||
+// if there is a perfect forwarding overload.
|
||||
+template< typename StreamT, typename T >
|
||||
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
|
||||
+operator<< (StreamT& strm, T const& value)
|
||||
+{
|
||||
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
|
||||
+ static_cast< formatting_ostream_type& >(strm) << value;
|
||||
+ return strm;
|
||||
+}
|
||||
+
|
||||
+template< typename StreamT, typename T >
|
||||
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
|
||||
+operator<< (StreamT& strm, T& value)
|
||||
+{
|
||||
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
|
||||
+ static_cast< formatting_ostream_type& >(strm) << value;
|
||||
+ return strm;
|
||||
+}
|
||||
+
|
||||
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||
+
|
||||
+template< typename StreamT, typename T >
|
||||
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
|
||||
+operator<< (StreamT&& strm, T const& value)
|
||||
+{
|
||||
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
|
||||
+ static_cast< formatting_ostream_type& >(strm) << value;
|
||||
+ return strm;
|
||||
+}
|
||||
+
|
||||
+template< typename StreamT, typename T >
|
||||
+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type
|
||||
+operator<< (StreamT&& strm, T& value)
|
||||
+{
|
||||
+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
|
||||
+ static_cast< formatting_ostream_type& >(strm) << value;
|
||||
+ return strm;
|
||||
+}
|
||||
+
|
||||
+#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||
+
|
||||
namespace aux {
|
||||
|
||||
//! Internal class that provides formatting streams for record pumps
|
||||
diff --git a/include/boost/log/utility/formatting_ostream.hpp b/include/boost/log/utility/formatting_ostream.hpp
|
||||
index 4345206..744acc0 100644
|
||||
--- a/include/boost/log/utility/formatting_ostream.hpp
|
||||
+++ b/include/boost/log/utility/formatting_ostream.hpp
|
||||
@@ -779,6 +779,13 @@ void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const
|
||||
|
||||
// Implementation note: these operators below should be the least attractive for the compiler
|
||||
// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose.
|
||||
+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload
|
||||
+// would be more preferred than the typical one written by users:
|
||||
+//
|
||||
+// formatting_ostream& operator<< (formatting_ostream& strm, my_type const& arg);
|
||||
+//
|
||||
+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required
|
||||
+// if there is a perfect forwarding overload.
|
||||
template< typename StreamT, typename T >
|
||||
inline typename boost::log::aux::enable_if_formatting_ostream< StreamT, StreamT& >::type
|
||||
operator<< (StreamT& strm, T const& value)
|
|
@ -1,37 +0,0 @@
|
|||
commit f9c8f9ec091ad232c0a291904f7839d665d098e0
|
||||
Author: jzmaddock <john@johnmaddock.co.uk>
|
||||
Date: Thu Mar 3 10:52:03 2016 +0000
|
||||
|
||||
Add some needed casts for cases where limb_type is wider than unsigned int.
|
||||
|
||||
diff --git a/include/boost/multiprecision/cpp_int.hpp b/include/boost/multiprecision/cpp_int.hpp
|
||||
index 60ad876..b868167 100644
|
||||
--- a/include/boost/multiprecision/cpp_int.hpp
|
||||
+++ b/include/boost/multiprecision/cpp_int.hpp
|
||||
@@ -190,7 +190,7 @@ private:
|
||||
public:
|
||||
BOOST_STATIC_CONSTANT(unsigned, limb_bits = sizeof(limb_type) * CHAR_BIT);
|
||||
BOOST_STATIC_CONSTANT(limb_type, max_limb_value = ~static_cast<limb_type>(0u));
|
||||
- BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits - 1));
|
||||
+ BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = static_cast<limb_type>(1u) << (limb_bits - 1));
|
||||
BOOST_STATIC_CONSTANT(unsigned, internal_limb_count =
|
||||
MinBits
|
||||
? (MinBits / limb_bits + ((MinBits % limb_bits) ? 1 : 0))
|
||||
@@ -413,7 +413,7 @@ struct cpp_int_base<MinBits, MinBits, signed_magnitude, Checked, void, false>
|
||||
public:
|
||||
BOOST_STATIC_CONSTANT(unsigned, limb_bits = sizeof(limb_type) * CHAR_BIT);
|
||||
BOOST_STATIC_CONSTANT(limb_type, max_limb_value = ~static_cast<limb_type>(0u));
|
||||
- BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits - 1));
|
||||
+ BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = static_cast<limb_type>(1u) << (limb_bits - 1));
|
||||
BOOST_STATIC_CONSTANT(unsigned, internal_limb_count = MinBits / limb_bits + ((MinBits % limb_bits) ? 1 : 0));
|
||||
BOOST_STATIC_CONSTANT(bool, variable = false);
|
||||
BOOST_STATIC_CONSTANT(limb_type, upper_limb_mask = (MinBits % limb_bits) ? (limb_type(1) << (MinBits % limb_bits)) -1 : (~limb_type(0)));
|
||||
@@ -565,7 +565,7 @@ struct cpp_int_base<MinBits, MinBits, unsigned_magnitude, Checked, void, false>
|
||||
public:
|
||||
BOOST_STATIC_CONSTANT(unsigned, limb_bits = sizeof(limb_type) * CHAR_BIT);
|
||||
BOOST_STATIC_CONSTANT(limb_type, max_limb_value = ~static_cast<limb_type>(0u));
|
||||
- BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits - 1));
|
||||
+ BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = static_cast<limb_type>(1u) << (limb_bits - 1));
|
||||
BOOST_STATIC_CONSTANT(unsigned, internal_limb_count = MinBits / limb_bits + ((MinBits % limb_bits) ? 1 : 0));
|
||||
BOOST_STATIC_CONSTANT(bool, variable = false);
|
||||
BOOST_STATIC_CONSTANT(limb_type, upper_limb_mask = (MinBits % limb_bits) ? (limb_type(1) << (MinBits % limb_bits)) -1 : (~limb_type(0)));
|
|
@ -1,42 +0,0 @@
|
|||
From f2c465ffa508459216f7093bf95ba001ad994206 Mon Sep 17 00:00:00 2001
|
||||
From: vslashg <veloso@verylowsodium.com>
|
||||
Date: Mon, 29 Feb 2016 13:33:35 -0500
|
||||
Subject: [PATCH] Fix auto-pointer registration in Boost Python 1.60.
|
||||
|
||||
The conditional instantiation magic of maybe_register_pointer_to_python() assumes that use_value_holder and use_back_reference will be one of the boost::mpl::bool_ types, but this assumption is no longer true in Boost 1.60, where they can be standard library bool wrappers instead.
|
||||
|
||||
Explicitly defining these types as mpl::bool_ classes fixes https://github.com/boostorg/python/issues/56.
|
||||
---
|
||||
include/boost/python/object/class_metadata.hpp | 12 +++++++-----
|
||||
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/include/boost/python/object/class_metadata.hpp b/include/boost/python/object/class_metadata.hpp
|
||||
index c71cf67..5009c17 100644
|
||||
--- a/include/boost/python/object/class_metadata.hpp
|
||||
+++ b/include/boost/python/object/class_metadata.hpp
|
||||
@@ -164,7 +164,7 @@ struct class_metadata
|
||||
>::type held_type;
|
||||
|
||||
// Determine if the object will be held by value
|
||||
- typedef is_convertible<held_type*,T*> use_value_holder;
|
||||
+ typedef mpl::bool_<is_convertible<held_type*,T*>::value> use_value_holder;
|
||||
|
||||
// Compute the "wrapped type", that is, if held_type is a smart
|
||||
// pointer, we're talking about the pointee.
|
||||
@@ -175,10 +175,12 @@ struct class_metadata
|
||||
>::type wrapped;
|
||||
|
||||
// Determine whether to use a "back-reference holder"
|
||||
- typedef mpl::or_<
|
||||
- has_back_reference<T>
|
||||
- , is_same<held_type_arg,T>
|
||||
- , is_base_and_derived<T,wrapped>
|
||||
+ typedef mpl::bool_<
|
||||
+ mpl::or_<
|
||||
+ has_back_reference<T>
|
||||
+ , is_same<held_type_arg,T>
|
||||
+ , is_base_and_derived<T,wrapped>
|
||||
+ >::value
|
||||
> use_back_reference;
|
||||
|
||||
// Select the holder.
|
|
@ -0,0 +1,87 @@
|
|||
--- boost_1_63_0/libs/mpi/build/Jamfile.v2 2016-12-22 06:33:17.000000000 -0600
|
||||
+++ boost_1_63_0/libs/mpi/build/Jamfile.v2 2017-05-19 01:45:05.485563800 -0500
|
||||
@@ -11,6 +11,7 @@
|
||||
import mpi ;
|
||||
import indirect ;
|
||||
import python ;
|
||||
+import feature ;
|
||||
|
||||
libraries = ;
|
||||
|
||||
@@ -53,18 +54,38 @@ lib boost_mpi
|
||||
<library>../../serialization/build//boost_serialization
|
||||
<library>/mpi//mpi [ mpi.extra-requirements ]
|
||||
;
|
||||
+
|
||||
+rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
|
||||
|
||||
libraries += boost_mpi ;
|
||||
+rule find-py3-version
|
||||
+{
|
||||
+ local versions = [ feature.values python ] ;
|
||||
+ local py3ver ;
|
||||
+ for local v in $(versions)
|
||||
+ {
|
||||
+ if $(v) >= 3.0
|
||||
+ {
|
||||
+ py3ver = $(v) ;
|
||||
+ }
|
||||
+ }
|
||||
+ return $(py3ver) ;
|
||||
+}
|
||||
+
|
||||
+py3-version = [ find-py3-version ] ;
|
||||
|
||||
if [ python.configured ]
|
||||
{
|
||||
- lib boost_mpi_python
|
||||
+
|
||||
+ rule lib_boost_mpi_python ( is-py3 ? ) {
|
||||
+
|
||||
+ lib [ cond $(is-py3) : boost_mpi_python3 : boost_mpi_python ]
|
||||
: # Sources
|
||||
python/serialize.cpp
|
||||
: # Requirements
|
||||
<library>boost_mpi
|
||||
<library>/mpi//mpi [ mpi.extra-requirements ]
|
||||
- <library>/boost/python//boost_python
|
||||
+ [ cond $(is-py3) : <library>/boost/python//boost_python3 : <library>/boost/python//boost_python ]
|
||||
<link>shared:<define>BOOST_MPI_DYN_LINK=1
|
||||
<link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
|
||||
<link>shared:<define>BOOST_PYTHON_DYN_LINK=1
|
||||
@@ -76,7 +97,6 @@ libraries += boost_mpi ;
|
||||
: # Usage requirements
|
||||
<library>/mpi//mpi [ mpi.extra-requirements ]
|
||||
;
|
||||
- libraries += boost_mpi_python ;
|
||||
|
||||
python-extension mpi
|
||||
: # Sources
|
||||
@@ -93,8 +113,8 @@ libraries += boost_mpi ;
|
||||
python/status.cpp
|
||||
python/py_timer.cpp
|
||||
: # Requirements
|
||||
- <library>/boost/python//boost_python
|
||||
- <library>boost_mpi_python
|
||||
+ [ cond $(is-py3) : <library>/boost/python//boost_python3 : <library>/boost/python//boost_python ]
|
||||
+ [ cond $(is-py3) : <library>boost_mpi_python3 : <library>boost_mpi_python ]
|
||||
<library>boost_mpi
|
||||
<library>/mpi//mpi [ mpi.extra-requirements ]
|
||||
<link>shared:<define>BOOST_MPI_DYN_LINK=1
|
||||
@@ -102,6 +122,16 @@ libraries += boost_mpi ;
|
||||
<link>shared:<define>BOOST_PYTHON_DYN_LINK=1
|
||||
<link>shared <runtime-link>shared
|
||||
;
|
||||
+ }
|
||||
+
|
||||
+ if $(py3-version) {
|
||||
+ lib_boost_mpi_python yes ;
|
||||
+ libraries += boost_mpi_python3 ;
|
||||
+ } else {
|
||||
+ lib_boost_mpi_python ;
|
||||
+ libraries += boost_mpi_python ;
|
||||
+ }
|
||||
+
|
||||
}
|
||||
}
|
||||
else if ! ( --without-mpi in [ modules.peek : ARGV ] )
|
|
@ -1,8 +1,8 @@
|
|||
--- 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
|
||||
--- 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
|
||||
@@ -421,7 +421,9 @@
|
||||
|
||||
rule setup-address-model ( targets * : sources * : properties * )
|
||||
rule set-address-model-options ( targets * : sources * : properties * )
|
||||
{
|
||||
- local model = [ feature.get-values address-model : $(properties) ] ;
|
||||
+ # For RPM builds the address model flag is passed in %{optflags}.
|
|
@ -0,0 +1,26 @@
|
|||
--- 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,33 +1,5 @@
|
|||
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 ;
|
||||
--- 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
|
||||
@@ -603,7 +603,7 @@ rule compile.fortran ( targets * : sourc
|
||||
|
||||
actions compile.c++ bind PCH_FILE
|
||||
|
@ -46,3 +18,32 @@ diff -up ./tools/build/src/tools/gcc.jam~ ./tools/build/src/tools/gcc.jam
|
|||
}
|
||||
|
||||
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 ;
|
|
@ -0,0 +1,23 @@
|
|||
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,7 +1,6 @@
|
|||
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
|
||||
--- 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
|
||||
|
||||
actions link bind LIBRARIES
|
||||
{
|
||||
|
@ -9,8 +8,8 @@ diff -up tools/build/src/tools/gcc.jam.rpath tools/build/src/tools/gcc.jam
|
|||
+ "$(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)
|
||||
}
|
||||
|
||||
|
||||
@@ -1018,7 +1018,7 @@ rule link.dll ( targets * : sources * :
|
||||
rule link.dll ( targets * : sources * : properties * )
|
||||
@@ -1204,7 +1204,7 @@ rule link.dll ( targets * : sources * :
|
||||
# Differs from 'link' above only by -shared.
|
||||
actions link.dll bind LIBRARIES
|
||||
{
|
||||
|
@ -18,4 +17,4 @@ diff -up tools/build/src/tools/gcc.jam.rpath tools/build/src/tools/gcc.jam
|
|||
+ "$(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 * )
|
||||
###
|
|
@ -49,8 +49,8 @@
|
|||
extension-suffix ?= "" ;
|
||||
+ abi-letters ?= "" ;
|
||||
|
||||
# Normalize and dissect any version number.
|
||||
local major-minor ;
|
||||
local cmds-to-try ;
|
||||
|
||||
@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
|
||||
}
|
||||
else
|
|
@ -0,0 +1,39 @@
|
|||
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
|
|
@ -0,0 +1,15 @@
|
|||
--- 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); \
|
||||
} \
|
||||
} \
|
||||
/**/
|
1004
boost.spec
1004
boost.spec
File diff suppressed because it is too large
Load Diff
2
sources
2
sources
|
@ -1 +1 @@
|
|||
65a840e1a0b13a558ff19eeb2c4f0cbe boost_1_60_0.tar.bz2
|
||||
SHA512 (boost_1_66_0.tar.bz2) = 0f34075d35391d66876e5189a01a11880a79428e1b267456348ee148dba9dc3abdc74d568f1853be631d20b584b1c804b42443c266f7622164acfc10be3dab8b
|
||||
|
|
Loading…
Reference in New Issue