Commit Graph
169 Commits
Author SHA1 Message Date
Stephan Bergmann 427f2f79e9 external/boost: Silence new Clang 24 trunk -Werror,-Wunused-template
as seen e.g. at

> In file included from engine/cppuhelper/source/defaultbootstrap.cxx:27:
> In file included from engine/cppuhelper/source/servicemanager.hxx:35:
> In file included from engine/external/boost/include/boost/container/small_vector.hpp:31:
> In file included from engine/workdir/UnpackedTarball/boost/boost/container/small_vector.hpp:27:
> In file included from engine/workdir/UnpackedTarball/boost/boost/container/vector.hpp:61:
> In file included from engine/workdir/UnpackedTarball/boost/boost/move/algo/adaptive_merge.hpp:16:
> engine/workdir/UnpackedTarball/boost/boost/move/algo/detail/adaptive_sort_merge.hpp:261:17: error: unused function template 'needed_keys_count' [-Werror,-Wunused-template]
>   261 | static SizeType needed_keys_count(SizeType n_block_a, SizeType n_block_b)
>       |                 ^~~~~~~~~~~~~~~~~

and

> In file included from engine/vcl/source/outdev/eps.cxx:22:
> In file included from engine/include/vcl/metaact.hxx:45:
> In file included from engine/workdir/UnpackedTarball/boost/boost/container/vector.hpp:61:
> In file included from engine/workdir/UnpackedTarball/boost/boost/move/algo/adaptive_merge.hpp:16:
> engine/workdir/UnpackedTarball/boost/boost/move/algo/detail/adaptive_sort_merge.hpp:261:17: error: unused function template 'needed_keys_count' [-Werror,-Wunused-template]
>   261 | static SizeType needed_keys_count(SizeType n_block_a, SizeType n_block_b)
>       |                 ^~~~~~~~~~~~~~~~~

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I1c81650c82df717317846769ea3ac016d9a14652
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7281
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit fd3a8cc0417525806d45522fc6752c6678b2d433)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208736
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-28 23:24:12 +02:00
Miklos Vajna 4bbeb86e97 boost: fix -Werror=overloaded-virtual=
Seen with GCC-15. See
<https://gerrit.libreoffice.org/c/core/+/201714/11#message-b41756267426a3a0d9373f6378e56c77d4beb8fa>.

Change-Id: Idcfc454a0a396a32e3d03793241aa74fbfb389a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201888
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208735
Tested-by: Jenkins
2026-07-28 23:23:59 +02:00
Mike Kaganski 645df7d9b7 tdf#101630: Make local HTTP server cross-platform, using boost/beast
Allows proper Google Drive authentication e.g. on Linux.

Change-Id: I16efa58ba90b98e71b13a0081dcdcc9d660db0b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201714
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201820
2026-07-28 23:23:28 +02:00
Xisco Fauli 2310486f88 boost: upgrade to 1_91_0
<https://dev-www.libreoffice.org/src/boost_1_91_0.tar.xz> has been generated (on
Debian 13) with

> $ wget https://archives.boost.io/release/1.91.0/source/boost_1_91_0.tar.bz2
> $ printf 'de5e6b0e4913395c6bdfa90537febd9028ea4c0735d2cdb0cd9b45d5f51264f5 boost_1_91_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_91_0.html>
> boost_1_91_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_91_0.tar.bz2
> Unpacking boost_1_91_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_91_0.tar.xz ...
> Cleaning up ...
> 2f975c10da79511c2f218189fc8a12eef1a92e3bd18206e9841d406296d065eb  boost_1_91_0.tar.xz
> Done.

0001-Allow-fallthrough-of-Android-to-128-bit-float.patch.1 fixes
In file included from /home/tdf/jenkins/workspace/android_x86_64/workdir/UnpackedTarball/boost/boost/math/special_functions/fpclassify.hpp:21:
/home/tdf/jenkins/workspace/android_x86_64/workdir/UnpackedTarball/boost/boost/math/special_functions/detail/fp_traits.hpp:314:15: error: static assertion failed due to requirement '113 == 64': Oops, assumption that long double is an 80-bit quantity is incorrect!!
  314 | static_assert(LDBL_MANT_DIG == 64, "Oops, assumption that long double is an 80-bit quantity is incorrect!!");

on Android x86_64
and unreachable_code.patch.1 fixes
E:\jenkins\workspace\gerrit_windows_wsl\workdir\UnpackedTarball\boost\boost\optional\detail\union_optional.hpp(600) : error C2220: the following warning is treated as an error
E:\jenkins\workspace\gerrit_windows_wsl\workdir\UnpackedTarball\boost\boost\optional\detail\union_optional.hpp(600) : warning C4702: unreachable code
on Windows

Change-Id: Iac97991234cdb24c41bc2f0e0567fd2adb8f2f7c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204152
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-05 21:52:58 +02:00
Xisco Fauli 06812e0764 boost: drop obsolete patch
it seems it's no longer needed

Change-Id: I0e72cbe16592d79e252da173a181c1b4cc63eac2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205044
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-11 16:55:08 +02:00
Armin Le Grand (collabora) 09605513f4 SmartArt: Progress in standard FileFormat RoundTrip
Added functionality to ex/import using boost::property_tree
and it's read/write_info functionality, based on conversion
to/from OUString. This keeps it most user-readable in XML
format. I currently use <svg:desc> to add it, secured by a
token and preserving evtl. existing Description at the
GroupObject hosting the Diagram, but may move somewhere
else. This has the advantage that <svg:desc> is supported
since version 1.0 and the SmartArt/Diagram ModelData *is*
the object's Description. Not sure yet, we will see.

