--- /dev/null
+--- 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;
+ }
+ };