diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2021-01-06 15:11:07 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2021-01-06 23:01:40 +0100 |
commit | e0f1b5bd94550835c639efda4e4c9a801c78dbe9 (patch) | |
tree | 314719c3e6a6d13305d613a187102a5c3e42571b /external/boost | |
parent | 5b50095e454c41ef394f5b5687fb1cd24286b755 (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.2 | 40 | ||||
-rw-r--r-- | external/boost/StaticLibrary_boost_date_time.mk | 2 | ||||
-rw-r--r-- | external/boost/StaticLibrary_boost_filesystem.mk | 2 | ||||
-rw-r--r-- | external/boost/UnpackedTarball_boost.mk | 9 | ||||
-rw-r--r-- | external/boost/c++20-allocator.patch.0 | 24 | ||||
-rw-r--r-- | external/boost/clang-cl.patch.0 | 28 | ||||
-rw-r--r-- | external/boost/gcc9.patch.0 | 10 | ||||
-rw-r--r-- | external/boost/include/boost/property_tree/ptree_fwd.hpp | 31 |
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 |