> [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
This claims to support Visual Studio 2017.4, but not the current
2017.5.
* remove boost.auto_link.patch; it does not apply; not sure why we
need this if we can just define BOOST_ALL_NO_LIB
(see commit 7f2e168421)
* remove some hunks from clang-cl.patch.0 that look fixed upstream
* add a global workaround for spurious GCC warning:
oox/source/drawingml/shape.cxx:921:54: error:
‘oShadowColor.boost::optional_detail::tc_optional_base<int>::m_storage’
may be used uninitialized in this function
[-Werror=maybe-uninitialized]
aFormat.Color = *oShadowColor;
Change-Id: I1eb1d8b66554a84a7d7269f1faaa98695fe2f501
Reviewed-on: https://gerrit.libreoffice.org/48187
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
gnustl (and others) are to be removed in future versions of the ndk
also bump gradle and build-tools to current versions along with it
arm unfortunately crashes with llvm-c++, so keep with gnustl for now/fix
that later
Change-Id: Ic794c3293b599b77ec48096bf3283a99c09cbb79
Reviewed-on: https://gerrit.libreoffice.org/45163
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
...adding two more wrapper files missing from
aef6da021d "Silence clang-cl -Werror,-Wmicrosoft-
unqualified-friend in external/boost", necessary since
653736fb23 "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>
...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>
...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>
Similar to libc++ in C++17 mode, some types like std::auto_ptr are indeed
removed in C++17 mode by default, and need _HAS_AUTO_PTR_ETC=1 to be enabled
(see <https://blogs.msdn.microsoft.com/vcblog/2017/12/08/c17-feature-removals-
and-deprecations/>).
Unlike libc++, also std::binary_function and std::unary_function are removed
(and need the same _HAS_AUTO_PTR_ETC=1 to enable). So either set that flag to
make external code build, or use patches (for external/mdds) to make externals'
files included in LO proper still work there.
Change-Id: I886cc0de8196255334ee03ec48cb4bc54d460afd
Reviewed-on: https://gerrit.libreoffice.org/46514
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...in various places, which is gone by default at least from recent libc++ in
C++17 mode. So bring it back there for now, until Boost is fixed.
Change-Id: I0b3128d114ab2b5693a84bdc7d2b9b9b9b5c3c76
Reviewed-on: https://gerrit.libreoffice.org/45910
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...<https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.bz2>.
One reason to upgrade is that with 1.63 CppunitTest_tools_test started to fail
with -fsanitize=signed-integer-overflow after
331e2e5ed3 "long->sal_Int32 in Fraction",
> workdir/UnpackedTarball/boost/boost/integer/common_factor_rt.hpp:300:5: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself
> #0 0x7f0f99bea71b in boost::integer::detail::gcd_optimal_evaluator<int>::operator()(int, int) const workdir/UnpackedTarball/boost/boost/integer/common_factor_rt.hpp:300:5
> #1 0x7f0f99bea52a in int boost::integer::detail::gcd_optimal<int>(int const&, int const&) workdir/UnpackedTarball/boost/boost/integer/common_factor_rt.hpp:372:16
> #2 0x7f0f99be7d70 in int boost::integer::gcd<int>(int const&, int const&) workdir/UnpackedTarball/boost/boost/integer/common_factor_rt.hpp:435:12
> #3 0x7f0f99be7620 in boost::rational<int>::normalize() workdir/UnpackedTarball/boost/boost/rational.hpp:559:17
> #4 0x7f0f99bdff29 in rational_FromDouble(double) tools/source/generic/fract.cxx:449:12
> #5 0x7f0f99bdf8b4 in Fraction::Fraction(double) tools/source/generic/fract.cxx:93:25
> #6 0x7f0f9a1bb987 in tools::FractionTest::testMinLongDouble() tools/qa/cppunit/test_fract.cxx:79:18
> #7 0x7f0f9a1bddd2 in void std::_Bind<std::_Mem_fn<void (tools::FractionTest::*)()> (tools::FractionTest*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:933:11
> #8 0x7f0f9a1bdbe9 in void std::_Bind<std::_Mem_fn<void (tools::FractionTest::*)()> (tools::FractionTest*)>::operator()<, void>() /usr/lib/gcc/x86_64-redhat-linux/6.4.1/../../../../include/c++/6.4.1/functional:991:17
> #9 0x7f0fa5eb53b0 in CppUnit::TestCaseMethodFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5
> #10 0x7f0fa5e1bd1b in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12
> #11 0x7f0fa5e8653d in CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25
> #12 0x7f0fa5e7fb7c in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:86:18
> #13 0x7f0fa5f17fe0 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:182:28
> #14 0x7f0fa5eb398c in CppUnit::TestCase::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13
> #15 0x7f0fa5eb7887 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30
> #16 0x7f0fa5eb6a78 in CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3
> #17 0x7f0fa5eb7887 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30
> #18 0x7f0fa5eb6a78 in CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3
> #19 0x7f0fa5f46655 in CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27
> #20 0x7f0fa5f16a66 in CppUnit::TestResult::runTest(CppUnit::Test*) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:149:9
> #21 0x7f0fa5f475c6 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14
> #22 0x534a01 in (anonymous namespace)::ProtectedFixtureFunctor::run() const sal/cppunittester/cppunittester.cxx:316:20
> #23 0x532ac4 in sal_main() sal/cppunittester/cppunittester.cxx:466:20
> #24 0x5324f2 in main sal/cppunittester/cppunittester.cxx:373:1
> #25 0x7f0fa436e430 in __libc_start_main /usr/src/debug/glibc-2.24-66-gd5a4092c36/csu/../csu/libc-start.c:289
> #26 0x4387b9 in _start (workdir/LinkTarget/Executable/cppunittester+0x4387b9)
Change-Id: Id1c3b216ee18c1d622768dc960ac257d5415c664
Reviewed-on: https://gerrit.libreoffice.org/42427
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...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>
(missing external/boost/include/boost/exception/diagnostic_information.hpp had
caused errors with clang-cl)
Change-Id: Ibb84960e5da8fe73cb67aa5ad32a2c249ff921e6
> [build CXX] workdir/UnpackedTarball/boost/libs/locale/src/shared/date_time.cpp
[...]
> In file included from C:/lo64/core/workdir/UnpackedTarball/boost/libs/locale/src/shared/date_time.cpp:11:
> In file included from C:/lo64/core/workdir/UnpackedTarball/boost\boost/thread/mutex.hpp:14:
> In file included from C:/lo64/core/workdir/UnpackedTarball/boost\boost/thread/win32/mutex.hpp:9:
> In file included from C:/lo64/core/workdir/UnpackedTarball/boost\boost/thread/win32/basic_timed_mutex.hpp:14:
> C:/lo64/core/workdir/UnpackedTarball/boost\boost/thread/win32/thread_primitives.hpp(172,55): error: conflicting types for 'CreateMutexA'
> __declspec(dllimport) void* __stdcall CreateMutexA(_SECURITY_ATTRIBUTES*,int,char const*);
> ^
> C:/PROGRA~2/WI3CF2~1/10/Include/10.0.15063.0/um\synchapi.h(489,1): note: previous declaration is here
> CreateMutexA(
> ^
[...]
Change-Id: I141ea196250dc855c780f237436c0f19f0594cb1
...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
One of the tinderboxes fails with mysterious warning:
include/tools/gen.hxx:418:36: error: '*((void*)& aViewportExt +16)' may
be used uninitialized in this function [-Werror=maybe-uninitialized]
nBottom = rSize.Height() ? nTop+rSize.Height()-1 : RECT_EMPTY;
Change-Id: I62bf99d1a623ba4bd9d7db5fe049366d0f20e26f
Upstream maintainers, with few exceptions, generally don't care about
warnings in boost headers, hence we re-base our warning fix patches on
every upgrade, which is a pointless exercise in frustration.
Most of the patches are for GCC/Clang warnings, where we could use
-isystem to suppress the warnings (with corresponding hacks in the build
system, because -isystem also disables dependency generation) - but
clang-cl does not support -isystem.
So generate a bunch of wrapper headers into external/boost/include, that
disable all known warnings and use #include_next to get the real boost
header. This allows us to get rid of most of the existing patches.
There is however a bug in GCC that preprocessor warnings like -Wundef
cannot be disabled with a #pragma, so those patches cannot be removed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
Change-Id: I2992bf4a463015f1140489df867bd80757f84541
Reviewed-on: https://gerrit.libreoffice.org/25563
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
The following libraries are mostly or completely unused on current
master, in MSVC 2013 and GCC builds:
* crc
* dynamic_bitset
* ptr_container
* random
* signal2
That's much less removal than we hoped, but it turns out that a lot of
boost headers include other boost headers, so removing includes in LO
code only goes this far.
Also move one property_tree hunk from a wrong patch file to more
approriate one.
Change-Id: I6ad3a5987b025a57ca92402cca9a0e1f659128e9
Reviewed-on: https://gerrit.libreoffice.org/25513
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Apparently GCC 5.3.1 has turned these annoyances into actual warnings
that convert to errors with -Werror.
Change-Id: Ib1567b3fc2cf33a0f6cffac116a06d73912b84df
* Avoid errors about (somewhat different, but apparently in a way that MSVC
doesn't care) redeclarations of system header stuff (and working around that
with BOOST_USE_WINDOWS_H would lead to other problems).
* Need the workaround for broken MSVC 2010 STL iterator taxonomy for clang-cl,
too.
Change-Id: I4f9c9b5cc8a19856cc409450aac1fb1baa5554c9