[Libreoffice-commits] core.git: external/boost
Stephan Bergmann (via logerrit)
logerrit at kemper.freedesktop.org
Mon Oct 28 09:42:16 UTC 2019
external/boost/UnpackedTarball_boost.mk | 2 ++
external/boost/c++20-allocator.patch.0 | 24 ++++++++++++++++++++++++
2 files changed, 26 insertions(+)
New commits:
commit 677c8de4fa79cd9b278b142013ba7f1c9e4e41c3
Author: Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Mon Oct 28 08:31:17 2019 +0100
Commit: Stephan Bergmann <sbergman at redhat.com>
CommitDate: Mon Oct 28 10:41:37 2019 +0100
external/boost: Adapt to std::allocator parts removed in C++20
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html#4.2>
"Deprecating Vestigial Library Parts in C++17" deprecated, among others,
std::allocator::rebind and std::allocator::allocate's hint parameter, and
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0619r4.html#3.9>
"Reviewing Deprecated Facilities of C++17 for C++20" removed them completely.
(And <https://gcc.gnu.org/git/?p=gcc.git;a=commit;
h=954026a7a4e6a1affd1ac5db237ccd75a3316760> "Remove redundant std::allocator
members for C++20" removed them from libstdc++ now for -std=c++2a.)
The change to boost/bimap/detail/bimap_core.hpp was necessary in
Library_pdfimport:
> In file included from workdir/UnpackedTarball/boost/boost/bimap/bimap.hpp:61,
> from external/boost/include/boost/bimap/bimap.hpp:30,
> from sdext/source/pdfimport/inc/pdfiprocessor.hxx:49,
> from sdext/source/pdfimport/pdfiadaptor.cxx:27:
> workdir/UnpackedTarball/boost/boost/bimap/detail/bimap_core.hpp: In instantiation of ‘class boost::bimaps::detail::bimap_core<boost::bimaps::unordered_set_of<pdfi::GraphicsContext, pdfi::GraphicsContextHash>, boost::bimaps::unordered_set_of<int>, mpl_::na, mpl_::na, mpl_::na>’:
> workdir/UnpackedTarball/boost/boost/bimap/bimap.hpp:133:7: required from ‘class boost::bimaps::bimap<boost::bimaps::unordered_set_of<pdfi::GraphicsContext, pdfi::GraphicsContextHash>, boost::bimaps::unordered_set_of<int> >’
> sdext/source/pdfimport/inc/pdfiprocessor.hxx:190:44: required from here
> workdir/UnpackedTarball/boost/boost/bimap/detail/bimap_core.hpp:410:7: error: no class template named ‘rebind’ in ‘boost::bimaps::detail::manage_additional_parameters<mpl_::na, mpl_::na, mpl_::na>::case_NNN::allocator’ {aka ‘class std::allocator<void>’}
> 410 | > core_type;
> | ^~~~~~~~~
[...]
The change to boost/format/alt_sstream_impl.hpp was necessary in
ExternalProject_libpagemaker:
> In file included from libpagemaker_utils.h:22,
> from geometry.h:20,
> from OutputShape.h:17,
> from OutputShape.cpp:10:
> external/boost/include/boost/cstdint.hpp:30:2: warning: #include_next is a GCC extension
> 30 | #include_next <boost/cstdint.hpp>
> | ^~~~~~~~~~~~
> In file included from workdir/UnpackedTarball/boost/boost/format/alt_sstream.hpp:174,
> from workdir/UnpackedTarball/boost/boost/format/internals.hpp:24,
> from workdir/UnpackedTarball/boost/boost/format.hpp:38,
> from PMDExceptions.h:15,
> from OutputShape.h:16,
> from OutputShape.cpp:10:
> workdir/UnpackedTarball/boost/boost/format/alt_sstream_impl.hpp: In instantiation of ‘boost::io::basic_altstringbuf<Ch, Tr, Alloc>::int_type boost::io::basic_altstringbuf<Ch, Tr, Alloc>::overflow(boost::io::basic_altstringbuf<Ch, Tr, Alloc>::int_type) [with Ch = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>; boost::io::basic_altstringbuf<Ch, Tr, Alloc>::int_type = int]’:
> workdir/UnpackedTarball/boost/boost/format/alt_sstream_impl.hpp:227:9: required from here
> workdir/UnpackedTarball/boost/boost/format/alt_sstream_impl.hpp:261:45: error: no matching function for call to ‘std::allocator<char>::allocate(std::size_t&, char*)’
> 261 | newptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);
> | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from gcc/trunk/inst/include/c++/10.0.0/memory:64,
> from OutputShape.h:13,
> from OutputShape.cpp:10:
> gcc/trunk/inst/include/c++/10.0.0/bits/allocator.h:164:7: note: candidate: ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = char; std::size_t = long unsigned int]’
> 164 | allocate(size_t __n)
> | ^~~~~~~~
> gcc/trunk/inst/include/c++/10.0.0/bits/allocator.h:164:7: note: candidate expects 1 argument, 2 provided
Change-Id: Id423f7597fe2e84e57df1d48a2ecc4d636c4a913
Reviewed-on: https://gerrit.libreoffice.org/81584
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
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
+ }
+
More information about the Libreoffice-commits
mailing list