/sal/osl/

'/> index : lo/core
LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/external/boost/include/boost
AgeCommit message (Collapse)Author
2024-02-15regenerate boost headersNoel Grandin
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>
2022-11-24Drop redundant -Wnon-virtual-dtorStephan Bergmann
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>
2022-10-25tdf#126788 speed up export to pdf of complex table documentNoel Grandin
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-08-19Upgrade external/boost to latest Boost 1.80.0Stephan Bergmann
<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-07-14Adapt to new Clang 15 trunk -Wdeprecated-builtinsStephan Bergmann
...<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>
2021-08-12disable gcc warnings when using boost::make_sharedNoel Grandin
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-10Clean up remaining uses of boost::logic::triboolStephan Bergmann
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-01-06Upgrade external/boost to latest Boost 1.75.0Stephan Bergmann
* <https://dev-www.libreoffice.org/src/boost_1_75_0.tar.xz> has been generated (on Fedora 33) with > $ wget https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.bz2 > $ printf '953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb boost_1_75_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_75_0.html> > boost_1_75_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_75_0.tar.bz2 > Unpacking boost_1_75_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_75_0.tar.xz ... > Cleaning up ... > cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b boost_1_75_0.tar.xz > Done. * external/boost/StaticLibrary_boost_date_time.mk: Even though date_generators.cpp and greg_weekday.cpp are still present, their function definitions are now covered by inline function definitions in include files, > workdir/UnpackedTarball/boost/libs/date_time/src/gregorian/greg_weekday.cpp:23:17: error: redefinition of 'as_short_string' > greg_weekday::as_short_string() const > ^ > workdir/UnpackedTarball/boost/boost/date_time/gregorian/greg_weekday.hpp:52:17: note: previous definition is here > const char* as_short_string() const > ^ etc. and > workdir/UnpackedTarball/boost/libs/date_time/src/gregorian/date_generators.cpp:23:36: error: redefinition of 'nth_as_str' > BOOST_DATE_TIME_DECL const char* nth_as_str(int ele) > ^ > workdir/UnpackedTarball/boost/boost/date_time/date_generators.hpp:157:22: note: previous definition is here > inline const char* nth_as_str(int ele) > ^ * external/boost/StaticLibrary_boost_filesystem.mk now lacked various symbols, as seen when linking external/liborcus' orcus-parser library: > "boost::filesystem::emit_error(int, boost::system::error_code*, char const*)", referenced from: [...] > "boost::filesystem::emit_error(int, boost::filesystem::path const&, boost::system::error_code*, char const*)", referenced from: [...] > "boost::filesystem::emit_error(int, boost::filesystem::path const&, boost::filesystem::path const&, boost::system::error_code*, char const*)", referenced from: [...] > "boost::filesystem::filesystem_error::filesystem_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, boost::filesystem::path const&, boost::system::error_code)", referenced from: [...] > "boost::filesystem::filesystem_error::filesystem_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, boost::filesystem::path const&, boost::filesystem::path const&, boost::system::error_code)", referenced from: [...] > "boost::filesystem::filesystem_error::~filesystem_error()", referenced from: [...] > "boost::filesystem::detail::dir_itr_close(void*&, void*&)", referenced from: [...] > "boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, unsigned int, boost::system::error_code*)", referenced from: [...] > "boost::filesystem::detail::directory_iterator_increment(boost::filesystem::directory_iterator&, boost::system::error_code*)", referenced from: [...] > "typeinfo for boost::filesystem::filesystem_error", referenced from: [...] * No longer sure why external/boost/gcc9.patch.0 from e7b8728f5c0292a6c6a18e76220b1769ecf25aa3 "external/boost: silence -Werror=deprecated-copy (GCC trunk towards GCC 9)" was necessary at all, in addition to that commit's > #pragma GCC diagnostic ignored "-Wdeprecated-copy" changes, but at least a build with recent GCC 11 trunk appears to work fine now without it. (And the patch would no longer have applied as-is.) * The dropped patches in external/boost/c++20-allocator.patch.0 and external/boost/clang-cl.patch.0 would no longer have applied as-is, but also appear not to be needed any more. * external/boost/include/boost/property_tree/ptree_fwd.hpp became necessary to silence > In file included from workdir/UnpackedTarball/boost/boost/property_tree/ptree_fwd.hpp:16, > from libreofficekit/qa/gtktiledviewer/gtv-helpers.hxx:21, > from libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx:19: > workdir/UnpackedTarball/boost/boost/throw_exception.hpp: In instantiation of ‘boost::wrapexcept<E>::wrapexcept(const E&, const boost::source_location&) [with E = boost::property_tree::ptree_bad_data]’: > workdir/UnpackedTarball/boost/boost/throw_exception.hpp:171:11: required from ‘void boost::throw_exception(const E&, const boost::source_location&) [with E = boost::property_tree::ptree_bad_data]’ > workdir/UnpackedTarball/boost/boost/property_tree/detail/ptree_implementation.hpp:826:13: required from ‘void boost::property_tree::basic_ptree<Key, Data, KeyCompare>::put_value(const Type&, Translator) [with Type = char [8]; Translator = boost::property_tree::stream_translator<char, std::char_traits<char>, std::allocator<char>, char [8]>; Key = std::__cxx11::basic_string<char>; Data = std::__cxx11::basic_string<char>; KeyCompare = std::less<std::__cxx11::basic_string<char> >]’ > workdir/UnpackedTarball/boost/boost/property_tree/detail/ptree_implementation.hpp:845:34: required from ‘boost::property_tree::basic_ptree<K, D, C>& boost::property_tree::basic_ptree<Key, Data, KeyCompare>::put(const path_type&, const Type&, Translator) [with Type = char [8]; Translator = boost::property_tree::stream_translator<char, std::char_traits<char>, std::allocator<char>, char [8]>; Key = std::__cxx11::basic_string<char>; Data = std::__cxx11::basic_string<char>; KeyCompare = std::less<std::__cxx11::basic_string<char> >; boost::property_tree::basic_ptree<Key, Data, KeyCompare>::path_type = boost::property_tree::string_path<std::__cxx11::basic_string<char>, boost::property_tree::id_translator<std::__cxx11::basic_string<char> > >]’ > workdir/UnpackedTarball/boost/boost/property_tree/detail/ptree_implementation.hpp:859:19: required from ‘boost::property_tree::basic_ptree<K, D, C>& boost::property_tree::basic_ptree<Key, Data, KeyCompare>::put(const path_type&, const Type&) [with Type = char [8]; Key = std::__cxx11::basic_string<char>; Data = std::__cxx11::basic_string<char>; KeyCompare = std::less<std::__cxx11::basic_string<char> >; boost::property_tree::basic_ptree<Key, Data, KeyCompare>::path_type = boost::property_tree::string_path<std::__cxx11::basic_string<char>, boost::property_tree::id_translator<std::__cxx11::basic_string<char> > >]’ > libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx:300:103: required from here > workdir/UnpackedTarball/boost/boost/throw_exception.hpp:134:82: error: implicitly-declared ‘boost::property_tree::ptree_bad_data::ptree_bad_data(const boost::property_tree::ptree_bad_data&)’ is deprecated [-Werror=deprecated-copy-dtor] > 134 | explicit wrapexcept( E const & e, boost::source_location const & loc ): E( e ) > | ^ > In file included from workdir/UnpackedTarball/boost/boost/property_tree/exceptions.hpp:84, > from workdir/UnpackedTarball/boost/boost/property_tree/string_path.hpp:16, > from workdir/UnpackedTarball/boost/boost/property_tree/ptree.hpp:16, > from external/boost/include/boost/property_tree/ptree.hpp:30, > from workdir/UnpackedTarball/boost/boost/property_tree/json_parser.hpp:14, > from external/boost/include/boost/property_tree/json_parser.hpp:30, > from libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx:26: > workdir/UnpackedTarball/boost/boost/property_tree/detail/exception_implementation.hpp:51:12: note: because ‘boost::property_tree::ptree_bad_data’ has user-provided ‘virtual boost::property_tree::ptree_bad_data::~ptree_bad_data()’ > 51 | inline ptree_bad_data::~ptree_bad_data() throw() > | ^~~~~~~~~~~~~~ etc. Change-Id: I36fcd04ca6f109910761a5802535a18cfb17ddd9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108878 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-07-22Silence GCC 11 trunk -Werror=nonnull in external/boostStephan Bergmann
...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-02-24boost: disable -Wmaybe-uninitialized from GCC 9.2.1 -OgMichael Stahl
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-24boost: remove unused boost wrapper headersMichael Stahl
Change-Id: I543e60e295cf87f773f05faf6cfb8da285fac466 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89348 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-12-12Enable -Wdeprecated-copy-dtor where availableStephan Bergmann
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>
2019-01-15Upgrade external/boost to Boost 1.69.0Stephan Bergmann
<https://dev-www.libreoffice.org/src/boost_1_69_0.tar.bz2> is a copy of <https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.bz2>, SHA256 hash as given at <https://www.boost.org/users/download/>. * removed from external/boost/include/boost/ those files that are no longer present in workdir/UnpackedTarball/boost/boost/ * the shrunk external/boost/rtti.patch.0 can probably be removed completely in a follow-up commit * the patch to libs/filesystem/src/operations.cpp in external/boost/boost-android-unified.patch.1 no longer applied, and appears to be no longer necessary anyway (seeing a working build without it of --with-distro=LibreOfficeAndroid and NDK r16b); but with the non-standard Clang 5.0.300080 from NDK r16b, the build now caused failures like > workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:36:11: error: class template partial specialization contains a template parameter that cannot be deduced; this partial specialization will never be used [-Wunusable-partial-specialization] > struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {}; > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:35:38: note: non-deducible template parameter 'NE' > template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM> > ^ > workdir/UnpackedTarball/boost/boost/type_traits/detail/is_function_cxx_11.hpp:22:40: note: expanded from macro 'BOOST_TT_NOEXCEPT_PARAM' > #define BOOST_TT_NOEXCEPT_PARAM , bool NE > ^ showing that that version of Clang has the same problem handling noexcept(b) as a deduced template parameter as MSVC has, as already supported by the code * new external/boost/sse.patch.0 needed on Windows x86 to silence errors like > C:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\UnpackedTarball\boost\boost/type_traits/detail/is_function_cxx_11.hpp(111): error C2215: '__vectorcall' cannot be used with '/arch:SSE' (<https://ci.libreoffice.org/job/gerrit_windows/26117/>); according to <https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros ?view=vs-2017>: "_M_IX86_FP Defined as an integer literal value that indicates the /arch compiler option that was set, or the default. This macro is always defined when the compilation target is an x86 processor. Otherwise, undefined. When defined, the value is: [...] 1 if the /arch:SSE compiler option was set." and we specify /arch:SSE explicitly for Windows x86 since 8bd6bf93b7711a7ac7c5cbd7c3bb980481570ebd "fdo#82430: configure: MSVC build: avoid using SSE2 instructions" * boost::logic::tribool conversion operator to bool is explicit now Change-Id: Iea49560d734f545539f062dce46740fbf812dd84 Reviewed-on: https://gerrit.libreoffice.org/66189 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-26external/boost: silence -Werror=deprecated-copy (GCC trunk towards GCC 9)Stephan Bergmann
Change-Id: I25703979ebe94649f9cf1464d282b21a70cfe1fa Reviewed-on: https://gerrit.libreoffice.org/58041 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-05-04Removed executable permission on data filesAndrea Gelmini
chmod -x for doc, xlsx, png, hxx, cxx, xls, ppt, hpp Change-Id: I52aed261e318cfd765e9adb3ed8edd226c8a59d8 Reviewed-on: https://gerrit.libreoffice.org/52569 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-01-24Silence upcoming GCC 8 -Werror=parentheses in external/boostStephan Bergmann
...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-23Silence -Werror,-Wundef in external/boostStephan Bergmann
> [CXX] vcl/unx/gtk3_kde5/gtk3_kde5_folderpicker.cxx > In file included from vcl/unx/gtk3_kde5/gtk3_kde5_folderpicker.cxx:20: > In file included from vcl/unx/gtk3_kde5/gtk3_kde5_folderpicker.hxx:30: > In file included from vcl/unx/gtk3_kde5/gtk3_kde5_filepicker_ipc.hxx:29: > In file included from workdir/UnpackedTarball/boost/boost/process/child.hpp:22: > In file included from workdir/UnpackedTarball/boost/boost/process/detail/execute_impl.hpp:24: > workdir/UnpackedTarball/boost/boost/process/detail/posix/executor.hpp:446:5: error: 'BOOST_POSIX_HAS_VFORK' is not defined, evaluates to 0 [-Werror,-Wundef] > #if BOOST_POSIX_HAS_VFORK > ^ under --enable-gtk3-kde5 Change-Id: Ib4648d1337a493c35b35897dc71c5e971c6eb214
2018-01-10Silence clang-cl -Werror,-Wmicrosoft-unqualified-friend, reduxStephan Bergmann
...adding two more wrapper files missing from aef6da021da33f099f99ed633814b8771ad4abda "Silence clang-cl -Werror,-Wmicrosoft- unqualified-friend in external/boost", necessary since 653736fb23346e07e8c0e6e0125689ae1f49f0f7 "pdf: use bimap for GraphicsContext-id map" Change-Id: Ied377274d355f27af5d97d7bea89e3b598d9b7d0 Reviewed-on: https://gerrit.libreoffice.org/47688 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-09Silence clang-cl -Werror,-Wmicrosoft-unqualified-friend in external/boostStephan Bergmann
...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>
2017-12-20Remove Clang -Wunknown-pragmas workaroundStephan Bergmann
...that appears to only be necessary for Clang <= 3.4, so no longer needed since fa7b7f73938e837af2765f8a03f07e404046877b "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>