boost: Fixes Boost.regex header-only (v5) include 15771/head
authorCarlos Miguel Ferreira <carlosmf.pt@gmail.com>
Thu, 3 Jun 2021 22:05:10 +0000 (23:05 +0100)
committerCarlos Miguel Ferreira <carlosmf.pt@gmail.com>
Thu, 3 Jun 2021 22:45:30 +0000 (23:45 +0100)
In v1.76.0 Boost.Regex became a header-only library.
With this update, there are now two different versions:
- v4 for C++03 (deprecated)
- v5 header-only

This commit fixes an issue which was preventing Boost.Regex
from being built for old ArmV5 targets

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

diff --git a/libs/boost/patches/020-regex.patch b/libs/boost/patches/020-regex.patch
new file mode 100644 (file)
index 0000000..606d222
--- /dev/null
@@ -0,0 +1,29 @@
+--- a/boost/regex/v5/mem_block_cache.hpp
++++ b/boost/regex/v5/mem_block_cache.hpp
+@@ -85,10 +85,10 @@ struct mem_block_node
+ struct mem_block_cache
+ {
+    // this member has to be statically initialsed:
+-   mem_block_node* next;
+-   unsigned cached_blocks;
++   mem_block_node* next { nullptr };
++   unsigned cached_blocks { 0 };
+ #ifdef BOOST_HAS_THREADS
+-   boost::static_mutex mut;
++   std::mutex mut;
+ #endif
+    ~mem_block_cache()
+@@ -133,11 +133,7 @@ struct mem_block_cache
+    }
+    static mem_block_cache& instance()
+    {
+-#ifdef BOOST_HAS_THREADS
+-      static mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, };
+-#else
+-      static mem_block_cache block_cache = { 0, 0, };
+-#endif
++      static mem_block_cache block_cache;
+       return block_cache;
+    }
+ };