There were some hard parts, e.g. I needed to find a way to
incarnate a class defined in oox inside svx and that class
is derived from baseclass in svx in oox, but got that done.

Still secured by ACTIVATE_ADVANCED_DIAGRAM_FEATURES since
this will still need some corrections, but basic round-trip
is functional.

This will allow to copy/paste between two office instances
and is also the base for thinking about providing gallery
functionality for Diagrams.

Had some problems with boost/property_tree stuff var
shadowing, also lock of model was missing in
SvxDrawingLayerExport, will change that in next version
to ssth more sophisticated.

Change-Id: I526d3b2477b5de40df990345c9c06d0a2f9cbfeb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200219
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2026-02-26 16:42:59 +01:00
Xisco Fauli ba38ac3408 boost: upgrade to 1_90_0
<https://dev-www.libreoffice.org/src/boost_1_90_0.tar.xz> has been generated (on
Debian 12) with

> $ wget https://archives.boost.io/release/1.90.0/source/boost_1_90_0.tar.bz2
> $ printf '49551aff3b22cbc5c5a9ed3dbc92f0e23ea50a0f7325b0d198b705e8ee3fc305 boost_1_90_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_90_0.html>
> boost_1_90_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_90_0.tar.bz2
> Unpacking boost_1_90_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_90_0.tar.xz ...
> Cleaning up ...
> b1f3cd4a82b59dd66e02c2ebae6334df18043a050d2d8eb83d12ad88b95b5e86  boost_1_90_0.tar.xz
> Done.

Change-Id: I6a373eca7e0e2358825c2a4add35c34cdbabf859
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195438
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2025-12-11 20:15:49 +01:00
Xisco Fauli 421a66fc52 boost: upgrade to 1_89_0
libs/system/src/error_code.cpp no longer exists in boost so the static
boost_system library can be removed

<https://dev-www.libreoffice.org/src/boost_1_89_0.tar.xz> has been generated (on
Debian 12) with

> $ wget https://archives.boost.io/release/1.89.0/source/boost_1_89_0.tar.bz2
> $ printf '85a33fa22621b4f314f8e85e1a5e2a9363d22e4f4992925d4bb3bc631b5a0c7a boost_1_89_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_89_0.html>
> boost_1_89_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_89_0.tar.bz2
> Unpacking boost_1_89_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_89_0.tar.xz ...
> Cleaning up ...
> b3a976c659961f1d7fae9a8e58d6729a11f5473abaf2ef0e623f53777c86475d  boost_1_89_0.tar.xz
> Done.

Change-Id: I1278e7f301b083c692539165293ca5ee7f0ab5ae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189876
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2025-09-11 09:48:34 +02:00
Stephan Bergmann 7e5819fad7 external/boost: Silence -Werror=unused-but-set-variable=
...(with recent GCC 16 trunk), as seen at

