summaryrefslogtreecommitdiff
path: root/o3tl
ModeNameSize
-rw-r--r--CompilerTest_o3tl_temporary.mk532logplain
-rw-r--r--CppunitTest_o3tl_tests.mk1388logplain
-rw-r--r--Makefile225logplain
-rw-r--r--Module_o3tl.mk1040logplain
-rw-r--r--README1306logplain
d---------qa520logplain
nd the build failure and give time for finding a better solution. This reverts commit 25e7e1677b13db818b5458cd0c3fd3d9dfc88557. [1] https://ci.libreoffice.org/job/gerrit_android_arm/43354/console [2] https://ci.libreoffice.org/job/gerrit_android_arm/ Change-Id: Ifad1412b691adce74bb16805975e3439898e3b74 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178697 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins 2024-12-16boost: upgrade to 1_87_0Xisco Fauli * external/boost/0001-Add-a-comma-before-ellipsis-in-constexpr_swap.patch.2 has been fixed upstream <https://dev-www.libreoffice.org/src/boost_1_87_0.tar.xz> has been generated (on Debian 12) with > $ wget https://boostorg.jfrog.io/artifactory/main/release/1.87.0/source/boost_1_87_0.tar.bz2 > $ printf 'af57be25cb4c4f4b413ed692fe378affb4352ea50fbe294a11ef548f4d527d89 boost_1_87_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_87_0.html> > boost_1_87_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_87_0.tar.bz2 > Unpacking boost_1_87_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_87_0.tar.xz ... > Cleaning up ... > efd6d4ce7e8571ba87f77a30bee2d3dd8dccd306721351464fc6998dd00b0c8c boost_1_87_0.tar.xz > Done. Change-Id: I9aaa9fc435b5b1890f9038ccfbfa26707a57a8da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178574 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins 2024-12-03external/boost: Avoid some -Wdeprecated-variadic-comma-omissionStephan Bergmann ...new with GCC 15 trunk -std=c++26 since <https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=cc67d95dc100706ea665e8cce581d59466aba62e> "c++: Implement C++26 P3176R1 - The Oxford variadic comma", > In file included from workdir/UnpackedTarball/boost/boost/rational.hpp:82, > from source/external/boost/include/boost/rational.hpp:30, > from source/tools/source/generic/fract.cxx:32: > workdir/UnpackedTarball/boost/boost/integer/common_factor_rt.hpp:66:56: error: omission of ‘,’ before varargs ‘...’ is deprecated in C++26 [-Werror=deprecated-variadic-comma-omission] > 66 | inline constexpr void constexpr_swap(T&a, U& b...) BOOST_GCD_NOEXCEPT(T) > | ^~~ > | , and > In file included from workdir/UnpackedTarball/boost/boost/move/unique_ptr.hpp:24, > from workdir/UnpackedTarball/boost/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp:18, > from workdir/UnpackedTarball/boost/boost/spirit/home/classic/core/non_terminal/grammar.hpp:21, > from workdir/UnpackedTarball/boost/boost/spirit/home/classic/core.hpp:42, > from workdir/UnpackedTarball/boost/boost/spirit/home/classic.hpp:24, > from workdir/UnpackedTarball/boost/boost/spirit/include/classic.hpp:11, > from source/external/boost/include/boost/spirit/include/classic.hpp:30, > from sdext/source/pdfimport/pdfparse/pdfparse.cxx:23: > workdir/UnpackedTarball/boost/boost/move/detail/unique_ptr_meta_utils.hpp:500:39: error: omission of ‘,’ before varargs ‘...’ is deprecated in C++26 [-Werror=deprecated-variadic-comma-omission] > 500 | struct is_unary_function_impl<R (*)(T0...)> > | ^~~ > | , Change-Id: I56856e274a7c577c53d96343992bb79d4c3d602e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177730 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins 2024-05-12add noreturn to boost::spirit::throw_Caolán McNamara Change-Id: Iac1d998a408d756f50f7c18944f4e1f8afef2e83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167523 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> 2024-04-26Upgrade external/boost to latest Boost 1.85.0Stephan Bergmann <https://dev-www.libreoffice.org/src/boost_1_85_0.tar.xz> has been generated (on Fedora 40) with > $ wget https://boostorg.jfrog.io/artifactory/main/release/1.85.0/source/boost_1_85_0.tar.bz2 > $ printf '7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617 boost_1_85_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_85_0.html> > boost_1_85_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_85_0.tar.bz2 > Unpacking boost_1_85_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_85_0.tar.xz ... > Cleaning up ... > 4e23218ff5036d57afd20f7cdab2e94cdbf6ba9c509d656ace643a81c40a985a boost_1_85_0.tar.xz > Done. Three patches failed to apply: * external/boost/boost_1_59_0.property_tree.wreturn-type.patch ("aka MSVC warning C4715: not all control paths return a value") should no longer be necessary after <https://github.com/boostorg/property_tree/commit/e7c4005098749d878375be9ea8778b420ee89b86> "Use BOOST_UNREACHABLE_RETURN at the end of function" (the referenced <https://svn.boost.org/trac/boost/ticket/11501> appears to no longer be reachable, though). * The boost/math parts of external/boost/Wundef.patch.0 are obsoleted by <https://github.com/boostorg/math/commit/30cb6fc1fe871046c2880c8c39b0cea5b91a7f2c> "Fix -Wundef warnings". * external/boost/boost-emscripten-noshm.patch.0 is obsoleeted by <https://github.com/boostorg/interprocess/commit/94ead3e59d197e0d8d908b7e8918673bed51fa34> "emscripten doesn't support shm". Change-Id: Id2d86d25a60097f3f0852063b5ac2a8220f6b479 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166656 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> 2024-04-07Upgrade external/boost to latest Boost 1.84.0Stephan Bergmann <https://dev-www.libreoffice.org/src/boost_1_84_0.tar.xz> has been generated (on Fedora 39) with > $ wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.bz2 > $ printf 'cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454 boost_1_84_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_84_0.html> > boost_1_84_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_84_0.tar.bz2 > Unpacking boost_1_84_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_84_0.tar.xz ... > Cleaning up ... > fd4a2ee785ea0e4efc5221a4284e0cf51096e8409871fb70fdaced002eeffc0b boost_1_84_0.tar.xz > Done. * external/boost/0001-Avoid-boost-phoenix-placeholders-uarg1.10-ODR-violat.patch.2 was obsoleted by <https://github.com/boostorg/phoenix/commit/665047aac26ad4d96b266d87504b3a88ad21b37e> "avoid ODR by making this const". * The modified external/boost/windows-no-utf8-locales.patch.0, whose original version no longer applied as-is, should hopefully still mitigate the issue described in 072a25e1ef4815bbef4f18f59f025862a0d8e876 "tdf#157135 workaround: restore and update windows-no-utf8-locales.patch.0". * external/boost/Wundef.patch.0 is needed to silence > In file included from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/throw_exception.hpp:24, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/serialize_tracked_address.hpp:16, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/fca.hpp:117, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/implementation.hpp:17, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/map.hpp:7, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/unordered_map.hpp:17, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered_map.hpp:17, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/external/boost/include/boost/unordered_map.hpp:30, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/configmgr/source/modifications.hxx:28, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/configmgr/source/data.hxx:34, > from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/configmgr/source/groupnode.cxx:26: > /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/type_traits.hpp:51:22: error: "BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD" is not defined, evaluates to 0 [-Werror=undef] > 51 | #if BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION, < 50000) > | ^~~~~~~~~~~~~~~~~~~~~~~ > /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/config/workaround.hpp:272:10: note: in definition of macro ‘BOOST_WORKAROUND’ > 272 | ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \ > | ^~~~~~ > /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/type_traits.hpp:64:22: error: "BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD" is not defined, evaluates to 0 [-Werror=undef] > 64 | #if BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION, < 50000) > | ^~~~~~~~~~~~~~~~~~~~~~~ > /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/config/workaround.hpp:272:10: note: in definition of macro ‘BOOST_WORKAROUND’ > 272 | ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \ > | ^~~~~~ > /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/type_traits.hpp:77:22: error: "BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD" is not defined, evaluates to 0 [-Werror=undef] > 77 | #if BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION, < 50000) > | ^~~~~~~~~~~~~~~~~~~~~~~ > /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/config/workaround.hpp:272:10: note: in definition of macro ‘BOOST_WORKAROUND’ > 272 | ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \ > | ^~~~~~ etc. (<https://ci.libreoffice.org/job/gerrit_linux_gcc_release/155922/>) as seen with some versions of GCC which apparently fail to honor in that situation the > #pragma GCC diagnostic ignored "-Wundef" in the external/boost/include wrappers. (Using > #pragma GCC system_header in those external/boost/include wrappers had been dismissed with 29661a886e4157e0cb6141b49fb5602fa621cc9a "boost: stop using #pragma GCC system_header".) Change-Id: Idf1d5a17bc198b8ea7a54751e8e2fa6ca2169167 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161138 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> 2024-02-28tdf#157135 workaround: restore and update windows-no-utf8-locales.patch.0Mike Kaganski This partially reverts commit ed259e5efe432386b54c553cbc644b3b64976852 (Upgrade external/boost to latest Boost 1.81.0, 2023-01-05), which had dropped the patch previously introduced with commit f046fed2782f0d4244aff719ba70a56399a2583a (Don't ever attempt to initialise a std::locale with a UTF-8 locale on Windows, 2018-05-17). It seems that there is a nightmare going on in MSVCRT, and tdf#157135 is caused by dome MS bug. The problem happens in a deeply nested call to mbstowcs_s (several levels deep from std::locale constructor with name of "en_US.UTF-8"), which gets a non-null wcstr and sizeInWords equal to zero, which generates an invalid argument handler, resulting in a failed assertion "(pwcs == nullptr && sizeInWords == 0) || (pwcs != nullptr && sizeInWords > 0)" in _mbstowcs_internal from minkernel\crts\ucrt\src\appcrt\convert\mbstowcs.cpp:245, and a crash. The crashreporter initiates, but since it tries to use CRT itself, which is in fastfail mode, it hangs. The patch that is restored here was intended for something different; but it happily workarounds the nightmare. Until the proper fix found, let it be. Change-Id: Ic978f87e2e7b81fc2e1cd182a4247084ad016a9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164068 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> 2023-12-01tdf#158442: fix opening hybrid PDFs on WindowsMike Kaganski Commit 046e9545956d8ad1d69345d6b4a4c0a33714d179 (Try to revert to use of file_iterator from boost on Windows, 2023-10-31) had introduced a problem that pdfparse::PDFReader::read couldn't create file_iterator for files already opened with write access: mmap_file_iterator ctor on Windows used single FILE_SHARE_READ as dwSharedMode parameter for CreateFileA WinAPI; and that failed, when the file was already opened using GENERIC_WRITE in dwDesiredAccess - which happens when opening stream in TypeDetection::impl_detectTypeFlatAndDeep. Fix this by patching boosts' mmap_file_iterator constructor to use FILE_SHARE_READ | FILE_SHARE_WRITE, like we do in osl_openFile. But there was a pre-existing problem of using char-based CreateFileA API, which disallows opening any files with names not representable in current Windows codepage. Such hybrid PDF files would still fail creation of the file_iterator, and open as PDF. Fix that by further patching boost to have wstring-based constructors for file_iterator and mmap_file_iterator on Windows, which would call CreateFileW. Change-Id: Ib190bc090636159ade390b3dd120957d06d7b89b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160218 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> 2023-01-05Upgrade external/boost to latest Boost 1.81.0Stephan Bergmann <https://dev-www.libreoffice.org/src/boost_1_81_0.tar.xz> has been generated (on Fedora 37) with > $ wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2 > $ printf '71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa boost_1_81_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_81_0.html> > boost_1_81_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_81_0.tar.bz2 > Unpacking boost_1_81_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_81_0.tar.xz ... > Cleaning up ... > 1deb0a5a9e33a6626fcaa1d2efd4c0e74ca2b0eea87c1559e3917f3066b633d6 boost_1_81_0.tar.xz > Done. * external/boost/windows-no-utf8-locales.patch.0, introduced with f046fed2782f0d4244aff719ba70a56399a2583a "Don't ever attempt to initialise a std::locale with a UTF-8 locale on Windows", was presumably obsoleted by <https://github.com/boostorg/locale/commit/f45adfc9b963feacc827c3754e2549dd0cffaecb> "Use UTF-16 <-> UTF-8 codecvt on Windows". * external/boost/libc++.patch.0 was obsoleted by <https://github.com/boostorg/config/commit/f0af4a9184457939b89110795ae2d293582c5f66> "The std lib unary/binary_function base classes are deprecated/removed from libcpp15." * external/boost/0001-Change-mpl-integral_c-to-boost-integral_constant-to-.patch.2 was obsoleted by <https://github.com/boostorg/numeric_conversion/commit/50a1eae942effb0a9b90724323ef8f2a67e7984a> "Change mpl::integral_c to boost::integral_constant to avoid Clang 16 errors when constructing out of range enums (refs #24, boostorg/mpl#69)". * external/boost/0001-Avoid-boost-phoenix-placeholders-uarg1.10-ODR-violat.patch.2 is needed to e.g. avoid > ./.libs/libetonyek_internal.a(libetonyek_internal_la-KEY1DivElement.o):(.bss+0x3e): multiple definition of `boost::phoenix::placeholders::uarg1'; ./.libs/libetonyek_internal.a(libetonyek_internal_la-IWORKFormula.o):(.bss+0x3e): first defined here etc. while building ExternalProject_libetonyek, caused by <https://github.com/boostorg/phoenix/commit/8b6a9c26c115bc2cefea300b5c0abf7edf6dd9b7> "std::tuple support (Resolving #103) (#104)". Change-Id: I48773166d0c50f2850d8bb37fa6215d9e5c0d51d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145044 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com> 2022-11-17external/boost: Replace constexpr.patch.0 with alternative upstream fixStephan Bergmann Change-Id: I168c3bfbf5a194f7f5565ba2dc6086f3b4053d12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142828 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2022-09-14Fix build of boost for iOSTor Lillqvist Change-Id: If5d812e1b37c9aa16b2b6075585f5f3023aca431 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139827 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com> 2022-08-09Mark external/boost/constexpr.patch.0 as upstreamedStephan Bergmann Change-Id: I23898f6aebd5a1fd28a2de9da6a89503b25eb6ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138035 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2022-08-03external/boost: Fix ill-formed constant expression errorsStephan Bergmann ...with recent Clang 16 trunk since <https://github.com/llvm/llvm-project/commit/b3645353041818f61e2580635409ddb81ff5a272> "[Clang] Diagnose ill-formed constant expression when setting a non fixed enum to a value outside the range of the enumeration values", causing > In file included from IWORKTable.cpp:10: > In file included from ./IWORKTable.h:21: > In file included from ./IWORKTypes.h:20: > In file included from external/boost/include/boost/variant.hpp:31: > In file included from workdir/UnpackedTarball/boost/boost/variant.hpp:17: > In file included from workdir/UnpackedTarball/boost/boost/variant/variant.hpp:34: > In file included from workdir/UnpackedTarball/boost/boost/variant/detail/hash_variant.hpp:22: > In file included from workdir/UnpackedTarball/boost/boost/variant/apply_visitor.hpp:16: > In file included from workdir/UnpackedTarball/boost/boost/variant/detail/apply_visitor_unary.hpp:21: > In file included from workdir/UnpackedTarball/boost/boost/mpl/advance.hpp:19: > In file included from workdir/UnpackedTarball/boost/boost/mpl/negate.hpp:17: > In file included from workdir/UnpackedTarball/boost/boost/mpl/integral_c.hpp:32: > workdir/UnpackedTarball/boost/boost/mpl/aux_/integral_wrapper.hpp:73:31: error: non-type template argument is not a constant expression > typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior; > ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > workdir/UnpackedTarball/boost/boost/mpl/aux_/static_cast.hpp:24:47: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST' > # define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr) > ^ > workdir/UnpackedTarball/boost/boost/mpl/integral_c.hpp:31:54: note: expanded from macro 'AUX_WRAPPER_INST' > #define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< T, value > > ^~~~~ > workdir/UnpackedTarball/boost/boost/numeric/conversion/detail/meta.hpp:30:46: note: in instantiation of template class 'mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>' requested here > enum { x = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value == BOOST_MPL_AUX_VALUE_WKND(T2)::value ) }; > ^ > workdir/UnpackedTarball/boost/boost/mpl/if.hpp:63:68: note: in instantiation of template class 'boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>, mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>>' requested here > BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value) > ^ > workdir/UnpackedTarball/boost/boost/mpl/eval_if.hpp:37:22: note: in instantiation of template class 'boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>, mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>>, boost::mpl::identity<boost::numeric::convdetail::get_subranged_BuiltIn2BuiltIn<int, unsigned long>>, boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>, mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_udt>>, boost::mpl::identity<boost::mpl::identity<boost::numeric::convdetail::subranged_BuiltIn2Udt<int, unsigned long>>>, boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>, mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::udt_to_builtin>>, boost::mpl::identity<boost::numeric::convdetail::subranged_Udt2BuiltIn<int, unsigned long>>, boost::mpl::identity<boost::numeric::convdetail::subranged_Udt2Udt<int, unsigned long>>>>>' requested here > typedef typename if_<C,F1,F2>::type f_; > ^ > workdir/UnpackedTarball/boost/boost/numeric/conversion/detail/meta.hpp:81:12: note: in instantiation of template class 'boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>, mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>>, boost::mpl::identity<boost::numeric::convdetail::get_subranged_BuiltIn2BuiltIn<int, unsigned long>>, boost::mpl::eval_if<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>, mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_udt>>, boost::mpl::identity<boost::mpl::identity<boost::numeric::convdetail::subranged_BuiltIn2Udt<int, unsigned long>>>, boost::mpl::if_<boost::numeric::convdetail::equal_to<mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>, mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::udt_to_builtin>>, boost::mpl::identity<boost::numeric::convdetail::subranged_Udt2BuiltIn<int, unsigned long>>, boost::mpl::identity<boost::numeric::convdetail::subranged_Udt2Udt<int, unsigned long>>>>>' requested here > mpl::eval_if<is_case0,Case0TypeQ,choose_1_2_3Q>::type > ^ > workdir/UnpackedTarball/boost/boost/numeric/conversion/detail/udt_builtin_mixture.hpp:41:7: note: in instantiation of template class 'boost::numeric::convdetail::ct_switch4<mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>, mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_builtin>, mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::builtin_to_udt>, mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, boost::numeric::udt_to_builtin>, boost::numeric::convdetail::get_subranged_BuiltIn2BuiltIn<int, unsigned long>, boost::mpl::identity<boost::numeric::convdetail::subranged_BuiltIn2Udt<int, unsigned long>>, boost::mpl::identity<boost::numeric::convdetail::subranged_Udt2BuiltIn<int, unsigned long>>, boost::mpl::identity<boost::numeric::convdetail::subranged_Udt2Udt<int, unsigned long>>>' requested here > ct_switch4<UdtMixture > ^ > workdir/UnpackedTarball/boost/boost/numeric/conversion/detail/is_subranged.hpp:205:9: note: (skipping 3 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) > for_udt_builtin_mixture<udt_builtin_mixture, BuiltIn2BuiltInQ, BuiltIn2UdtQ, Udt2BuiltInQ, Udt2UdtQ>::type > ^ > workdir/UnpackedTarball/boost/boost/numeric/conversion/conversion_traits.hpp:22:7: note: in instantiation of template class 'boost::numeric::convdetail::non_trivial_traits_impl<int, unsigned long>' requested here > : convdetail::get_conversion_traits<T,S>::type > ^ > workdir/UnpackedTarball/boost/boost/numeric/conversion/detail/converter.hpp:584:22: note: in instantiation of template class 'boost::numeric::conversion_traits<int, unsigned long>' requested here > typedef typename Traits::trivial trivial ; > ^ > workdir/UnpackedTarball/boost/boost/numeric/conversion/converter.hpp:29:32: note: in instantiation of template class 'boost::numeric::convdetail::get_converter_impl<boost::numeric::conversion_traits<int, unsigned long>, boost::numeric::def_overflow_handler, boost::numeric::Trunc<unsigned long>, boost::numeric::raw_converter<boost::numeric::conversion_traits<int, unsigned long>>, boost::numeric::UseInternalRangeChecker>' requested here > struct converter : convdetail::get_converter_impl<Traits, > ^ > workdir/UnpackedTarball/boost/boost/numeric/conversion/cast.hpp:53:16: note: in instantiation of template class 'boost::numeric::converter<int, unsigned long, boost::numeric::conversion_traits<int, unsigned long>, boost::numeric::def_overflow_handler, boost::numeric::Trunc<unsigned long>>' requested here > return converter::convert(arg); > ^ > IWORKTable.cpp:782:45: note: in instantiation of function template specialization 'boost::numeric_cast<int, unsigned long>' requested here > cellProps.insert("librevenge:column", numeric_cast<int>(c)); > ^ > workdir/UnpackedTarball/boost/boost/mpl/aux_/integral_wrapper.hpp:73:31: note: integer value -1 is outside the valid range of values [0, 3] for this enumeration type > typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior; > ^ > workdir/UnpackedTarball/boost/boost/mpl/aux_/static_cast.hpp:24:47: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST' > # define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr) > ^ etc. when building ExternalProject_libetonyek Change-Id: I1830c1182a7ab966bb068b5eb97db099c9678fe8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137757 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2022-06-29Adapt to LLVM 15 trunk libc++ dropping std::unary_/binary_functionStephan Bergmann ...for C++17 and beyond with <https://github.com/llvm/llvm-project/commit/681cde7dd8b5613dbafc9ca54e0288477f946be3> "[libc++] Complete the implementation of N4190". (Unless explicitly opted-in with _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION. This is similar to the MSVC standard library needing _HAS_AUTO_PTR_ETC=1 to enable those zombie functions for quite some time now. Only libstdc++ still supports them unconditionally.) Most uses of those zombie functions across LibreOffice itself and the bundled external/* are indirectly within Boost include files. And many (but not all) of those Boost include files only use those zombie functions conditionally, based on BOOST_NO_CXX98_FUNCTION_BASE. For the (Dinkumware-derived) MSVC standard library, workdir/UnpackedTarball/boost/boost/config/stdlib/dinkumware.hpp already defined BOOST_NO_CXX98_FUNCTION_BASE. So add a patch to define that also in workdir/UnpackedTarball/boost/boost/config/stdlib/libcpp.hpp (for all of C++11 and beyond, even if those functions were still available as deprecated in C++11 and C++14, but which shouldn't make a difference with our C++17 baseline anyway; only make sure that things still work if those Boost include files ever get used by code built with gb_CXX03FLAGS). (Patching our bundled external/boost of course doesn't help when building with such a new libc++ and --with-system-boost against an unpatched Boost, but lets consider that "not my problem". Also, one could always use a sledgehammer like passing CPPFLAGS=-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION into gbuild in such a case.) Then there are two places that include boost/multi_array.hpp, which indirectly includes workdir/UnpackedTarball/boost/boost/functional.hpp, which still uses those zombie functions for non-MSVC builds (at least in the bundled Boost 1.79.0). Lets do a targeted _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION in those cases. (Alternatively, we could patch workdir/UnpackedTarball/boost/boost/functional.hpp. Also, I decided to make loplugin:reservedid support the new suppression mechanism, rather than extending its existing ignorelist even further.) And then there is external/clucene using those zombie functions even outside of a Boost include file, so extend the existing hack there that was already needed for MSVC. (And adapt the accompanying comment: For one, we are unconditionally "in C++17 mode" by now. And for another, the exact places where external/clucene uses those functions have apparently changed over time.) Change-Id: Id0eec3bedcfddae86b16d33c02c7b5d3b3f8a16f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136579 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2022-05-05Upgrade external/boost to latest Boost 1.79.0Stephan Bergmann <https://dev-www.libreoffice.org/src/boost_1_79_0.tar.xz> has been generated (on Fedora 35) with > $ wget https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2 > $ printf '475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39 boost_1_79_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_79_0.html> > boost_1_79_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_79_0.tar.bz2 > Unpacking boost_1_79_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_79_0.tar.xz ... > Cleaning up ... > 2058aa88758a0e1aaac1759b3c4bad2526f899c6ecc6eeea79aa5e8fd3ea95dc boost_1_79_0.tar.xz > Done. boost.utility.Wundef.warnings.patch was obsoleted by <https://github.com/boostorg/utility/commit/c3aab6a18411e637842247e0dd845c58ce8c6d6b> "Use #ifdef to test for BOOST_MSVC." Change-Id: I959f8ab42c3e20b9424cc3054421af60f6edd0d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133895 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2022-02-25Upgrade external/boost to latest Boost 1.78.0Stephan Bergmann <https://dev-www.libreoffice.org/src/boost_1_78_0.tar.xz> has been generated (on Fedora 35) with > $ wget https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.bz2 > --2022-02-24 12:05:39-- https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.bz2 > $ printf '8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc boost_1_78_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_78_0.html> > boost_1_78_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_78_0.tar.bz2 > Unpacking boost_1_78_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_78_0.tar.xz ... > Cleaning up ... > 0df00d3699c2c7c7fd490c5e165a3e72641861ea5d26428de2f008fb9a75659f boost_1_78_0.tar.xz > Done. external/boost/boost_1_60_0.undef.warning.patch was obsoleted by <https://github.com/boostorg/config/commit/9e80993844cb3d69bfdfa10f059706d7f22eb324> "Define __clang_major___WORKAROUND_GUARD" Change-Id: I7e59ef01ace4ff3c28a285e978e63279b119b07d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130514 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2022-02-18boost: use utf-8 encoding for unknown locales.Michael Meeks More exotic locales like es-419 cannot be parsed by boost, so we fall-back to the default encoding. This avoids an exception: invalid_charset_error of the form: "Invalid or unsupported charset:us-ascii or UTF-8" for this case. Change-Id: I6796dd893ec774b221956ea9febbcc19495d47b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130102 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com> 2022-02-16Remove apparently obsolete external/boost/boost-android-unified.patch.1Stephan Bergmann The two checks for __clang_major__ == 5 etc. had been added with 23a8d5ffbbe58761b89f590f0735abccd69a3681 "Upgrade external/boost to Boost 1.69.0" because "with the non-standard Clang 5.0.300080 from NDK r16b, the build now caused failures". But for our current Android build baseline NDK r19c (cf. README.md), > $ android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --version > Android (5058415 based on r339409) clang version 8.0.2 (https://android.googlesource.com/toolchain/clang 40173bab62ec746213857d083c0e8b0abb568790) (https://android.googlesource.com/toolchain/llvm 7a6618d69e7e8111e1d49dc9e7813767c5ca756a) (based on LLVM 8.0.2svn) [...] has __clang_major__ == 8 by now. Change-Id: I5a5131c14ddf410ed60337992c2d827792c3bbc5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130029 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2022-02-07boost / gettext warning improvement.Michael Meeks std::runtime_exception of: "Invalid or unsupported charset:UTF-8 or UTF-8" is less useful than it could be when spat out from the boost gettext impl. Survive for the next (and probably more useful) exception. Change-Id: Ibeb60b4a34f09f47051844c3e8048f38618d0e05 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129566 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com> 2022-01-19WASM boost: fix build with EmscriptenJan-Marek Glogowski boost probably expects a WASI, not Emscripten. Change-Id: I7f275e1b501d6ea46d43637be815bf5a45b1cc40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128586 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> 2021-11-10Upgrade external/boost to latest Boost 1.77.0Stephan Bergmann <https://dev-www.libreoffice.org/src/boost_1_77_0.tar.xz> has been generated (on Fedora 35) with > $ wget https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.bz2 > $ printf 'fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854 boost_1_77_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_77_0.html> > boost_1_77_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_77_0.tar.bz2 > Unpacking boost_1_77_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_77_0.tar.xz ... > Cleaning up ... > 9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e boost_1_77_0.tar.xz > Done. Change-Id: I527cad7eb2f311d968da371f268644bdd31f6462 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124947 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2021-08-10Upgrade external/boost to latest Boost 1.76.0Stephan Bergmann * <https://dev-www.libreoffice.org/src/boost_1_76_0.tar.xz> has been generated (on Fedora 34) with > $ wget https://boostorg.jfrog.io/native/main/release/1.76.0/source/boost_1_76_0.tar.bz2 > $ printf 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41 boost_1_76_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_76_0.html> > boost_1_76_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_76_0.tar.bz2 > Unpacking boost_1_76_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_76_0.tar.xz ... > Cleaning up ... > adfa0ca971c56006a8304b6146d1382e6369815d568f6e6a7440fe29995d51b8 boost_1_76_0.tar.xz > Done. * external/boost/0001-Fix-include-inside-boost-namespace.patch.2 is necessary to fix > checking for boost/math/constants/constants.hpp... no > configure: error: Required boost headers not found. > make[1]: *** [external/libzmf/ExternalProject_libzmf.mk:28: workdir/ExternalProject/libzmf/build] Error 1 with recent libstdc++ 12 trunk (presumably since <https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=261d5a4a459bd49942e53bc83334ccc7154a09d5> "libstdc++: Reduce header dependencies on <array> and <utility>", and with other standard libraries <utility> was likely already included indirectly earlier, so the include nested in namespace boost::math::tools::meta_programming in the middle of workdir/UnpackedTarball/boost/boost/math/tools/mp.hpp didn't cause harm). Change-Id: I1eee23915fea48bbb383cbeefc4ddfdeaac63e14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120253 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2021-05-05WASM: add initial support for Emscripten cross buildJan-Marek Glogowski - configure with: - --host=wasm64-local-emscripten - had to make a few externals optional, so adding: - --disable-nss - --disable-cmis - --disable-curl Change-Id: I48d1c73d2675ad2e2beaf2c341578199efbd24ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111130 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> 2021-01-14external/boost: Silence Boost bind deprecation warningStephan Bergmann > In file included from desktop/source/lib/lokinteractionhandler.cxx:22: > In file included from external/boost/include/boost/property_tree/json_parser.hpp:30: > In file included from workdir/UnpackedTarball/boost/boost/property_tree/json_parser.hpp:16: > In file included from workdir/UnpackedTarball/boost/boost/property_tree/json_parser/detail/read.hpp:13: > In file included from workdir/UnpackedTarball/boost/boost/property_tree/json_parser/detail/parser.hpp:7: > In file included from external/boost/include/boost/bind.hpp:30: > workdir/UnpackedTarball/boost/boost/bind.hpp:36:1: warning: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior. [-W#pragma-messages] > BOOST_PRAGMA_MESSAGE( > ^ etc. from within boost/property_tree/json_parser.hpp wherever that is included, since e0f1b5bd94550835c639efda4e4c9a801c78dbe9 "Upgrade external/boost to latest Boost 1.75.0". Change-Id: I2c780966e4774a8d58d1cbdf21f77d685da00689 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109229 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2021-01-06Upgrade external/boost to latest Boost 1.75.0Stephan Bergmann * <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> 2021-01-06external/boost: Backport a Boost 1.72.0 fixStephan Bergmann ...for issues with MSVC 2019 16.8.3 --with-latest-c++ in external/libwpd: > [build CXX] workdir/UnpackedTarball/libwpd/src/lib/libwpd_internal.cpp > C:\lo\core\workdir\UnpackedTarball\boost\boost/proto/generate.hpp(239): error C2039: 'value': is not a member of 'boost::proto' > C:\lo\core\workdir\UnpackedTarball\boost\boost/proto/generate.hpp(32): note: see declaration of 'boost::proto' > C:\lo\core\workdir\UnpackedTarball\boost\boost/proto/generate.hpp(239): note: This diagnostic occurred in the compiler generated function 'Extends<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<MemberClass::* >,boost::proto::argsns_::term<MemberClass::* >::arity>> boost::proto::pod_generator<Extends>::operator ()(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<MemberClass::* >,boost::proto::argsns_::term<MemberClass::* >::arity> &) const' > C:\lo\core\workdir\UnpackedTarball\boost\boost/proto/generate.hpp(252): note: see reference to class template instantiation 'boost::proto::pod_generator<Extends>' being compiled [...] Change-Id: Iae62b41e09b89bd387efab2744d47d938a868d17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108839 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2020-03-30Mark external/boost/c++20-allocator.patch.0 as partially covered upstreamStephan Bergmann Change-Id: I086e51c581202cd8c68a5a408b8d7575c953461d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91347 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>