office-gobmx/external/boost/clang-cl.patch.0
Stephan Bergmann e0f1b5bd94 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
e7b8728f5c "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>
2021-01-06 23:01:40 +01:00

20 lines
832 B
Text

--- boost/multi_array/base.hpp
+++ boost/multi_array/base.hpp
@@ -222,7 +222,7 @@
// MSVC 2010 is broken in debug mode: it requires
// that an Output Iterator have output_iterator_tag in its iterator_category if
// that iterator is not bidirectional_iterator or random_access_iterator.
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600)
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) || defined __clang__
struct mutable_iterator_tag
: boost::random_access_traversal_tag, std::input_iterator_tag
{
@@ -274,7 +274,7 @@
//
// iterator support
//
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600)
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) || defined __clang__
// Deal with VC 2010 output_iterator_tag requirement
typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference,
mutable_iterator_tag> iterator;