> In file included from workdir/UnpackedTarball/boost/boost/multi_array/concept_checks.hpp:21,
>                  from workdir/UnpackedTarball/boost/boost/multi_array/base.hpp:28,
>                  from workdir/UnpackedTarball/boost/boost/multi_array.hpp:29,
>                  from external/boost/include/boost/multi_array.hpp:30,
>                  from vcl/source/window/layout.cxx:57:
> workdir/UnpackedTarball/boost/boost/concept_check.hpp: In instantiation of ‘boost::InputIterator<TT>::~InputIterator() [with TT = const long unsigned int*]’:
> workdir/UnpackedTarball/boost/boost/concept_check.hpp:502:3:   required from ‘static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::InputIteratorConcept<const long unsigned int*>]’
>   502 |   BOOST_concept(InputIterator,(TT))
>       |                 ^~~~~~~~~~~~~
> workdir/UnpackedTarball/boost/boost/concept_check.hpp:50:7:   required from ‘void boost::function_requires(Model*) [with Model = InputIteratorConcept<const long unsigned int*>]’
>    92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> workdir/UnpackedTarball/boost/boost/multi_array/multi_array_ref.hpp:391:67:   required from ‘void boost::const_multi_array_ref<T, NumDims, TPtr>::init_multi_array_ref(InputIterator) [with InputIterator = const long unsigned int*; T = {anonymous}::GridEntry; long unsigned int NumDims = 2; TPtr = {anonymous}::GridEntry*]’
>   391 |     boost::function_requires<InputIteratorConcept<InputIterator> >();
>       |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
> workdir/UnpackedTarball/boost/boost/multi_array/multi_array_ref.hpp:340:26:   required from ‘boost::const_multi_array_ref<T, NumDims, TPtr>::const_multi_array_ref(TPtr, const storage_order_type&, const index*, const size_type*) [with T = {anonymous}::GridEntry; long unsigned int NumDims = 2; TPtr = {anonymous}::GridEntry*; storage_order_type = boost::general_storage_order<2>; index = long int; size_type = long unsigned int]’
>   340 |      init_multi_array_ref(extents);
>       |      ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
> workdir/UnpackedTarball/boost/boost/multi_array/multi_array_ref.hpp:616:43:   required from ‘boost::multi_array_ref<T, NumDims>::multi_array_ref(T*, const storage_order_type&, const index*, const size_type*) [with T = {anonymous}::GridEntry; long unsigned int NumDims = 2; storage_order_type = boost::general_storage_order<2>; index = long int; size_type = long unsigned int]’
>   616 |     super_type(base,so,index_bases,extents) { }
>       |                                           ^
> workdir/UnpackedTarball/boost/boost/multi_array.hpp:155:43:   required from ‘boost::multi_array<T, NumDims, Allocator>::multi_array(const Allocator&) [with T = {anonymous}::GridEntry; long unsigned int NumDims = 2; Allocator = std::allocator<{anonymous}::GridEntry>]’
>   155 |     alloc_base(boost::empty_init_t(),alloc) {
>       |                                           ^
> vcl/source/window/layout.cxx:910:16:   required from here
>   910 |     array_type A;
>       |                ^
> workdir/UnpackedTarball/boost/boost/concept_check.hpp:517:12: error: variable ‘j’ set but not used [-Werror=unused-but-set-variable=]
>   517 |         TT j(i);
>       |            ^
> workdir/UnpackedTarball/boost/boost/concept_check.hpp: In instantiation of ‘boost::InputIterator<TT>::~InputIterator() [with TT = long int*]’:
> workdir/UnpackedTarball/boost/boost/concept_check.hpp:502:3:   required from ‘static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::InputIteratorConcept<long int*>]’
>   502 |   BOOST_concept(InputIterator,(TT))
>       |                 ^~~~~~~~~~~~~
> workdir/UnpackedTarball/boost/boost/concept_check.hpp:50:7:   required from ‘void boost::function_requires(Model*) [with Model = InputIteratorConcept<long int*>]’
>    92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> workdir/UnpackedTarball/boost/boost/multi_array/multi_array_ref.hpp:391:67:   required from ‘void boost::const_multi_array_ref<T, NumDims, TPtr>::init_multi_array_ref(InputIterator) [with InputIterator = long int*; T = {anonymous}::GridEntry; long unsigned int NumDims = 2; TPtr = {anonymous}::GridEntry*]’
>   391 |     boost::function_requires<InputIteratorConcept<InputIterator> >();
>       |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
> workdir/UnpackedTarball/boost/boost/multi_array/multi_array_ref.hpp:344:26:   required from ‘boost::const_multi_array_ref<T, NumDims, TPtr>::const_multi_array_ref(TPtr, const storage_order_type&, const index*, const size_type*) [with T = {anonymous}::GridEntry; long unsigned int NumDims = 2; TPtr = {anonymous}::GridEntry*; storage_order_type = boost::general_storage_order<2>; index = long int; size_type = long unsigned int]’
>   344 |      init_multi_array_ref(extent_list.begin());
>       |      ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
> workdir/UnpackedTarball/boost/boost/multi_array/multi_array_ref.hpp:616:43:   required from ‘boost::multi_array_ref<T, NumDims>::multi_array_ref(T*, const storage_order_type&, const index*, const size_type*) [with T = {anonymous}::GridEntry; long unsigned int NumDims = 2; storage_order_type = boost::general_storage_order<2>; index = long int; size_type = long unsigned int]’
>   616 |     super_type(base,so,index_bases,extents) { }
>       |                                           ^
> workdir/UnpackedTarball/boost/boost/multi_array.hpp:155:43:   required from ‘boost::multi_array<T, NumDims, Allocator>::multi_array(const Allocator&) [with T = {anonymous}::GridEntry; long unsigned int NumDims = 2; Allocator = std::allocator<{anonymous}::GridEntry>]’
>   155 |     alloc_base(boost::empty_init_t(),alloc) {
>       |                                           ^
> vcl/source/window/layout.cxx:910:16:   required from here
>   910 |     array_type A;
>       |                ^
> workdir/UnpackedTarball/boost/boost/concept_check.hpp:517:12: error: variable ‘j’ set but not used [-Werror=unused-but-set-variable=]
>   517 |         TT j(i);
>       |            ^
> cc1plus: all warnings being treated as errors

Change-Id: I5259dfad91e88e4d40c234d969a10b41c18af47f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188134
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
2025-07-22 11:53:30 +02:00
Xisco Fauli 649ea69f09 boost: upgrade to 1_88_0
* external/boost/armv7.patch.0 and
external/boost/0001-Avoid-Wdeprecated-variadic-comma-omission-with-GCC-1.patch.2
have been fixed upstream

* ignore warning 4996 in vcl/source/window/layout.cxx, otherwise it started to fail with
[build CXX] vcl/source/window/layout.cxx
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/storage_order.hpp(51): error C2220: the following warning is treated as an error
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/storage_order.hpp(51): warning C4996: 'boost::array<bool,2>::assign': please use `fill` instead
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/storage_order.hpp(47): note: while compiling class template member function 'boost::general_storage_order<2>::general_storage_order(const boost::c_storage_order &)'
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array.hpp(153): note: see reference to function template instantiation 'boost::general_storage_order<2>::general_storage_order(const boost::c_storage_order &)' being compiled
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/multi_array_ref.hpp(350): note: see reference to class template instantiation 'boost::general_storage_order<2>' being compiled
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/multi_array_ref.hpp(414): note: see reference to class template instantiation 'boost::const_multi_array_ref<T,2,T *>' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array.hpp(122): note: see reference to class template instantiation 'boost::multi_array_ref<T,2>' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry
        ]
