boost: 1.65.1 Update 4845/head
authorCarlos Miguel Ferreira <carlosmf.pt@gmail.com>
Sun, 17 Sep 2017 23:47:25 +0000 (00:47 +0100)
committerCarlos Miguel Ferreira <carlosmf.pt@gmail.com>
Sun, 17 Sep 2017 23:47:25 +0000 (00:47 +0100)
This commit updates the boost libraries to version 1.65.1

This new version is a bug-fix update for Boost 1.65.0, so no new libraries.
As always, more information about this release can be found in [1].

[1]: http://www.boost.org/users/history/version_1_65_1.html

Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
libs/boost/Makefile
libs/boost/patches/010-boost-1.65.0_after_release_patches.patch [deleted file]
libs/boost/patches/010-fiber_fix_0506e46640989e1f919388ad36890bd6063cd43a.patch [new file with mode: 0644]
libs/boost/patches/020-fiber_fix_0506e46640989e1f919388ad36890bd6063cd43a.patch [deleted file]

index ddc3160c7dec121a9fea0f55b2c41e704b68ac6a..b449dee45b7969a6b19186ad4d21c2f2f70953e8 100644 (file)
@@ -16,15 +16,15 @@ include $(INCLUDE_DIR)/nls.mk
 include $(INCLUDE_DIR)/target.mk 
 
 PKG_NAME:=boost
-PKG_VERSION:=1.65.0
-PKG_SOURCE_VERSION:=1_65_0
+PKG_VERSION:=1.65.1
+PKG_SOURCE_VERSION:=1_65_1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://sourceforge.net/projects/boost/files/boost/$(PKG_VERSION)
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
-PKG_HASH:=ea26712742e2fb079c2a566a31f3266973b76e38222b9f88b387e3c8b2f9902c
+PKG_HASH:=9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81
 PKG_LICENSE:=Boost Software License <http://www.boost.org/users/license.html>
 PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
 
@@ -44,7 +44,7 @@ define Package/boost/Default
 endef
 
 define Package/boost/description
-This package provides the Boost v1.65 libraries.
+This package provides the Boost v1.65.1 libraries.
 Boost is a set of free, peer-reviewed, portable C++ source libraries.
 
 -----------------------------------------------------------------------------
@@ -90,7 +90,7 @@ This package provides the following run-time libraries:
  - wave
 
 There are many more header-only libraries supported by Boost.
-See more at http://www.boost.org/doc/libs/1_65_0/
+See more at http://www.boost.org/doc/libs/1_65_1/
 endef
 
 PKG_BUILD_DEPENDS:=boost/host PACKAGE_python:python PACKAGE_python3:python3
