summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/boost/UnpackedTarball_boost.mk2
-rw-r--r--external/boost/c++20-allocator.patch.024
2 files changed, 26 insertions, 0 deletions
diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk
index 86f52ded439e..33f2f2cd9b50 100644
--- a/external/boost/UnpackedTarball_boost.mk
+++ b/external/boost/UnpackedTarball_boost.mk
@@ -40,6 +40,8 @@ boost_patches += msvc2017.patch.0
boost_patches += sse.patch.0
+boost_patches += c++20-allocator.patch.0
+
$(eval $(call gb_UnpackedTarball_UnpackedTarball,boost))
$(eval $(call gb_UnpackedTarball_set_tarball,boost,$(BOOST_TARBALL)))
diff --git a/external/boost/c++20-allocator.patch.0 b/external/boost/c++20-allocator.patch.0
new file mode 100644
index 000000000000..30a34e1b216d
--- /dev/null
+++ b/external/boost/c++20-allocator.patch.0
@@ -0,0 +1,24 @@
+--- boost/bimap/detail/bimap_core.hpp
++++ boost/bimap/detail/bimap_core.hpp
+@@ -404,8 +404,8 @@
+ <
+ relation,
+ core_indices,
+- BOOST_DEDUCED_TYPENAME parameters::allocator::
+- BOOST_NESTED_TEMPLATE rebind<relation>::other
++ typename std::allocator_traits<BOOST_DEDUCED_TYPENAME parameters::allocator>::
++ BOOST_NESTED_TEMPLATE rebind_alloc<relation>
+
+ > core_type;
+
+--- boost/format/alt_sstream_impl.hpp
++++ boost/format/alt_sstream_impl.hpp
+@@ -258,7 +258,7 @@
+ void *vdptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);
+ newptr = static_cast<Ch *>(vdptr);
+ #else
+- newptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);
++ newptr = std::allocator_traits<compat_allocator_type>::allocate(alloc_, new_size, is_allocated_? oldptr : 0);
+ #endif
+ }
+