C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/vcl/source/window/layout.cxx(905): note: see reference to class template instantiation 'boost::multi_array<`anonymous-namespace'::GridEntry,2,std::allocator<T>>' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/multi_array_ref.hpp(343): warning C4996: 'boost::array<int,2>::assign': please use `fill` instead
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/multi_array_ref.hpp(325): note: while compiling class template member function 'boost::const_multi_array_ref<T,2,T *>::const_multi_array_ref(TPtr,const boost::general_storage_order<2> &,const int *,const unsigned int *)'
        with
        [
            T=`anonymous-namespace'::GridEntry,
            TPtr=`anonymous-namespace'::GridEntry *
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/multi_array_ref.hpp(616): note: see reference to function template instantiation 'boost::const_multi_array_ref<T,2,T *>::const_multi_array_ref(TPtr,const boost::general_storage_order<2> &,const int *,const unsigned int *)' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry,
            TPtr=`anonymous-namespace'::GridEntry *
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/view.hpp(234): warning C4996: 'boost::array<int,2>::assign': please use `fill` instead
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/view.hpp(434): note: see reference to function template instantiation 'boost::detail::multi_array::const_multi_array_view<T,2,T *>::const_multi_array_view<ExtentList,int>(TPtr,const ExtentList &,const boost::array<int,2> &)' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry,
            ExtentList=boost::array<int,2>,
            TPtr=`anonymous-namespace'::GridEntry *
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/view.hpp(434): note: see reference to function template instantiation 'boost::detail::multi_array::const_multi_array_view<T,2,T *>::const_multi_array_view<ExtentList,int>(TPtr,const ExtentList &,const boost::array<int,2> &)' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry,
            ExtentList=boost::array<int,2>,
            TPtr=`anonymous-namespace'::GridEntry *
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/base.hpp(490): note: see reference to function template instantiation 'boost::detail::multi_array::multi_array_view<T,2>::multi_array_view<boost::array<int,2>,int>(T *,const ExtentList &,const boost::array<int,2> &)' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry,
            ExtentList=boost::array<int,2>
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/base.hpp(487): note: see reference to function template instantiation 'boost::detail::multi_array::multi_array_view<T,2>::multi_array_view<boost::array<int,2>,int>(T *,const ExtentList &,const boost::array<int,2> &)' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry,
            ExtentList=boost::array<int,2>
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/multi_array_ref.hpp(539): note: see reference to function template instantiation 'ArrayRef boost::detail::multi_array::multi_array_impl_base<T,2>::generate_array_view<return_type,2,`anonymous-namespace'::GridEntry*>(boost::type<return_type>,const boost::detail::multi_array::index_gen<2,2> &,const unsigned int *,const int *,const int *,TPtr) const' being compiled
        with
        [
            ArrayRef=return_type,
            T=`anonymous-namespace'::GridEntry,
            TPtr=`anonymous-namespace'::GridEntry *
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array/multi_array_ref.hpp(533): note: see reference to function template instantiation 'ArrayRef boost::detail::multi_array::multi_array_impl_base<T,2>::generate_array_view<return_type,2,`anonymous-namespace'::GridEntry*>(boost::type<return_type>,const boost::detail::multi_array::index_gen<2,2> &,const unsigned int *,const int *,const int *,TPtr) const' being compiled
        with
        [
            ArrayRef=return_type,
            T=`anonymous-namespace'::GridEntry,
            TPtr=`anonymous-namespace'::GridEntry *
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array.hpp(494): note: see reference to function template instantiation 'boost::detail::multi_array::multi_array_view<T,2> boost::multi_array_ref<T,2>::operator []<2>(const boost::detail::multi_array::index_gen<2,2> &)' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array.hpp(494): note: see reference to function template instantiation 'boost::detail::multi_array::multi_array_view<T,2> boost::multi_array_ref<T,2>::operator []<2>(const boost::detail::multi_array::index_gen<2,2> &)' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry
        ]
C:\cygwin64\home\tdf\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/multi_array.hpp(454): note: while compiling class template member function 'boost::multi_array<`anonymous-namespace'::GridEntry,2,std::allocator<T>> &boost::multi_array<T,2,std::allocator<T>>::resize(const boost::detail::multi_array::extent_gen<2> &)'
        with
        [
            T=`anonymous-namespace'::GridEntry
        ]
C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/vcl/source/window/layout.cxx(928): note: see reference to function template instantiation 'boost::multi_array<`anonymous-namespace'::GridEntry,2,std::allocator<T>> &boost::multi_array<T,2,std::allocator<T>>::resize(const boost::detail::multi_array::extent_gen<2> &)' being compiled
        with
        [
            T=`anonymous-namespace'::GridEntry
        ]
make[1]: *** [C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/solenv/gbuild/LinkTarget.mk:339: C:/cygwin64/home/tdf/jenkins/workspace/gerrit_windows/workdir/CxxObject/vcl/source/window/layout.o] Error 2

<https://dev-www.libreoffice.org/src/boost_1_88_0.tar.xz> has been generated (on
Debian 12) with

> $ wget https://boostorg.jfrog.io/artifactory/main/release/1.88.0/source/boost_1_88_0.tar.bz2
> $ printf '46d9d2c06637b219270877c9e16155cbd015b6dc84349af064c088e9b5b12f7b boost_1_88_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_88_0.html>
> boost_1_88_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_88_0.tar.bz2
> Unpacking boost_1_88_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_88_0.tar.xz ...
> Cleaning up ...
> 5c67a448c562f1606e38203ba7ed7e8d7453581b6b9ca324e96205eae0da5ff8  boost_1_87_0.tar.xz
> Done.

Change-Id: Ib5f613b34ffb161348b1fd7653cce0d12da98994
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184035
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2025-04-11 23:35:47 +02:00
Xisco Fauli d4f932ba98 boost: upgrade to 1_87_0
* external/boost/0001-Add-a-comma-before-ellipsis-in-constexpr_swap.patch.2
has been fixed upstream

* Add external/boost/armv7.patch.0 based on following patches:
- https://github.com/boostorg/interprocess/commit/f58e968f13e693ffaa78fb283972e8598dc48c9f
- https://github.com/boostorg/unordered/commit/07f6463c1c302c5b1d28aa253e0b768e71c90235
- https://github.com/boostorg/json/commit/57d42f07158b8ea4a713378c90d22b28ca4787f8
- https://github.com/boostorg/outcome/commit/83e5127dd20b15e3f59059e5862e9926283fee80
to fix the problem described in 4f60246a1d
"Revert "boost: upgrade to 1_87_0" for now to unbreak android arm32
build"

<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: I4bb14ba60f0b19c4908a0ffbdc66cc23c1b2581e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180169
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2025-01-13 14:04:41 +01:00
Michael Weghorn 4f60246a1d Revert "boost: upgrade to 1_87_0" for now to unbreak android arm32 build
For some (still unknown) reason the upgrade from boost 1.86 to 1.87
caused the 32-bit ARM Android builds to fail
with errors like

    <inline asm>:1:41: error: expected '%<type>' or "<type>"
    .pushsection ".debug_gdb_scripts", "MS",@progbits,1
                                            ^
    <inline asm>:318:12: error: .popsection without corresponding .pushsection
    .popsection
               ^
    2 errors generated.
    make[1]: *** [/home/tdf/lode/jenkins/workspace/android_arm/solenv/gbuild/LinkTarget.mk:339: /home/tdf/lode/jenkins/workspace/android_arm/workdir/CxxObject/configmgr/source/groupnode.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    [build CXX] configmgr/source/node.cxx
    <inline asm>:1:41: error: expected '%<type>' or "<type>"
    .pushsection ".debug_gdb_scripts", "MS",@progbits,1
                                            ^
, see e.g. [1] and the list of all Android ARM 32 bit builds [2].

A local bisect points to this commit, and reverting it
fixes the build.
Do this for now to work around the build failure and give
time for finding a better solution.

This reverts commit 25e7e1677b.

[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-18 09:27:08 +01:00
Xisco Fauli 25e7e1677b boost: upgrade to 1_87_0
* 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-16 13:56:03 +01:00
Stephan Bergmann 0b42fcdb37 external/boost: Avoid some -Wdeprecated-variadic-comma-omission
...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-12-03 15:42:44 +01:00
Caolán McNamara b4eda68181 add noreturn to boost::spirit::throw_
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-05-12 14:05:08 +02:00
Christian Lohmaier 875a1bf2e1 makefile simplification: replace $(call gb_UnpackedTarball_get_dir,foo)
…by a simple/static $(gb_UnpackedTarball_workdir)/foo
see also 0c4c84a14b

Change-Id: I8e6aa55c85534c4446556548910c950ddbe7c6fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167163
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
2024-05-06 11:40:45 +02:00
Stephan Bergmann edd6243b1f Upgrade external/boost to latest Boost 1.85.0
<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-26 07:29:34 +02:00
Stephan Bergmann f65d7265c6 Upgrade external/boost to latest Boost 1.84.0
<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 072a25e1ef "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
  29661a886e "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-04-07 18:11:24 +02:00
Mike Kaganski 072a25e1ef tdf#157135 workaround: restore and update windows-no-utf8-locales.patch.0
This partially reverts commit ed259e5efe
(Upgrade external/boost to latest Boost 1.81.0, 2023-01-05), which had
dropped the patch previously introduced with commit
f046fed278 (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>
2024-02-28 04:57:11 +01:00
Noel Grandin d7dfac691e regenerate boost headers
to reduce noise when building in debug mode with

   gcc (Ubuntu 13.2.0-4ubuntu3) 13.2.0

e.g.
In file included from
/home/noel/libo2/workdir/UnpackedTarball/boost/boost/property_tree/json_parser.hpp:15,
from
/home/noel/libo2/external/boost/include/boost/property_tree/json_parser.hpp:30,
                 from /home/noel/libo2/sw/inc/pch/precompiled_sw.hxx:61:
/home/noel/libo2/workdir/UnpackedTarball/boost/boost/property_tree/json_parser/error.hpp:
In instantiation of ‘boost::wrapexcept<E>::wrapexcept(const E&, const
boost::source_location&) [with E =
boost::property_tree::json_parser::json_parser_error]’:
/home/noel/libo2/workdir/UnpackedTarball/boost/boost/throw_exception.hpp:171:11:
required from ‘void boost::throw_exception(const E&, const
source_location&) [with E =
property_tree::json_parser::json_parser_error]’
/home/noel/libo2/workdir/UnpackedTarball/boost/boost/property_tree/json_parser/detail/write.hpp:159:13:
required from ‘void
boost::property_tree::json_parser::write_json_internal(std::basic_ostream<typename
Ptree::key_type::value_type>&, const Ptree&, const std::string&, bool)
[with Ptree =
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> >; typename Ptree::key_type::value_type
= char; typename Ptree::key_type = std::__cxx11::basic_string<char>;
typename Ptree::key_type::value_type = char; typename Ptree::key_type =
std::__cxx11::basic_string<char>; std::string =
std::__cxx11::basic_string<char>]’
/home/noel/libo2/workdir/UnpackedTarball/boost/boost/property_tree/json_parser.hpp:99:28:
required from ‘void
boost::property_tree::json_parser::write_json(std::basic_ostream<typename
Ptree::key_type::value_type>&, const Ptree&, bool) [with Ptree =
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> >; typename Ptree::key_type::value_type
= char; typename Ptree::key_type = std::__cxx11::basic_string<char>;
typename Ptree::key_type::value_type = char; typename Ptree::key_type =
std::__cxx11::basic_string<char>]’
/home/noel/libo2/sw/source/core/crsr/viscrs.cxx:129:37:   required from
here
/home/noel/libo2/workdir/UnpackedTarball/boost/boost/property_tree/json_parser/error.hpp:20:11:
warning: implicitly-declared
‘boost::property_tree::file_parser_error::file_parser_error(const
boost::property_tree::file_parser_error&)’ is deprecated
[-Wdeprecated-copy-dtor]
   20 |     class json_parser_error: public file_parser_error

Change-Id: I1dd49af4d8c573a07b34d3216a36f283aaafa106
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163372
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-15 17:42:17 +01:00
Mike Kaganski a5a49657dc tdf#158442: fix opening hybrid PDFs on Windows
Commit 046e954595 (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-12-01 16:13:38 +01:00
Stephan Bergmann 8daa8eef06 Upgrade external/boost to latest Boost 1.82.0
<https://dev-www.libreoffice.org/src/boost_1_82_0.tar.xz> has been generated (on
Fedora 38) with

> $ wget https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.bz2
> $ printf 'a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6 boost_1_82_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_82_0.html>
> boost_1_82_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_82_0.tar.bz2
> Unpacking boost_1_82_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_82_0.tar.xz ...
> Cleaning up ...
> e48ab6953fbd68ba47234bea5173e62427e9f6a7894e152305142895cfe955de  boost_1_82_0.tar.xz
> Done.

* Updating StaticLibrary_boost_locale.mk is needed to avoid
> workdir/UnpackedTarball/boost/libs/locale/src/boost/locale/util/locale_data.cpp:137: error: undefined reference to 'boost::locale::util::normalize_encoding(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

Change-Id: Iff3f5249df0fcf75f5a50e7eb35ef64373af8184
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150516
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-04-17 18:59:32 +02:00
Stephan Bergmann ed259e5efe Upgrade external/boost to latest Boost 1.81.0
<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
  f046fed278 "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>
2023-01-05 07:14:18 +00:00
Stephan Bergmann 4521cb0c40 Drop redundant -Wnon-virtual-dtor
Inspired by
<https://gcc.gnu.org/pipermail/gcc-patches/2022-November/607102.html> "[PATCH]
doc: -Wdelete-non-virtual-dtor supersedes -Wnon-virtual-dtor", drop explicitly
enabling -Wnon-virtual-dtor in favor of -Wdelete-non-virtual-dtor, which is
already enabled by -Wall.

(-Wdelete-non-virtual-dtor first appeared in Clang 3.0,
<https://github.com/llvm/llvm-project/commit/8bd428574c717e68a8274739d2ba0f6dc16fd0fb>
"Add new warning that warns when invoking 'delete' on a polymorphic, non-final,
class without a virtual destructor", and GCC 4.7,
<https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=014ab419efc12a59efebd2720d79e1c055675c85>
"invoke.texi: Document -Wdelete-non-virtual-dtor. [...]")

Dropping the explicit setting of -Wnon-virtual-dtor (and nowhere setting it
implicitly via -Weffc++) means we can get rid of lots of places that either set
-Wno-non-virtual-dtor or use some pragma to ignore -Wnon-virtual-dtor.

(In various places across extensions/source/activex/ and winaccessibility/, the
commits f26996bd33 "Silence
-Werror,-Wnon-virtual-dtor in generated so_activex.h (clang-cl)" and
c6086ca653 "Silence -Werror,-Wnon-virtual-dtor in
generated UAccCOM.h (clang-cl)" had singled out some includes to wrap them in
pragmas.  Now that those pragmas are gone again, move those includes back to
where they had been prior to being singled out.  And the -Wno-non-virtual-dtor
in external/firebird/macos-arm64.patch.0 appeared first in
ccd0e5f445 "Make firebird build for macOS on
arm64", which, though it doesn't state it explicitly, apparently created that
patch's builds/posix/prefix.darwin_arm64 as a copy of firebird's already
existing builds/posix/prefix.* files, which routinely include that warning
option too, so keep it there too even if it is probably irrelevant throughout.)

Change-Id: I7e4fa9f2c07e267b2ed15607905027f6b78142f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143182
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-24 10:38:28 +01:00
Stephan Bergmann 0e4c7a8061 external/boost: Replace constexpr.patch.0 with alternative upstream fix
Change-Id: I168c3bfbf5a194f7f5565ba2dc6086f3b4053d12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142828
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-17 13:15:16 +01:00
Noel Grandin 42a7b48065 tdf#126788 speed up export to pdf of complex table document
We can avoid an allocation in the common case, shaves 10% off the
   --convert-to pdf
time.

Change-Id: I9263d3dc8fd6a1d74cd063ba13e2e0160f7a9dd6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141769
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-25 10:12:14 +02:00
Tor Lillqvist 0bd72fe60d Fix build of boost for iOS
Change-Id: If5d812e1b37c9aa16b2b6075585f5f3023aca431
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139827
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2022-09-14 06:54:55 +02:00
Stephan Bergmann 3a04cfe27b Upgrade external/boost to latest Boost 1.80.0
<https://dev-www.libreoffice.org/src/boost_1_80_0.tar.xz> has been generated (on
Fedora 36) with

> $ wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.bz2
> $ printf '1e19565d82e43bc59209a168f5ac899d3ba471d55c7610c677d4ccf2c9c500c0 boost_1_80_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_80_0.html>
> boost_1_80_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_80_0.tar.bz2
> Unpacking boost_1_80_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_80_0.tar.xz ...
> Cleaning up ...
> 322e567e98c466c0aa0e380ed8c647552fe4af48998648428f1b5f0c8eff4666  boost_1_80_0.tar.xz
> Done.

* In StaticLibrary_boost_filesystem,
<https://github.com/boostorg/filesystem/commit/36cf9aaf816a39dce3d32e2bfe09e214d7f3ab64>
"Updated protection of remove_all against CVE-2022-21658 on POSIX" had
introduced uses of certain POSIX *at functions (like utimensat) conditionally on
some new BOOST_FILESYSTEM_HAS_POSIX_AT_APIS, to be discovered by
workdir/UnpackedTarball/boost/libs/filesystem/CMakeLists.txt which we don't run.
At least AT_NO_AUTOMOUNT, as used in
workdir/UnpackedTarball/boost/libs/filesystem/src/operations.cpp, appears to be
unavailable on the macOS baseline, but otherwise assume that all that POSIX
functionality is available on all other non-Windows baselines and hardcode that
in external/boost/StaticLibrary_boost_filesystem.mk.  (If it turns out that we
need to exclude some more platforms there, we /might/ need to backport
<https://github.com/boostorg/filesystem/commit/5864f397ccad30f6e73221b90bdac57a303b9752>
"Fixed a missing include on POSIX systems that don't support *at APIs" from the
develop branch towards Boost 1.81.)

* In StaticLibrary_boost_locale,
<https://github.com/boostorg/locale/commit/41868c62a0519799696b544518f1efd831ff71c2>
"Support systems without implicit include path" had moved source files around
(and then would have failed with

> workdir/UnpackedTarball/boost/libs/locale/src/boost/locale/shared/mo_lambda.cpp:7:10: fatal error: 'boost/locale/shared/mo_lambda.hpp' file not found
> #include "boost/locale/shared/mo_lambda.hpp"
>          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

etc. without the additional -I option).

* Some Clang builds would have started to fail with

> In file included from desktop/qa/unit/desktop-lok-init.cxx:19:
> In file included from desktop/inc/lib/init.hxx:20:
> In file included from workdir/UnpackedTarball/boost/boost/container/flat_map.hpp:26:
> workdir/UnpackedTarball/boost/boost/container/new_allocator.hpp:168:12: error: '__cpp_sized_deallocation' is not defined, evaluates to 0 [-Werror,-Wundef]
>       # if __cpp_sized_deallocation
>            ^

so add another external/boost/include/ wrapper.

Change-Id: I5e53f7ddab07eadba9bdf653acad571f50517b46
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138511
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-19 13:42:41 +02:00
Stephan Bergmann 790db5f98e Mark external/boost/constexpr.patch.0 as upstreamed
Change-Id: I23898f6aebd5a1fd28a2de9da6a89503b25eb6ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138035
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-09 17:35:32 +02:00
Stephan Bergmann ff2a90379f external/boost: Fix ill-formed constant expression errors
...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-08-03 21:40:48 +02:00
Stephan Bergmann 306510f085 Adapt to new Clang 15 trunk -Wdeprecated-builtins
...<https://github.com/llvm/llvm-project/commit/0b89d1d59f82cf5b45c250cd5c3351e43ce35ef9>
"[Sema] Add deprecation warnings for some compiler provided __has_* type
traits", which hits in Boost include files,

> In file included from libreofficekit/qa/tilebench/tilebench.cxx:27:
> In file included from external/boost/include/boost/property_tree/json_parser.hpp:31:
> In file included from workdir/UnpackedTarball/boost/boost/property_tree/json_parser.hpp:14:
> In file included from external/boost/include/boost/property_tree/ptree.hpp:31:
> In file included from workdir/UnpackedTarball/boost/boost/property_tree/ptree.hpp:16:
> In file included from workdir/UnpackedTarball/boost/boost/property_tree/string_path.hpp:15:
> In file included from workdir/UnpackedTarball/boost/boost/property_tree/id_translator.hpp:16:
> In file included from external/boost/include/boost/optional.hpp:31:
> In file included from workdir/UnpackedTarball/boost/boost/optional.hpp:15:
> In file included from workdir/UnpackedTarball/boost/boost/optional/optional.hpp:42:
> workdir/UnpackedTarball/boost/boost/type_traits/has_nothrow_constructor.hpp:27:84: error: builtin __has_nothrow_constructor is deprecated; use __is_nothrow_constructible instead [-Werror,-Wdeprecated-builtins]
> template <class T> struct has_nothrow_constructor : public integral_constant<bool, BOOST_HAS_NOTHROW_CONSTRUCTOR(T)>{};
>                                                                                    ^
> workdir/UnpackedTarball/boost/boost/type_traits/intrinsics.hpp:199:48: note: expanded from macro 'BOOST_HAS_NOTHROW_CONSTRUCTOR'
> #     define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible<T>::value)
>                                                ^

etc.

Change-Id: I08376710e25013b44279532d6e5fc256ed95cb76
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137046
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-07-14 13:28:50 +02:00
Stephan Bergmann 7e30d78402 Adapt to LLVM 15 trunk libc++ dropping std::unary_/binary_function
...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-06-29 10:08:25 +02:00
Stephan Bergmann ead76a2070 The std::unary_function workaround should no longer be necessary
...with the bundled Boost 1.79.0, as
workdir/UnpackedTarball/boost/boost/numeric/conversion/detail/converter.hpp no
longer uses it since
<https://github.com/boostorg/numeric_conversion/commit/ebfded1d7d4a2f773e8233c4df6f96131f79d72e>
"Remove the deprecated uses of std::unary_function (again)" in Boost 1.66.0

Change-Id: I58808cc2a7836c63ee13cf63c8528fc95f4e2cea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136555
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-28 11:55:24 +02:00
Stephan Bergmann 869a5897cf Upgrade external/boost to latest Boost 1.79.0
<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-05-05 21:39:05 +02:00
Stephan Bergmann 48119cf42a Upgrade external/boost to latest Boost 1.78.0
<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-25 13:28:27 +01:00
Michael Meeks 7b7ed248c4 boost: use utf-8 encoding for unknown locales.
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-18 12:35:49 +01:00
Stephan Bergmann d5c28daeb4 Remove apparently obsolete external/boost/boost-android-unified.patch.1
The two checks for __clang_major__ == 5 etc. had been added with
23a8d5ffbb "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-16 21:12:03 +01:00
Michael Meeks 1eab80a049 boost / gettext warning improvement.
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-02-07 19:44:50 +01:00
Jan-Marek Glogowski e76c7cf178 WASM boost: fix build with Emscripten
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>
2022-01-19 10:51:14 +01:00
Stephan Bergmann 13e0b122f1 Upgrade external/boost to latest Boost 1.77.0
<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-11-10 13:33:48 +01:00
Stephan Bergmann f8b10b76bc The std::auto_ptr workarounds should no longer be necessary
...with the bundled Boost 1.76.0, as boost/locale no longer uses it since
<https://github.com/boostorg/locale/commit/322437a485c63d9fce4dc620597b6c75b6396daf>
"Adding dual auto_ptr/unique_ptr support" in Boost 1.67.0 in combination with
BOOST_NO_AUTO_PTR being set automatically when building for C++17 and beyond for
both libc++ (via
<https://github.com/boostorg/config/commit/0df7552f38cc059defa4189d7a36101925559eb8>
"define BOOST_NO_AUTO_PTR when building with libc++ and C++17" in Boost 1.65.0)
and MSVC (via
<https://github.com/boostorg/config/commit/776bc8ac107e864fc4c51d6aee0e532026a50281>
"Update for MSVC14's _HAS_AUTO_PTR_ETC" in Boost 1.60.0; if we didn't globally
set _HAS_AUTO_PTR_ETC in gb_COMPILERDEFS in
solenv/gbuild/platform/com_MSC_defs.mk since
61c88ae694 "gbuild: always compile as C++17 with
MSVC 2017" anyway)

Change-Id: Idd9d44c8350217f19ad2fa6749b90a9ffce38511
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124712
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-11-04 18:45:21 +01:00
Noel Grandin 0febae7a40 disable gcc warnings when using boost::make_shared
Change-Id: I02a54d9ab9c1faf36ce0b03b6ca42b3708f02667
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120394
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-12 22:16:13 +02:00
Stephan Bergmann eb8ce706d4 Clean up remaining uses of boost::logic::tribool
obFitShapeToText and obRelFlipV can just as well be modelled with
std::optional<bool>, and obFlipH and obFlipV apparently only need two states
anyway (as for a boost::logic::tribool x, bool(x == true) is true iff x has the
value true)

Change-Id: Ic35e33ffa4ee30d1c2cdf9f8d4aa3bae29ece2af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120281
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-08-10 21:39:50 +02:00
Stephan Bergmann 1f6851c6f6 Upgrade external/boost to latest Boost 1.76.0
*  <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-08-10 09:15:00 +02:00
Jan-Marek Glogowski 8a4173987e WASM: add initial support for Emscripten cross build
- 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-05-05 21:14:54 +02:00
Stephan Bergmann 3f2ba9af5d external/boost: Silence Boost bind deprecation warning
> 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 e0f1b5bd94 "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-14 07:33:22 +01:00
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
Stephan Bergmann f3bf35bd15 external/boost: Backport a Boost 1.72.0 fix
...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>
2021-01-06 17:17:57 +01:00
Stephan Bergmann 7adb6398dc Silence GCC 11 trunk -Werror=nonnull in external/boost
...like

> In file included from workdir/UnpackedTarball/boost/boost/concept/assert.hpp:35,
>                  from workdir/UnpackedTarball/boost/boost/concept_check.hpp:20,
>                  from workdir/UnpackedTarball/boost/boost/range/concepts.hpp:19,
>                  from workdir/UnpackedTarball/boost/boost/range/size_type.hpp:20,
>                  from workdir/UnpackedTarball/boost/boost/range/size.hpp:21,
>                  from workdir/UnpackedTarball/boost/boost/range/functions.hpp:20,
>                  from workdir/UnpackedTarball/boost/boost/range/iterator_range_core.hpp:38,
>                  from workdir/UnpackedTarball/boost/boost/range/iterator_range.hpp:13,
>                  from external/boost/include/boost/range/iterator_range.hpp:29,
>                  from workdir/UnpackedTarball/boost/boost/range/as_literal.hpp:22,
>                  from workdir/UnpackedTarball/boost/boost/algorithm/string/trim.hpp:19,
>                  from workdir/UnpackedTarball/boost/boost/algorithm/string.hpp:19,
>                  from external/boost/include/boost/algorithm/string.hpp:29,
>                  from sal/cppunittester/cppunittester.cxx:61:
> workdir/UnpackedTarball/boost/boost/concept/detail/general.hpp: In instantiation of ‘static void boost::concepts::constraint<Model>::failed() [with Model = boost::algorithm::FinderConcept<boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >, const char*>]’:
> workdir/UnpackedTarball/boost/boost/algorithm/string/iter_find.hpp:81:13:   required from ‘SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::__debug::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >]’
> workdir/UnpackedTarball/boost/boost/algorithm/string/split.hpp:158:50:   required from ‘SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, boost::algorithm::token_compress_mode_type) [with SequenceSequenceT = std::__debug::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = boost::algorithm::detail::is_any_ofF<char>]’
> sal/cppunittester/cppunittester.cxx:303:71:   required from here
> workdir/UnpackedTarball/boost/boost/concept/detail/general.hpp:47:52: error: ‘this’ pointer null [-Werror=nonnull]
>    47 |     static void failed() { ((Model*)0)->constraints(); }
>       |                            ~~~~~~~~~~~~~~~~~~~~~~~~^~

Change-Id: Ia22b5d510ba41bea138dfcc8d8e0b9eb1e9ad41c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99217
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-07-22 15:05:54 +02:00
Stephan Bergmann 11e6582b23 Mark external/boost/c++20-allocator.patch.0 as partially covered upstream
Change-Id: I086e51c581202cd8c68a5a408b8d7575c953461d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91347
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-03-30 11:59:31 +02:00