summaryrefslogtreecommitdiff
path: root/dev-libs/boost/boost-1.73.0-c++20-format.patch
blob: fbd96d228e52429fcb523c31f12d968c003213d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
From e47eef3b6bfed3a56ac1cd3d3601d99910e66f66 Mon Sep 17 00:00:00 2001
From: LE GARREC Vincent <github@le-garrec.fr>
Date: Mon, 28 Oct 2019 13:01:04 +0100
Subject: [PATCH] Removed deprecated std::allocator<void>

Fix issue#67

Based on patch from LibreOffice
https://cgit.freedesktop.org/libreoffice/core/commit/?id=677c8de4fa79cd9b278b142013ba7f1c9e4e41c3

and pull request from boost/bimap
https://github.com/boostorg/bimap/pull/15
---
 include/boost/format/alt_sstream_impl.hpp | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/include/boost/format/alt_sstream_impl.hpp b/include/boost/format/alt_sstream_impl.hpp
index 998f8b2e..a9d43425 100644
--- a/boost/format/alt_sstream_impl.hpp
+++ b/boost/format/alt_sstream_impl.hpp
@@ -255,10 +255,20 @@ namespace boost {
                 if(0 < add_size) {
                     new_size += add_size;
 #ifdef _RWSTD_NO_CLASS_PARTIAL_SPEC
+  #ifdef BOOST_NO_CXX11_ALLOCATOR
                     void *vdptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);
+  #else
+                    void *vdptr = std::allocator_traits<compat_allocator_type>::allocate(
+                        alloc_, new_size, is_allocated_? oldptr : 0);
+  #endif
                     newptr = static_cast<Ch *>(vdptr);
 #else
+  #ifdef BOOST_NO_CXX11_ALLOCATOR
                     newptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);
+  #else
+                    newptr = std::allocator_traits<compat_allocator_type>::allocate(
+                        alloc_, new_size, is_allocated_? oldptr : 0);
+  #endif
 #endif
                 }