summaryrefslogtreecommitdiff
path: root/external/boost
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2021-01-06 15:11:07 +0100
committerStephan Bergmann <sbergman@redhat.com>2021-01-06 23:01:40 +0100
commite0f1b5bd94550835c639efda4e4c9a801c78dbe9 (patch)
tree314719c3e6a6d13305d613a187102a5c3e42571b /external/boost
parent5b50095e454c41ef394f5b5687fb1cd24286b755 (diff)
Upgrade external/boost to latest Boost 1.75.0
* <https://dev-www.libreoffice.org/src/boost_1_75_0.tar.xz> has been generated (on Fedora 33) with > $ wget https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.bz2 > $ printf '953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb boost_1_75_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_75_0.html> > boost_1_75_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_75_0.tar.bz2 > Unpacking boost_1_75_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_75_0.tar.xz ... > Cleaning up ... > cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b boost_1_75_0.tar.xz > Done. * external/boost/StaticLibrary_boost_date_time.mk: Even though date_generators.cpp and greg_weekday.cpp are still present, their function definitions are now covered by inline function definitions in include files, > workdir/UnpackedTarball/boost/libs/date_time/src/gregorian/greg_weekday.cpp:23:17: error: redefinition of 'as_short_string' > greg_weekday::as_short_string() const > ^ > workdir/UnpackedTarball/boost/boost/date_time/gregorian/greg_weekday.hpp:52:17: note: previous definition is here > const char* as_short_string() const > ^ etc. and > workdir/UnpackedTarball/boost/libs/date_time/src/gregorian/date_generators.cpp:23:36: error: redefinition of 'nth_as_str' > BOOST_DATE_TIME_DECL const char* nth_as_str(int ele) > ^ > workdir/UnpackedTarball/boost/boost/date_time/date_generators.hpp:157:22: note: previous definition is here > inline const char* nth_as_str(int ele) > ^ * external/boost/StaticLibrary_boost_filesystem.mk now lacked various symbols, as seen when linking external/liborcus' orcus-parser library: > "boost::filesystem::emit_error(int, boost::system::error_code*, char const*)", referenced from: [...] > "boost::filesystem::emit_error(int, boost::filesystem::path const&, boost::system::error_code*, char const*)", referenced from: [...] > "boost::filesystem::emit_error(int, boost::filesystem::path const&, boost::filesystem::path const&, boost::system::error_code*, char const*)", referenced from: [...] > "boost::filesystem::filesystem_error::filesystem_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, boost::filesystem::path const&, boost::system::error_code)", referenced from: [...] > "boost::filesystem::filesystem_error::filesystem_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, boost::filesystem::path const&, boost::filesystem::path const&, boost::system::error_code)", referenced from: [...] > "boost::filesystem::filesystem_error::~filesystem_error()", referenced from: [...] > "boost::filesystem::detail::dir_itr_close(void*&, void*&)", referenced from: [...] > "boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, unsigned int, boost::system::error_code*)", referenced from: [...] > "boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)", referenced from: [...] > "typeinfo for boost::filesystem::filesystem_error", referenced from: [...] * No longer sure why external/boost/gcc9.patch.0 from e7b8728f5c0292a6c6a18e76220b1769ecf25aa3 "external/boost: silence -Werror=deprecated-copy (GCC trunk towards GCC 9)" was necessary at all, in addition to that commit's > #pragma GCC diagnostic ignored "-Wdeprecated-copy" changes, but at least a build with recent GCC 11 trunk appears to work fine now without it. (And the patch would no longer have applied as-is.) * The dropped patches in external/boost/c++20-allocator.patch.0 and external/boost/clang-cl.patch.0 would no longer have applied as-is, but also appear not to be needed any more. * external/boost/include/boost/property_tree/ptree_fwd.hpp became necessary to silence > In file included from workdir/UnpackedTarball/boost/boost/property_tree/ptree_fwd.hpp:16, > from libreofficekit/qa/gtktiledviewer/gtv-helpers.hxx:21, > from libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx:19: > workdir/UnpackedTarball/boost/boost/throw_exception.hpp: In instantiation of ‘boost::wrapexcept<E>::wrapexcept(const E&, const boost::source_location&) [with E = boost::property_tree::ptree_bad_data]’: > workdir/UnpackedTarball/boost/boost/throw_exception.hpp:171:11: required from ‘void boost::throw_exception(const E&, const boost::source_location&) [with E = boost::property_tree::ptree_bad_data]’ > workdir/UnpackedTarball/boost/boost/property_tree/detail/ptree_implementation.hpp:826:13: required from ‘void boost::property_tree::basic_ptree<Key, Data, KeyCompare>::put_value(const Type&, Translator) [with Type = char [8]; Translator = boost::property_tree::stream_translator<char, std::char_traits<char>, std::allocator<char>, char [8]>; Key = std::__cxx11::basic_string<char>; Data = std::__cxx11::basic_string<char>; KeyCompare = std::less<std::__cxx11::basic_string<char> >]’ > workdir/UnpackedTarball/boost/boost/property_tree/detail/ptree_implementation.hpp:845:34: required from ‘boost::property_tree::basic_ptree<K, D, C>& boost::property_tree::basic_ptree<Key, Data, KeyCompare>::put(const path_type&, const Type&, Translator) [with Type = char [8]; Translator = boost::property_tree::stream_translator<char, std::char_traits<char>, std::allocator<char>, char [8]>; Key = std::__cxx11::basic_string<char>; Data = std::__cxx11::basic_string<char>; KeyCompare = std::less<std::__cxx11::basic_string<char> >; boost::property_tree::basic_ptree<Key, Data, KeyCompare>::path_type = boost::property_tree::string_path<std::__cxx11::basic_string<char>, boost::property_tree::id_translator<std::__cxx11::basic_string<char> > >]’ > workdir/UnpackedTarball/boost/boost/property_tree/detail/ptree_implementation.hpp:859:19: required from ‘boost::property_tree::basic_ptree<K, D, C>& boost::property_tree::basic_ptree<Key, Data, KeyCompare>::put(const path_type&, const Type&) [with Type = char [8]; Key = std::__cxx11::basic_string<char>; Data = std::__cxx11::basic_string<char>; KeyCompare = std::less<std::__cxx11::basic_string<char> >; boost::property_tree::basic_ptree<Key, Data, KeyCompare>::path_type = boost::property_tree::string_path<std::__cxx11::basic_string<char>, boost::property_tree::id_translator<std::__cxx11::basic_string<char> > >]’ > libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx:300:103: required from here > workdir/UnpackedTarball/boost/boost/throw_exception.hpp:134:82: error: implicitly-declared ‘boost::property_tree::ptree_bad_data::ptree_bad_data(const boost::property_tree::ptree_bad_data&)’ is deprecated [-Werror=deprecated-copy-dtor] > 134 | explicit wrapexcept( E const & e, boost::source_location const & loc ): E( e ) > | ^ > In file included from workdir/UnpackedTarball/boost/boost/property_tree/exceptions.hpp:84, > from workdir/UnpackedTarball/boost/boost/property_tree/string_path.hpp:16, > from workdir/UnpackedTarball/boost/boost/property_tree/ptree.hpp:16, > from external/boost/include/boost/property_tree/ptree.hpp:30, > from workdir/UnpackedTarball/boost/boost/property_tree/json_parser.hpp:14, > from external/boost/include/boost/property_tree/json_parser.hpp:30, > from libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx:26: > workdir/UnpackedTarball/boost/boost/property_tree/detail/exception_implementation.hpp:51:12: note: because ‘boost::property_tree::ptree_bad_data’ has user-provided ‘virtual boost::property_tree::ptree_bad_data::~ptree_bad_data()’ > 51 | inline ptree_bad_data::~ptree_bad_data() throw() > | ^~~~~~~~~~~~~~ etc. Change-Id: I36fcd04ca6f109910761a5802535a18cfb17ddd9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108878 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external/boost')
-rw-r--r--external/boost/0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.240
-rw-r--r--external/boost/StaticLibrary_boost_date_time.mk2
-rw-r--r--external/boost/StaticLibrary_boost_filesystem.mk2
-rw-r--r--external/boost/UnpackedTarball_boost.mk9
-rw-r--r--external/boost/c++20-allocator.patch.024
-rw-r--r--external/boost/clang-cl.patch.028
-rw-r--r--external/boost/gcc9.patch.010
-rw-r--r--external/boost/include/boost/property_tree/ptree_fwd.hpp31
8 files changed, 33 insertions, 113 deletions
diff --git a/external/boost/0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.2 b/external/boost/0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.2
deleted file mode 100644
index 6645cae56a67..000000000000
--- a/external/boost/0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.2
+++ /dev/null
@@ -1,40 +0,0 @@
-From c0e9b4de19c465ab4cff52288b87d527b826cd22 Mon Sep 17 00:00:00 2001
-From: dodheim <dodheim@gmail.com>
-Date: Sun, 23 Aug 2015 20:43:54 -0700
-Subject: [PATCH] This bug was fixed in VC++ 2013, workaround no longer
- applicable.
-
----
- include/boost/proto/expr.hpp | 2 +-
- include/boost/proto/generate.hpp | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/boost/proto/expr.hpp b/include/boost/proto/expr.hpp
-index 1bd6498..2c355c2 100644
---- a/include/boost/proto/expr.hpp
-+++ b/include/boost/proto/expr.hpp
-@@ -92,7 +92,7 @@ namespace boost { namespace proto
-
- // Work-around for:
- // https://connect.microsoft.com/VisualStudio/feedback/details/765449/codegen-stack-corruption-using-runtime-checks-when-aggregate-initializing-struct
-- #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1700))
-+ #if BOOST_WORKAROUND(BOOST_MSVC, < 1800)
- template<typename T, typename Expr, typename C, typename U>
- BOOST_FORCEINLINE
- Expr make_terminal(T &t, Expr *, proto::term<U C::*> *)
-diff --git a/include/boost/proto/generate.hpp b/include/boost/proto/generate.hpp
-index 4762741..3a600c4 100644
---- a/include/boost/proto/generate.hpp
-+++ b/include/boost/proto/generate.hpp
-@@ -230,7 +230,7 @@ namespace boost { namespace proto
-
- // Work-around for:
- // https://connect.microsoft.com/VisualStudio/feedback/details/765449/codegen-stack-corruption-using-runtime-checks-when-aggregate-initializing-struct
-- #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1700))
-+ #if BOOST_WORKAROUND(BOOST_MSVC, < 1800)
- template<typename Class, typename Member>
- BOOST_FORCEINLINE
- Extends<expr<tag::terminal, proto::term<Member Class::*> > > operator ()(expr<tag::terminal, proto::term<Member Class::*> > const &e) const
---
-2.29.2
-
diff --git a/external/boost/StaticLibrary_boost_date_time.mk b/external/boost/StaticLibrary_boost_date_time.mk
index 573947fd71ee..2045243590e5 100644
--- a/external/boost/StaticLibrary_boost_date_time.mk
+++ b/external/boost/StaticLibrary_boost_date_time.mk
@@ -30,10 +30,8 @@ $(eval $(call gb_StaticLibrary_use_external,boost_date_time,boost_headers))
$(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,boost_date_time,cpp))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,boost_date_time,\
- UnpackedTarball/boost/libs/date_time/src/gregorian/date_generators \
UnpackedTarball/boost/libs/date_time/src/gregorian/gregorian_types \
UnpackedTarball/boost/libs/date_time/src/gregorian/greg_month \
- UnpackedTarball/boost/libs/date_time/src/gregorian/greg_weekday \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/boost/StaticLibrary_boost_filesystem.mk b/external/boost/StaticLibrary_boost_filesystem.mk
index a49f06b6dba5..483e0a79b6ca 100644
--- a/external/boost/StaticLibrary_boost_filesystem.mk
+++ b/external/boost/StaticLibrary_boost_filesystem.mk
@@ -24,6 +24,8 @@ $(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,boost_filesystem,cpp))
$(eval $(call gb_StaticLibrary_add_generated_exception_objects,boost_filesystem,\
UnpackedTarball/boost/libs/filesystem/src/codecvt_error_category \
+ UnpackedTarball/boost/libs/filesystem/src/directory \
+ UnpackedTarball/boost/libs/filesystem/src/exception \
UnpackedTarball/boost/libs/filesystem/src/operations \
UnpackedTarball/boost/libs/filesystem/src/path \
UnpackedTarball/boost/libs/filesystem/src/path_traits \
diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk
index 4ab57368fa1d..db956c916df5 100644
--- a/external/boost/UnpackedTarball_boost.mk
+++ b/external/boost/UnpackedTarball_boost.mk
@@ -33,17 +33,8 @@ boost_patches += boost-android-unified.patch.1
boost_patches += windows-no-utf8-locales.patch.0
-boost_patches += gcc9.patch.0
-
boost_patches += msvc2017.patch.0
-# boost/format/alt_sstream_impl.hpp part covered by <https://github.com/boostorg/format/pull/70>
-# "Removed deprecated std::allocator<void>":
-boost_patches += c++20-allocator.patch.0
-
-# First appears in <https://github.com/boostorg/proto/releases/tag/boost-1.72.0>:
-boost_patches += 0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.2
-
$(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
deleted file mode 100644
index 30a34e1b216d..000000000000
--- a/external/boost/c++20-allocator.patch.0
+++ /dev/null
@@ -1,24 +0,0 @@
---- 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
- }
-
diff --git a/external/boost/clang-cl.patch.0 b/external/boost/clang-cl.patch.0
index 49259a0d5783..45137f9ff1f1 100644
--- a/external/boost/clang-cl.patch.0
+++ b/external/boost/clang-cl.patch.0
@@ -18,31 +18,3 @@
// Deal with VC 2010 output_iterator_tag requirement
typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference,
mutable_iterator_tag> iterator;
-
-# clang-cl cannot use MSVC's ATOMIC_FLAG_INIT:
---- boost/smart_ptr/detail/spinlock.hpp
-+++ boost/smart_ptr/detail/spinlock.hpp
-@@ -43,7 +43,7 @@
- #elif defined( BOOST_SP_USE_PTHREADS )
- # include <boost/smart_ptr/detail/spinlock_pt.hpp>
-
--#elif !defined( BOOST_NO_CXX11_HDR_ATOMIC )
-+#elif !defined( BOOST_NO_CXX11_HDR_ATOMIC ) && !(defined __clang__ && defined _MSC_VER && _MSC_VER == 1916)
- # include <boost/smart_ptr/detail/spinlock_std_atomic.hpp>
-
- #elif defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )
-
-# workdir/UnpackedTarball/boost/libs/thread/src/win32/thread.cpp(1006,36) : error: dllimport cannot be applied to non-inline function definition
-# BOOST_THREAD_DECL void __cdecl on_process_enter()
-# ^
---- boost/thread/detail/config.hpp
-+++ boost/thread/detail/config.hpp
-@@ -396,7 +396,7 @@
- #else //Use default
- # if defined(BOOST_THREAD_PLATFORM_WIN32)
- # if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) \
-- || defined(__MINGW32__) || defined(MINGW32) || defined(BOOST_MINGW32)
-+ || defined(__MINGW32__) || defined(MINGW32) || defined(BOOST_MINGW32) || defined __clang__
- //For compilers supporting auto-tss cleanup
- //with Boost.Threads lib, use Boost.Threads lib
- # define BOOST_THREAD_USE_LIB
diff --git a/external/boost/gcc9.patch.0 b/external/boost/gcc9.patch.0
deleted file mode 100644
index f9ddfa519d3f..000000000000
--- a/external/boost/gcc9.patch.0
+++ /dev/null
@@ -1,10 +0,0 @@
---- boost/bimap/detail/map_view_iterator.hpp
-+++ boost/bimap/detail/map_view_iterator.hpp
-@@ -165,6 +165,7 @@
- : base_(iter.base()) {}
- const_map_view_iterator(map_view_iterator<Tag,BimapCore> i)
- : base_(i.base()) {}
-+ const_map_view_iterator & operator = (const_map_view_iterator const &) = default;
-
- BOOST_DEDUCED_TYPENAME base_::reference dereference() const
- {
diff --git a/external/boost/include/boost/property_tree/ptree_fwd.hpp b/external/boost/include/boost/property_tree/ptree_fwd.hpp
new file mode 100644
index 000000000000..4088ab20a460
--- /dev/null
+++ b/external/boost/include/boost/property_tree/ptree_fwd.hpp
@@ -0,0 +1,31 @@
+/* generated by bin/gen-boost-headers, do not edit! */
+#pragma once
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpragmas" /* first! for GCC */
+#pragma GCC diagnostic ignored "-Wunknown-warning-option" // second! for Clang 5
+#pragma GCC diagnostic ignored "-Wdelete-non-virtual-dtor"
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy"
+#pragma GCC diagnostic ignored "-Wdeprecated-copy-dtor"
+#pragma GCC diagnostic ignored "-Wextra"
+#pragma GCC diagnostic ignored "-Wignored-qualifiers"
+#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
+#pragma GCC diagnostic ignored "-Winvalid-constexpr"
+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+#pragma GCC diagnostic ignored "-Wmicrosoft-unqualified-friend"
+#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
+#pragma GCC diagnostic ignored "-Wnonnull"
+#pragma GCC diagnostic ignored "-Wparentheses"
+#pragma GCC diagnostic ignored "-Wplacement-new"
+#pragma GCC diagnostic ignored "-Wreturn-type"
+#pragma GCC diagnostic ignored "-Wshadow"
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#pragma GCC diagnostic ignored "-Wtautological-constant-out-of-range-compare"
+#pragma GCC diagnostic ignored "-Wtype-limits"
+#pragma GCC diagnostic ignored "-Wundef"
+#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
+#pragma GCC diagnostic ignored "-Wunused-macros"
+#pragma GCC diagnostic ignored "-Wunused-parameter"
+#pragma GCC diagnostic ignored "-Wunused-variable"
+#include_next <boost/property_tree/ptree_fwd.hpp>
+#pragma GCC diagnostic pop