19 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
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
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 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
Noel Grandin 56bdc6ded0 add some comment to gen-boost-headers
because I can never remember how to run this script

Change-Id: I7782846d192f477096fb315e0b5416d4715d319a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123546
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-13 11:33:26 +02:00
Ilmari Lauhakangas ac586d1cae Make some scripts more portable
Change-Id: Ia89059eea51ca396a7c74143625ac9a6706de198
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120773
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-08-20 12:32:22 +02: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
Michael Stahl 6c4721da4f boost: disable -Wmaybe-uninitialized from GCC 9.2.1 -Og
This warning is notorious for false positives so let's disable it here.

from sal/cppunittester/cppunittester.cxx:61:
workdir/UnpackedTarball/boost/boost/function/function_template.hpp: In function ‘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/function/function_template.hpp:904:22: error: ‘*((void*)&<anonymous> +8)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  904 |           std::memcpy(this->functor.data, f.functor.data, sizeof(boost::detail::function::function_buffer));

Change-Id: Id3cf9fae8db190337b6a3eb0c847c019394088ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89349
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-02-24 19:15:16 +01:00
Stephan Bergmann e4fac1ebbd Enable -Wdeprecated-copy-dtor where available
We already get -Wdeprecated-copy (warning about implicitly defined copy
functions that will in the future be deleted because other user-provided copy
functions exist) automatically through -Wextra, where available.
-Wdeprecated-copy-dtor (warning about implicitly defined copy functions that
will in the future be deleted because of a user-provided dtor) is split off
into its own warning excluded from -Wextra for somewhat unclear reasons, see the
discussion at <https://gcc.gnu.org/bugzilla/buglist.cgi?quicksearch=88136>
"-Wdeprecated-copy is draconian and shouldn't be in -Wall".

But -Wdeprecated-copy-dtor has been useful in finding issues (esp. the Clang 10
trunk version, which, unlike the GCC 9 version, also finds copy functions that
are implicitly defined because they are used from template instantiations), see
3e59716375 "Prevent
BroadcastRecalcOnRefMoveHandler copies" and
4f98cd0f9ce9c2a331a5d34b3ef9d18f9bb6b235 "ScShapeChild has broken copy
functions".

We need to disable -Wdeprecated-copy-dtor in files included from external/boost,
and in two compilerplugin/clang/test/ files.

Change-Id: I74b159c3a046e23661473ddbfe53c92c4136a9db
Reviewed-on: https://gerrit.libreoffice.org/85073
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-12 22:00:31 +01:00
Stephan Bergmann e7b8728f5c external/boost: silence -Werror=deprecated-copy (GCC trunk towards GCC 9)
Change-Id: I25703979ebe94649f9cf1464d282b21a70cfe1fa
Reviewed-on: https://gerrit.libreoffice.org/58041
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-26 12:32:54 +02:00
Stephan Bergmann b3b22ee3de Silence upcoming GCC 8 -Werror=parentheses in external/boost
...reporting such delights as

> [CXX] sal/cppunittester/cppunittester.cxx
> In file included from workdir/UnpackedTarball/boost/boost/mpl/aux_/na_assert.hpp:23,
[...]
>                  from external/boost/include/boost/algorithm/string.hpp:25,
>                  from sal/cppunittester/cppunittester.cxx:60:
> workdir/UnpackedTarball/boost/boost/mpl/assert.hpp:188:21: error: unnecessary parentheses in declaration of ‘assert_arg’ [-Werror=parentheses]
>  failed ************ (Pred::************
>                      ^

where boost/mpl/assert.hpp contains

> template< typename Pred >
> failed ************ (Pred::************
>       assert_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type )
>     );

Change-Id: I6976b2cc23f1d309d27d3fde9098b10c9d877599
Reviewed-on: https://gerrit.libreoffice.org/48386
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-24 07:56:06 +01:00
Stephan Bergmann aef6da021d Silence clang-cl -Werror,-Wmicrosoft-unqualified-friend in external/boost
...messages like:

> workdir/UnpackedTarball/boost\boost/bimap/detail/map_view_iterator.hpp(138,18):  error: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Werror,-Wmicrosoft-unqualified-friend]
>     friend class iterator_core_access;
>                  ^
>                  ::boost::iterators::

Change-Id: I393b7c95943a55d5f755cfed41e0b7bc3306c568
Reviewed-on: https://gerrit.libreoffice.org/47673
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-09 23:20:20 +01:00
Stephan Bergmann 6310429e1a Remove Clang -Wunknown-pragmas workaround
...that appears to only be necessary for Clang <= 3.4, so no longer needed since
fa7b7f7393 "Document that Clang 3.4.2 is known to
be too old"

Change-Id: I09361f6ffc23b8d20d65d3c84d9003719e2159f8
Reviewed-on: https://gerrit.libreoffice.org/46787
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-20 08:50:49 +01:00
Stephan Bergmann e4745f7c5e Silence further warnings in external/boost/include wrappers
...as required by clang-cl:

> [build CXX] avmedia/source/framework/modeltools.cxx
> In file included from C:/lo64/core/avmedia/source/framework/modeltools.cxx:29:
> In file included from C:/lo64/core/external/boost/include\boost/exception/diagnostic_information.hpp:23:
> In file included from C:/lo64/core/workdir/UnpackedTarball/boost\boost/exception/diagnostic_information.hpp:17:
> C:/lo64/core/workdir/UnpackedTarball/boost\boost/exception/info.hpp(103,13):  error: 'boost::exception_detail::error_info_container_impl' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
>             ~error_info_container_impl() throw()
>             ^
> C:/lo64/core/workdir/UnpackedTarball/boost\boost/exception/info.hpp(172,21):  error: delete called on non-final 'boost::exception_detail::error_info_container_impl' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
>                     delete this;
>                     ^
> 2 errors generated.

Change-Id: I026f7e72d027becb68ac9118616ed6d8f2ecbf80
Reviewed-on: https://gerrit.libreoffice.org/41225
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-08-16 20:00:11 +02:00
Stephan Bergmann b9a25096e7 Adapt bin/gen-boost-headers to Clang 5
...since <http://llvm.org/viewvc/llvm-project?view=revision&revision=301647>
"Use the -Wunknown-warning-option group for the 'unknown warning group'
diagnostic in #pragma diagnostic".

* external/boost/include/boost/{locale.hpp,locale/gnu_gettext.hpp} would have
  been removed by 'make cmd cmd=bin/gen-boost-headers' as they are still unused
  from c25eee4496 "build boost::locale library",
  but there's reportedly a patch in Gerrit to actually use them, so I fixed them
  manually for now.

* The deviating comment style is to keep lines no wider than 80 characters.

Change-Id: I64603ae8d8a82781eda46f12c9dd5c68dcf395b9
2017-05-02 15:25:46 +02:00
Stephan Bergmann 89bdfccc83 bin/gen-boost-headers: Don't stumble over "boost" in pathname
...like

  workdir/UnpackedTarball/liborcus/m4/boost.m4:#include <boost/version.hpp>

which would then be mis-parsed by

  grep -o '\bboost.*\.\(h\|hpp\|ipp\)'

to a HEADER of

  boost.m4:#include <boost/version.hpp

instead of just

  boost/version.hpp

(-h is a non-standard GNU grep extension, but so is the already used -r.  An
alternative fix would be to replace the later grep -o with something like

  grep -o '\bboost[^#]*\.\(h\|hpp\|ipp\)'

instead.)

Change-Id: I0b41ed520b2fed70e8982abc0e84a34804c02549
2017-05-02 14:07:40 +02:00
Michael Stahl fae3b4cc19 boost: update generated wrapper headers
... and delete recently added clang Wundef patch

Change-Id: I83af127fe98ff23feb944eb68dbd2334d23564c8
2016-08-29 18:29:42 +02:00
Michael Stahl 4d23189aee add gen-boost-headers script
Change-Id: I02102f6c37863963efa9a312a5a0fbbc1f42f345
2016-05-30 17:33:52 +02:00