# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- # # This file is part of the LibreOffice project. # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This file incorporates work covered by the following license notice: # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed # with this work for additional information regarding copyright # ownership. The ASF licenses this file to you under the Apache # License, Version 2.0 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.apache.org/licenses/LICENSE-2.0 . # $(eval $(call gb_Jar_Jar,reportbuilderwizard)) $(eval $(call gb_Jar_use_jars,reportbuilderwizard,\ libreoffice \ java_uno \ commonwizards \ report \ )) $(eval $(call gb_Jar_set_packageroot,reportbuilderwizard,com)) $(eval $(call gb_Jar_set_manifest,reportbuilderwizard,$(SRCDIR)/wizards/com/sun/star/wizards/reportbuilder/MANIFEST.MF)) $(eval $(call gb_Jar_add_sourcefiles,reportbuilderwizard,\ wizards/com/sun/star/wizards/reportbuilder/ReportBuilderImplementation \ wizards/com/sun/star/wizards/reportbuilder/layout/ColumnarSingleColumn \ wizards/com/sun/star/wizards/reportbuilder/layout/ColumnarThreeColumns \ wizards/com/sun/star/wizards/reportbuilder/layout/ColumnarTwoColumns \ wizards/com/sun/star/wizards/reportbuilder/layout/DesignTemplate \ wizards/com/sun/star/wizards/reportbuilder/layout/InBlocksLabelsAbove \ wizards/com/sun/star/wizards/reportbuilder/layout/InBlocksLabelsLeft \ wizards/com/sun/star/wizards/reportbuilder/layout/LayoutConstants \ wizards/com/sun/star/wizards/reportbuilder/layout/ReportBuilderLayouter \ wizards/com/sun/star/wizards/reportbuilder/layout/SectionEmptyObject \ wizards/com/sun/star/wizards/reportbuilder/layout/SectionLabel \ wizards/com/sun/star/wizards/reportbuilder/layout/SectionObject \ wizards/com/sun/star/wizards/reportbuilder/layout/SectionTextField \ wizards/com/sun/star/wizards/reportbuilder/layout/Tabular \ )) # vim: set noet sw=4 ts=4: 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>
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 f26996bd3398afa789a5491968244563ccf70908 "Silence
-Werror,-Wnon-virtual-dtor in generated so_activex.h (clang-cl)" and
c6086ca6535692496fbd718d174d8eb5a5dea7c7 "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
ccd0e5f445d4a7d0e7aca6c23c02c61bf14510b2 "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>
Adapt to new Clang 15 trunk -Wdeprecated-builtins 2022-07-14T11:28:50+00:00 Stephan Bergmann sbergman@redhat.com 2022-07-14T08:06:25+00:00 306510f0850518dc3a8162769e4aeb83795486be ...<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>
...<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>
add some comment to gen-boost-headers 2021-10-13T09:33:26+00:00 Noel Grandin noel.grandin@collabora.co.uk 2021-10-13T08:18:02+00:00 56bdc6ded08ca85d765add0378426ac4356e94d3 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>
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>
Make some scripts more portable 2021-08-20T10:32:22+00:00 Ilmari Lauhakangas ilmari.lauhakangas@libreoffice.org 2021-08-20T08:10:30+00:00 ac586d1caecaa5be4bce05b073ce4c7bda10f13e Change-Id: Ia89059eea51ca396a7c74143625ac9a6706de198 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120773 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Change-Id: Ia89059eea51ca396a7c74143625ac9a6706de198
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120773
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Silence GCC 11 trunk -Werror=nonnull in external/boost 2020-07-22T13:05:54+00:00 Stephan Bergmann sbergman@redhat.com 2020-07-22T11:37:06+00:00 7adb6398dcb081999003c61985ae8a203c65ce0d ...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>
...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>
boost: disable -Wmaybe-uninitialized from GCC 9.2.1 -Og 2020-02-24T18:15:16+00:00 Michael Stahl Michael.Stahl@cib.de 2020-02-24T08:36:46+00:00 6c4721da4f339d6d1bed6ded0a6ba40d3857b379 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>
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>
Enable -Wdeprecated-copy-dtor where available 2019-12-12T21:00:31+00:00 Stephan Bergmann sbergman@redhat.com 2019-12-12T16:13:49+00:00 e4fac1ebbdc73e72fb79ab5d6743e0cc49b558d1 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 3e59716375a240576fd6d8759b32b4319506ed70 "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>
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
3e59716375a240576fd6d8759b32b4319506ed70 "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>