diff --git a/libs/boost/patches/010-boost-1.65.0_after_release_patches.patch b/libs/boost/patches/010-boost-1.65.0_after_release_patches.patch
deleted file mode 100644 (file)
index 761008f..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-Index: boost_1_65_0/boost/context/continuation_fcontext.hpp
-===================================================================
---- boost_1_65_0.orig/boost/context/continuation_fcontext.hpp
-+++ boost_1_65_0/boost/context/continuation_fcontext.hpp
-@@ -95,7 +95,7 @@ transfer_t context_ontop( transfer_t t)
-     t.data = nullptr;
-     Ctx c{ t.fctx };
-     // execute function, pass continuation via reference
--    fn( std::move( c) );
-+    c = fn( std::move( c) );
- #if defined(BOOST_NO_CXX14_STD_EXCHANGE)
-     return { exchange( c.fctx_, nullptr), nullptr };
- #else
-Index: boost_1_65_0/boost/context/continuation_ucontext.hpp
-===================================================================
---- boost_1_65_0.orig/boost/context/continuation_ucontext.hpp
-+++ boost_1_65_0/boost/context/continuation_ucontext.hpp
-@@ -84,18 +84,18 @@ static void entry_func( void * data) noe
- struct BOOST_CONTEXT_DECL activation_record {
-     thread_local static activation_record   *   current_rec;
--    ucontext_t                                  uctx{};
--    stack_context                               sctx{};
--    bool                                        main_ctx{ true };
--      activation_record                       *       from{ nullptr };
--    std::function< void(activation_record*&) >  ontop{};
--    bool                                        terminated{ false };
--    bool                                        force_unwind{ false };
-+    ucontext_t                                                  uctx{};
-+    stack_context                                               sctx{};
-+    bool                                                        main_ctx{ true };
-+      activation_record                                       *       from{ nullptr };
-+    std::function< activation_record*(activation_record*&) >    ontop{};
-+    bool                                                        terminated{ false };
-+    bool                                                        force_unwind{ false };
- #if defined(BOOST_USE_ASAN)
--    void                                    *   fake_stack{ nullptr };
--    void                                    *   stack_bottom{ nullptr };
--    std::size_t                                 stack_size{ 0 };
--    bool                                        started{ false };
-+    void                                                    *   fake_stack{ nullptr };
-+    void                                                    *   stack_bottom{ nullptr };
-+    std::size_t                                                 stack_size{ 0 };
-+    bool                                                        started{ false };
- #endif
-     static activation_record *& current() noexcept;
-@@ -168,20 +168,30 @@ struct BOOST_CONTEXT_DECL activation_rec
-         current()->ontop = std::bind(
-                 [](typename std::decay< Fn >::type & fn, activation_record *& ptr){
-                     Ctx c{ ptr };
--                    fn( std::move( c) );
-+                    c = fn( std::move( c) );
-                     if ( ! c) {
-                         ptr = nullptr;
-                     }
-+#if defined(BOOST_NO_CXX14_STD_EXCHANGE)
-+                    return exchange( c.ptr_, nullptr);
-+#else
-+                    return std::exchange( c.ptr_, nullptr);
-+#endif
-                 },
-                 std::forward< Fn >( fn),
-                 std::placeholders::_1);
- #else
-         current()->ontop = [fn=std::forward<Fn>(fn)](activation_record *& ptr){
-             Ctx c{ ptr };
--            fn( std::move( c) );
-+            c = fn( std::move( c) );
-             if ( ! c) {
-                 ptr = nullptr;
-             }
-+#if defined(BOOST_NO_CXX14_STD_EXCHANGE)
-+            return exchange( c.ptr_, nullptr);
-+#else
-+            return std::exchange( c.ptr_, nullptr);
-+#endif
-         };
- #endif
- #if defined(BOOST_USE_SEGMENTED_STACKS)
-@@ -408,7 +418,7 @@ public:
-         if ( BOOST_UNLIKELY( detail::activation_record::current()->force_unwind) ) {
-             throw detail::forced_unwind{ ptr};
-         } else if ( BOOST_UNLIKELY( nullptr != detail::activation_record::current()->ontop) ) {
--            detail::activation_record::current()->ontop( ptr);
-+            ptr = detail::activation_record::current()->ontop( ptr);
-             detail::activation_record::current()->ontop = nullptr;
-         }
-         return continuation{ ptr };
-@@ -426,7 +436,7 @@ public:
-         if ( BOOST_UNLIKELY( detail::activation_record::current()->force_unwind) ) {
-             throw detail::forced_unwind{ ptr};
-         } else if ( BOOST_UNLIKELY( nullptr != detail::activation_record::current()->ontop) ) {
--            detail::activation_record::current()->ontop( ptr);
-+            ptr = detail::activation_record::current()->ontop( ptr);
-             detail::activation_record::current()->ontop = nullptr;
-         }
-         return continuation{ ptr };
-Index: boost_1_65_0/boost/context/continuation_winfib.hpp
-===================================================================
---- boost_1_65_0.orig/boost/context/continuation_winfib.hpp
-+++ boost_1_65_0/boost/context/continuation_winfib.hpp
-@@ -65,13 +65,13 @@ static VOID WINAPI entry_func( LPVOID da
- struct BOOST_CONTEXT_DECL activation_record {
-     thread_local static activation_record   *   current_rec;
--    LPVOID                                      fiber{ nullptr };
--    stack_context                               sctx{};
--    bool                                        main_ctx{ true };
--    activation_record                       *   from{ nullptr };
--    std::function< void(activation_record*&) >  ontop{};
--    bool                                        terminated{ false };
--    bool                                        force_unwind{ false };
-+    LPVOID                                                      fiber{ nullptr };
-+    stack_context                                               sctx{};
-+    bool                                                        main_ctx{ true };
-+    activation_record                                       *   from{ nullptr };
-+    std::function< activation_record*(activation_record*&) >    ontop{};
-+    bool                                                        terminated{ false };
-+    bool                                                        force_unwind{ false };
-     static activation_record *& current() noexcept;
-@@ -142,20 +142,30 @@ struct BOOST_CONTEXT_DECL activation_rec
-         current()->ontop = std::bind(
-                 [](typename std::decay< Fn >::type & fn, activation_record *& ptr){
-                     Ctx c{ ptr };
--                    fn( std::move( c) );
-+                    c = fn( std::move( c) );
-                     if ( ! c) {
-                         ptr = nullptr;
-                     }
-+#if defined(BOOST_NO_CXX14_STD_EXCHANGE)
-+                    return exchange( c.ptr_, nullptr);
-+#else
-+                    return std::exchange( c.ptr_, nullptr);
-+#endif
-                 },
-                 std::forward< Fn >( fn),
-                 std::placeholders::_1);
- #else
-         current()->ontop = [fn=std::forward<Fn>(fn)](activation_record *& ptr){
-             Ctx c{ ptr };
--            fn( std::move( c) );
-+            c = fn( std::move( c) );
-             if ( ! c) {
-                 ptr = nullptr;
-             }
-+#if defined(BOOST_NO_CXX14_STD_EXCHANGE)
-+            return exchange( c.ptr_, nullptr);
-+#else
-+            return std::exchange( c.ptr_, nullptr);
-+#endif
-         };
- #endif
-         // context switch
-@@ -336,7 +346,7 @@ public:
-         if ( BOOST_UNLIKELY( detail::activation_record::current()->force_unwind) ) {
-             throw detail::forced_unwind{ ptr};
-         } else if ( BOOST_UNLIKELY( nullptr != detail::activation_record::current()->ontop) ) {
--            detail::activation_record::current()->ontop( ptr);
-+            ptr = detail::activation_record::current()->ontop( ptr);
-             detail::activation_record::current()->ontop = nullptr;
-         }
-         return continuation{ ptr };
-@@ -354,7 +364,7 @@ public:
-         if ( BOOST_UNLIKELY( detail::activation_record::current()->force_unwind) ) {
-             throw detail::forced_unwind{ ptr};
-         } else if ( BOOST_UNLIKELY( nullptr != detail::activation_record::current()->ontop) ) {
--            detail::activation_record::current()->ontop( ptr);
-+            ptr = detail::activation_record::current()->ontop( ptr);
-             detail::activation_record::current()->ontop = nullptr;
-         }
-         return continuation{ ptr };
-Index: boost_1_65_0/boost/thread/win32/condition_variable.hpp
-===================================================================
---- boost_1_65_0.orig/boost/thread/win32/condition_variable.hpp
-+++ boost_1_65_0/boost/thread/win32/condition_variable.hpp
-@@ -211,7 +211,7 @@ namespace boost
-                 {}
- #endif
--                void remove_waiter()
-+                void remove_waiter_and_reset()
-                 {
-                   if (entry) {
-                     boost::lock_guard<boost::mutex> internal_lock(internal_mutex);
-@@ -221,7 +221,7 @@ namespace boost
-                 }
-                 ~entry_manager() BOOST_NOEXCEPT_IF(false)
-                 {
--                    remove_waiter();
-+                  remove_waiter_and_reset();
-                 }
-                 list_entry* operator->()
-@@ -250,7 +250,7 @@ namespace boost
-                   woken=entry->woken();
-               }
-               // do it here to avoid throwing on the destructor
--              entry->remove_waiter();
-+              entry.remove_waiter_and_reset();
-               locker.lock();
-               return woken;
-             }
-Index: boost_1_65_0/libs/context/doc/callcc.qbk
-===================================================================
---- boost_1_65_0.orig/libs/context/doc/callcc.qbk
-+++ boost_1_65_0/libs/context/doc/callcc.qbk
-@@ -176,6 +176,7 @@ return `void`.
-     c=c.resume_with([&data](ctx::continuation && c){
-                         std::cout << "f2: entered: " << data << std::endl;
-                         data=-1;
-+                        return std::move( c);
-                     });
-     std::cout << "f1: returned third time" << std::endl;
-@@ -221,6 +222,7 @@ an exception.
-     c = c.resume_with(
-            [](ctx::continuation && c){
-                throw my_exception(std::move(c),"abc");
-+               return std::move( c);
-            });
-     output:
-@@ -527,11 +529,11 @@ e.g. ['continuation::operator bool()] re
- [variablelist
- [[Effects:] [Captures current continuation and resumes `*this`.
--The function `resume_with`, is used to execute function `fn` in continuation
-+The function `resume_with`, is used to execute function `fn` in the execution context of
- `*this` (e.g. the stack frame of `fn` is allocated on stack of `*this`).]]
- [[Returns:] [The continuation representing the continuation that has been
- suspended.]]
--[[Note:] [Function `fn` needs to return void.]]
-+[[Note:] [Function `fn` needs to return `continuation`.]]
- [[Note:] [The returned continuation indicates if the suspended continuation has
- terminated (return from context-function) via `bool operator()`.]]
- ]
-Index: boost_1_65_0/libs/context/example/ontop.cpp
-===================================================================
---- boost_1_65_0.orig/libs/context/example/ontop.cpp
-+++ boost_1_65_0/libs/context/example/ontop.cpp
-@@ -32,6 +32,7 @@ int main() {
-     c = c.resume_with( [&data](ctx::continuation && c){
-                             std::cout << "f2: entered: " << data << std::endl;
-                             data = -1;
-+                            return std::move( c);
-                         });
-     std::cout << "f1: returned third time" << std::endl;
-     std::cout << "main: done" << std::endl;
-Index: boost_1_65_0/libs/context/example/ontop_void.cpp
-===================================================================
---- boost_1_65_0.orig/libs/context/example/ontop_void.cpp
-+++ boost_1_65_0/libs/context/example/ontop_void.cpp
-@@ -21,8 +21,9 @@ ctx::continuation f1( ctx::continuation
-     return std::move( c);
- }
--void f2( ctx::continuation && c) {
-+ctx::continuation f2( ctx::continuation && c) {
-     std::cout << "f2: entered" << std::endl;
-+    return std::move( c);
- }
- int main() {
-Index: boost_1_65_0/libs/context/example/throw.cpp
-===================================================================
---- boost_1_65_0.orig/libs/context/example/throw.cpp
-+++ boost_1_65_0/libs/context/example/throw.cpp
-@@ -38,6 +38,7 @@ int main() {
-     c = c.resume_with(
-            [](ctx::continuation && c){
-                throw my_exception(std::move( c), "abc");
-+               return std::move( c);
-            });
-     std::cout << "main: done" << std::endl;
-Index: boost_1_65_0/libs/context/test/test_callcc.cpp
-===================================================================
---- boost_1_65_0.orig/libs/context/test/test_callcc.cpp
-+++ boost_1_65_0/libs/context/test/test_callcc.cpp
-@@ -252,6 +252,7 @@ void test_ontop() {
-         c = c.resume_with(
-                [&i](ctx::continuation && c){
-                    i -= 10;
-+                   return std::move( c);
-                });
-         BOOST_CHECK( c);
-         BOOST_CHECK_EQUAL( i, 200);
-@@ -266,6 +267,7 @@ void test_ontop() {
-         c = c.resume_with(
-                [&c1](ctx::continuation && c){
-                    c1 = std::move( c);
-+                   return std::move( c);
-                });
-     }
- }
-@@ -290,7 +292,8 @@ void test_ontop_exception() {
-     const char * what = "hello world";
-     c.resume_with(
-        [what](ctx::continuation && c){
--           throw my_exception( std::move( c), what);
-+            throw my_exception( std::move( c), what);
-+            return std::move( c);
-        });
-     BOOST_CHECK_EQUAL( 3, value1);
-     BOOST_CHECK_EQUAL( std::string( what), value2);
-Index: boost_1_65_0/libs/fiber/src/context.cpp
-===================================================================
---- boost_1_65_0.orig/libs/fiber/src/context.cpp
-+++ boost_1_65_0/libs/fiber/src/context.cpp
-@@ -145,6 +145,7 @@ context::resume() noexcept {
-     // pass pointer to the context that resumes `this`
-     c_.resume_with([prev](boost::context::continuation && c){
-                 prev->c_ = std::move( c);
-+                return boost::context::continuation{};
-             });
- }
-@@ -158,6 +159,7 @@ context::resume( detail::spinlock_lock &
-     c_.resume_with([prev,&lk](boost::context::continuation && c){
-                 prev->c_ = std::move( c);
-                 lk.unlock();
-+                return boost::context::continuation{};
-             });
- }
-@@ -171,6 +173,7 @@ context::resume( context * ready_ctx) no
-     c_.resume_with([prev,ready_ctx](boost::context::continuation && c){
-                 prev->c_ = std::move( c);
-                 context::active()->schedule( ready_ctx);
-+                return boost::context::continuation{};
-             });
- }
-@@ -218,6 +221,7 @@ context::suspend_with_cc() noexcept {
-     // pass pointer to the context that resumes `this`
-     return c_.resume_with([prev](boost::context::continuation && c){
-                 prev->c_ = std::move( c);
-+                return boost::context::continuation{};
-             });
- }
diff --git a/libs/boost/patches/010-fiber_fix_0506e46640989e1f919388ad36890bd6063cd43a.patch b/libs/boost/patches/010-fiber_fix_0506e46640989e1f919388ad36890bd6063cd43a.patch
new file mode 100644 (file)
index 0000000..bcb2bad
--- /dev/null
@@ -0,0 +1,12 @@
+Index: boost_1_65_1/libs/fiber/src/numa/linux/pin_thread.cpp
+===================================================================
+--- boost_1_65_1.orig/libs/fiber/src/numa/linux/pin_thread.cpp
++++ boost_1_65_1/libs/fiber/src/numa/linux/pin_thread.cpp
+@@ -9,6 +9,7 @@
+ extern "C" {
+ #include <pthread.h>
+ #include <sched.h>
++#include <string.h>
+ }
+ #include <system_error>
diff --git a/libs/boost/patches/020-fiber_fix_0506e46640989e1f919388ad36890bd6063cd43a.patch b/libs/boost/patches/020-fiber_fix_0506e46640989e1f919388ad36890bd6063cd43a.patch
deleted file mode 100644 (file)
index 245afab..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: boost_1_65_0/libs/fiber/src/numa/linux/pin_thread.cpp
-===================================================================
---- boost_1_65_0.orig/libs/fiber/src/numa/linux/pin_thread.cpp
-+++ boost_1_65_0/libs/fiber/src/numa/linux/pin_thread.cpp
-@@ -9,6 +9,7 @@
- extern "C" {
- #include <pthread.h>
- #include <sched.h>
-+#include <string.h>
- }
- #include <system_error>