Patch Boost.Format for C++20 compatibility with GCC 10 (#1818723)

This commit is contained in:
Jonathan Wakely 2020-03-30 15:22:56 +01:00
commit 5a7838ff94
2 changed files with 36 additions and 1 deletions

View file

@ -0,0 +1,28 @@
--- boost_1_69_0/boost/format/alt_sstream_impl.hpp~ 2020-03-30 15:20:18.565658757 +0100
+++ boost_1_69_0/boost/format/alt_sstream_impl.hpp 2020-03-30 15:20:33.768636162 +0100
@@ -40,8 +40,11 @@
#ifdef _RWSTD_NO_CLASS_PARTIAL_SPEC
void *vd_ptr = alloc_.allocate(sz, is_allocated_? eback() : 0);
Ch *new_ptr = static_cast<Ch *>(vd_ptr);
-#else
+#elif defined BOOST_NO_CXX11_ALLOCATOR
Ch *new_ptr = alloc_.allocate(sz, is_allocated_? eback() : 0);
+#else
+ Ch *new_ptr = std::allocator_traits<compat_allocator_type>::allocate(alloc_,
+ sz, is_allocated_? eback() : 0);
#endif
// if this didnt throw, we're safe, update the buffer
dealloc();
@@ -257,8 +260,11 @@
#ifdef _RWSTD_NO_CLASS_PARTIAL_SPEC
void *vdptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);
newptr = static_cast<Ch *>(vdptr);
-#else
+#elif defined 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
}

View file

@ -45,7 +45,7 @@ Summary: The free peer-reviewed portable C++ source libraries
Version: 1.69.0
%global version_enc 1_69_0
%global version_suffix 169
Release: 8%{?dist}
Release: 9%{?dist}
License: Boost and MIT and Python
%global toplev_dirname %{real_name}_%{version_enc}
@ -152,6 +152,9 @@ Patch84: boost-1.69-random.patch
# https://github.com/boostorg/mpi/pull/81
Patch85: boost-1.69-mpi-c_data.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1818723
Patch86: boost-1.69-format-allocator.patch
%bcond_with tests
%bcond_with docs_generated
@ -761,6 +764,7 @@ find ./boost -name '*.hpp' -perm /111 | xargs chmod a-x
%patch83 -p1
%patch84 -p2
%patch85 -p2
%patch86 -p1
%build
# Dump the versions being used into the build logs.
@ -1483,6 +1487,9 @@ fi
%{_mandir}/man1/bjam.1*
%changelog
* Mon Mar 30 2020 Jonathan Wakely <jwakely@redhat.com> - 1.69.0-9
- Patch Boost.Format for C++20 compatibility with GCC 10 (#1818723)
* Fri May 10 2019 Jonathan Wakely <jwakely@redhat.com> - 1.69.0-8
- Fix Obsoletes tag to remove _isa (#1706079)