summaryrefslogtreecommitdiff
path: root/external
AgeCommit message (Collapse)Author
2019-11-27do not require Vulkan devel package for SkiaLuboš Luňák
I don't see why this should use libvulkan.so, using libvulkan.so.1 should do as well, and quite possibly any future libvulkan.so.2 could be binary-incompatible anyway. Change-Id: I46be40da7fbfdcb59c947e6d088820e580cf4c44
2019-11-27patch Skia bug with copying data with different alpha typeLuboš Luňák
https://bugs.chromium.org/p/skia/issues/detail?id=9662 Change-Id: Ic5208c2c817912cddbfae4b86e3b3647306262fb
2019-11-27fix Skia with --enable-pch=fullLuboš Luňák
Change-Id: I6bec47e373c042d1ffb3607bf5dca9dfe2509466
2019-11-27solve the Skia lerp() conflict differentlyLuboš Luňák
New versions of libstdc++ provide lerp() in the global namespace, older ones don't, but it depends on the libstdc++ version and not the c++ version. Since the function is local, just "rename" it. Change-Id: I37896190c620350739fba9b8ce6544f945519244
2019-11-27disable Skia resource leak checking on exitLuboš Luňák
This is normally enabled in Skia debug builds and it asserts if there is a problem, which there is with a number of our unittests that leak something (usually a VirtualDevice). Those are non-trivial to find and don't matter in practice (or if they do they should be fixed for all VCL backends), so just disable the Skia check. Change-Id: I0a0721d8a3f0f961e14513574f4b3cc88ec1e62c
2019-11-27make Skia GPU offscreen surfaces work with unittestsLuboš Luňák
Skia is now patched to be able to create also invalid sk_app::WindowContext that will just initialize the shared GrContext. And always use that GrContext, even for tests, because some tests first create a offscreen surfaces and only later create windows, which before this patch led to mixing GrContext instances. Change-Id: Ic79c0719f98f6ac48527c2ea2a9a9a69412adeff
2019-11-27make Skia VCL backend fall back to raster if vulkan doesn't workLuboš Luňák
Change-Id: Ic446f6f85e5ebc2e50cb51a3ed1e732b8976a193
2019-11-27fix Skia offscreen GPU-backed drawingLuboš Luňák
The previous approach of using multiple GrContext instances apparently does not work, it's not possible to do drawing operations that involve objects using two different GrContext's. So patch Skia to use just one GrContext for our needs. See vcl/skia/README for details. Change-Id: I2bd3d3c618bf7f8ff45b2f37cbd086d2289940aa
2019-11-27make SkiaSalGraphicsImpl use GPU-backed SkSurface also for offscreenLuboš Luňák
Skia's sk_app::WindowContext can create GPU-backed SkSurface only for windows, but we also use virtual devices that are not windows. Fortunately, SkSurface can be created GPU-backed from GrContext* and sk_gpu_test::GrContextFactory seems to provide it easily. It is not completely clear to me what the rules are on mixing SkSurface's with different GrContext* (see the comment in SkiaSalGraphicsImpl::copyBits()), but it seems to work fine. Change-Id: I8110b67c41ab092e0c4b6a0973d6bed8a408c4c1
2019-11-27update Skia fix-shader-locale.patch.1 to the upstream versionLuboš Luňák
Change-Id: Ie8606f30d3f821d7b195aa7978886d529a57bfd2
2019-11-27update Skia PCH after the update to m79Luboš Luňák
Change-Id: I1e18686ac6f501a04d6f56c78c998621d430d721
2019-11-27fix Skia/vulkan with some localesLuboš Luňák
Change-Id: Ie2dcd526efba5631a6956023d864be828c6eb634
2019-11-27update Skia to chrome-m79Luboš Luňák
Change-Id: Ie79f4752c4d0978b816774674bc923e6973289f8
2019-11-27update PCH for SkiaLuboš Luňák
Change-Id: Iece4d90774890576bd3d84ed2218de56def96077
2019-11-27use the same config file for skia build and using itLuboš Luňák
So that the setup is consistent. Change-Id: Ia113c7bf79036e3ec7585263ed70da68e461fbac
2019-11-27initial implementation of Skia drawing on screen in WindowsLuboš Luňák
Change-Id: I1562bd2cfd1862947042bef3343aefd851a65002
2019-11-27build also the tools/sk_app part of SkiaLuboš Luňák
That's basically code that allows intergrating the library with X11 etc. Change-Id: I3f5506ef4ecc334b4e93c4450fb1aa4c53dbfefc
2019-11-27build Skia also on WindowsLuboš Luňák
Change-Id: Ic86aac42745c3241ce14235cc1b4f4adb39eba2d
2019-11-27add PCH to SkiaLuboš Luňák
Change-Id: I0aa96bec7319010ff4749e3ab5c0ceef3dc55766
2019-11-27build also OpenGL and Vulkan support in SkiaLuboš Luňák
Change-Id: I0b42dd0ef4d1e92bcde7c4b64d2fc159e8bebcb1
2019-11-27initial build of the Skia libraryLuboš Luňák
Not quite complete yet, missing e.g. Vulkan sources, and the setup is not completely correct either. Change-Id: I2283bf12f0d226ff8a34554deae5a7bd69045971
2019-11-26nss: fix Android buildMiklos Vajna
By not building some of the test code. The first hunk is necessary to avoid: /home/vmiklos/git/libreoffice/master-android/external/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lpthread clang: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: *** [Makefile:379: abstract] Error 1 make[2]: *** [Makefile:143: build_nspr] Error 2 make[1]: *** [/home/vmiklos/git/libreoffice/master-android/external/nss/ExternalProject_nss.mk:35: /home/vmiklos/git/libreoffice/master-android/workdir/ExternalProject/nss/build] Error 1 make: *** [Makefile:120: nss] Error 2 The second hunk avoids: cd testlib; make libs Traceback (most recent call last): File "/home/vmiklos/git/libreoffice/master-android/external/nss/nsinstall.py", line 164, in <module> sys.exit(nsinstall(sys.argv[1:])) File "/home/vmiklos/git/libreoffice/master-android/external/nss/nsinstall.py", line 112, in nsinstall os.makedirs(args[0]) File "/usr/lib64/python2.7/os.py", line 157, in makedirs mkdir(name, mode) OSError: [Errno 17] File exists: 'out/..' make[6]: *** [../../../../coreconf/rules.mk:392: out/../anchor.o] Error 1 make[5]: *** [../../../coreconf/rules.mk:81: libs] Error 2 make[4]: *** [../../coreconf/rules.mk:78: libs] Error 2 make[3]: *** [../coreconf/rules.mk:101: libs] Error 2 make[2]: *** [coreconf/rules.mk:101: libs] Error 2 make[1]: *** [/home/vmiklos/git/libreoffice/master-android/external/nss/ExternalProject_nss.mk:35: /home/vmiklos/git/libreoffice/master-android/workdir/ExternalProject/nss/build] Error 1 make: *** [Makefile:120: nss] Error 2 Change-Id: I11906f56ef717842778e14edf4037bd92e42cd86 Reviewed-on: https://gerrit.libreoffice.org/83775 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-11-26Mark external/mdds/Wdeprecated-copy.patch as upstreamedStephan Bergmann
Change-Id: Idfcf192dd93df3809b5da195356747a7d3ae3d3d Reviewed-on: https://gerrit.libreoffice.org/83761 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-26nss: upgrade to release 3.47.1Michael Stahl
Fixes CVE-2019-11745. Remove nss.fix-freebl-add-lcc-support.patch.1, fixed upstream. Change-Id: I72e35c90fabb0a83f547a787dbaee774e35f9c08 Reviewed-on: https://gerrit.libreoffice.org/83673 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-11-26external/mdds: -Werror,-Wdeprecated-copyStephan Bergmann
> In file included from sc/source/core/data/cellvalues.cxx:12: > In file included from sc/inc/column.hxx:28: > In file included from sc/inc/mtvelements.hxx:30: > In file included from workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector.hpp:33: > workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector_itr.hpp:74:9: error: definition of implicit copy assignment operator for 'private_data' is deprecated because it has a user-declared copy constructor [-Werror,-Wdeprecated-copy] > private_data(const private_data& other) : > ^ > workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector_itr.hpp:44:8: note: in implicit copy assignment operator for 'mdds::detail::mtv::iterator_value_node<unsigned long, mdds::mtv::base_element_block>::private_data' first required here > struct iterator_value_node > ^ > workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector_itr.hpp:219:20: note: in implicit copy assignment operator for 'mdds::detail::mtv::iterator_value_node<unsigned long, mdds::mtv::base_element_block>' first required here > m_cur_node = other.m_cur_node; > ^ > workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector_itr.hpp:238:7: note: in instantiation of member function 'mdds::detail::mtv::iterator_common_base<mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell> >, sc::CellStoreEvent>::iterator_trait>::operator=' requested here > class iterator_base : public iterator_common_base<_Trait> > ^ with recent Clang 10 trunk, similar to <https://gerrit.libreoffice.org/#/c/83698/> "Remove some redundantly user-declared copy ctors and assignment ops" Change-Id: I156674bad367ca68404c3c75d61ec72b401c6305 Reviewed-on: https://gerrit.libreoffice.org/83700 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-22Replace hotfix with upstream patch, tdf#127887 follow-upEike Rathke
This attempt tries to avoid affecting other .wk1 files as well. The old fix was even applied to the wrong patch section, not done for MacOSX or Windows. Geez.. Change-Id: Ia79383f33ff760cba9bfb44f166e27f3ef212c57 Reviewed-on: https://gerrit.libreoffice.org/83431 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2019-11-21libxslt: upgrade to release 1.1.34Michael Stahl
Fixes CVE-2019-18197. Remove obsolete e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch.1. Change-Id: I95cf498e245083528f98bfef8cdd240bbe2211b9 Reviewed-on: https://gerrit.libreoffice.org/83312 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-11-20libxml2: upgrade to release 2.9.10Michael Stahl
... which is, surprisingly enough, required to build the latest libxslt. Change-Id: Ifbb36ed61b8f68185f9c788f63a8edeb58899f94 Reviewed-on: https://gerrit.libreoffice.org/83311 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-11-20poppler: upgrade to release 0.82.0Michael Stahl
fixes CVE-2019-9903 CVE-2019-9631 CVE-2019-9545 CVE-2019-9543 CVE-2019-14494 CVE-2019-12293 CVE-2019-11026 CVE-2019-10873 CVE-2019-10872 CVE-2019-10871 CVE-2019-10018 remove obsolete 0001-ImageStream-getLine-fix-crash-on-broken-files.patch.1 Change-Id: I72b3bf89b294ed3e24157c7e75fd58d4f68d9f35 Reviewed-on: https://gerrit.libreoffice.org/83308 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-11-19python3: upgrade to release 3.5.9Michael Stahl
Fixes CVE-2019-9948 CVE-2019-9740 CVE-2019-10160 CVE-2019-16056 and expat CVE-2019-15903. python-3.3.5-pyexpat-symbols.patch.1 fails to apply, and it's a mystery why --with-system-expat is used everywhere but on MacOSX, where 292af048ace2d4b455b2da3a22c784cb05db1d09 disabled it for no obvious reason, so try to remove the special case and get rid of the patch. Change-Id: I5ba4532eb6e7c2fb90daba95d132dcc7c9013d96 Reviewed-on: https://gerrit.libreoffice.org/83117 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-11-13CVE-2019-16707Caolán McNamara
Change-Id: I69c4c31330fde135b6ff6c0c1c72f613f0cc4b1d Reviewed-on: https://gerrit.libreoffice.org/82551 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-13external: update pdfium to 3963Miklos Vajna
Also simplify visibility.patch.1. Change-Id: I8b4ed78b314a1a1f7d31467f782877f056429cc2 Reviewed-on: https://gerrit.libreoffice.org/82548 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-11-01coinmp: disable "glpk", whatever that isMichael Stahl
On Fedora 31, this happens in CppunitTest_sccomp_solver: - loading component library <file:///work/lo/master/instdir/program/libsolverlo.so> failed > nm -D instdir/program/libCbcSolver.so.3 | grep cbc_glp_prob U cbc_glp_prob > grep -r COIN_HAS_GLPK workdir/UnpackedTarball/coinmp | grep config.h workdir/UnpackedTarball/coinmp/Osi/src/Osi/config.h:/* #undef COIN_HAS_GLPK */ workdir/UnpackedTarball/coinmp/Clp/src/config.h.in:#undef COIN_HAS_GLPK workdir/UnpackedTarball/coinmp/Cbc/src/config.h:#define COIN_HAS_GLPK 1 workdir/UnpackedTarball/coinmp/CoinUtils/src/config.h.in:#undef COIN_HAS_GLPK Somehow 2 different configures in coinmp got different ideas about whether something named "glpk" is available.... no idea what that is, it looks like there's a "glpk-devel" package installed on the system, and i doubt that a dependency on that would be desirable. Change-Id: Ief01b6aedc692197c1a8fd6351aef4281e530e70 Reviewed-on: https://gerrit.libreoffice.org/81863 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-10-30Upgrade to ICU 65.1Eike Rathke
sberg says: On Windows, implicit --enable-extras first causes a build breaker in workdir/UnpackedTarball/icu/source/extras/scrptrun when linking, because Windows link.exe doesn't understand -o. But even with a patch > --- source/extra/scrptrun/Makefile.in > +++ source/extra/scrptrun/Makefile.in > @@ -74,7 +74,7 @@ > && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status > > $(TARGET) : $(OBJECTS) > - $(LINK.cc) -o $@ $^ $(LIBS) > + $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS) > $(POST_BUILD_STEP) > > invoke: linking would still fail with a missing ../../lib/icuucdd.lib, which is apparently expanded from $(LIBS) there, but I have no idea where it should be built but isn't. Lets hope that --disable-extras is sufficient for our needs. Change-Id: I6d0117b230caa41abf488fcd069028e3474700f8 Reviewed-on: https://gerrit.libreoffice.org/81632 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-29Adapt commentStephan Bergmann
external/icu/clang-cl.patch has been dropped by 398e1e6ae83999eea8fb8c845190667695ac115f "Upgrade to ICU 64.2" Change-Id: Ic1ab2b02820cc15f9b14bdaab4554e1da5234623 Reviewed-on: https://gerrit.libreoffice.org/81638 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-29external/icu: Fix UBSan nullptr-with-nonzero-offsetStephan Bergmann
...(new with Clang 10 trunk), as seen during ExternalProject_icu: > rbutil.c:49:67: runtime error: applying non-zero offset 1 to null pointer > #0 in get_basename at workdir/UnpackedTarball/icu/source/tools/genrb/rbutil.c:49:67 > #1 in make_res_filename(char const*, char const*, char const*, UErrorCode&) at workdir/UnpackedTarball/icu/source/tools/genrb/genrb.cpp:768:5 > #2 in processFile(char const*, char const*, char const*, char const*, char const*, SRBRoot*, signed char, UErrorCode&) at workdir/UnpackedTarball/icu/source/tools/genrb/genrb.cpp:695:14 > #3 in main at workdir/UnpackedTarball/icu/source/tools/genrb/genrb.cpp:527:9 > rbutil.c:54:67: runtime error: applying non-zero offset 1 to null pointer > #0 in get_basename at workdir/UnpackedTarball/icu/source/tools/genrb/rbutil.c:54:67 > #1 in make_res_filename(char const*, char const*, char const*, UErrorCode&) at workdir/UnpackedTarball/icu/source/tools/genrb/genrb.cpp:768:5 > #2 in processFile(char const*, char const*, char const*, char const*, char const*, SRBRoot*, signed char, UErrorCode&) at workdir/UnpackedTarball/icu/source/tools/genrb/genrb.cpp:695:14 > #3 in main at workdir/UnpackedTarball/icu/source/tools/genrb/genrb.cpp:527:9 (uprv_strrchr appears to be plain strrchr, see workdir/UnpackedTarball/icu/source/common/cstring.h, so returns null for "not found", and in both of the fixed places, the following if(lastSlash>filename) was apparently meant to filter out cases where uprv_strrchr returned null.) Change-Id: I32b3a72955d33d73fa4295cf5f91a69fd270efeb Reviewed-on: https://gerrit.libreoffice.org/81613 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-28Upgrade to ICU 64.2Eike Rathke
As an interim step to upgrade to ICU 65.1 Adds new scripts and Unicode blocks from Unicode 12. Change-Id: Idc4a6b29ffb04bcb424522fcbd29a8db0428c056 Reviewed-on: https://gerrit.libreoffice.org/81611 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2019-10-28external/boost: Adapt to std::allocator parts removed in C++20Stephan Bergmann
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html#4.2> "Deprecating Vestigial Library Parts in C++17" deprecated, among others, std::allocator::rebind and std::allocator::allocate's hint parameter, and <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0619r4.html#3.9> "Reviewing Deprecated Facilities of C++17 for C++20" removed them completely. (And <https://gcc.gnu.org/git/?p=gcc.git;a=commit; h=954026a7a4e6a1affd1ac5db237ccd75a3316760> "Remove redundant std::allocator members for C++20" removed them from libstdc++ now for -std=c++2a.) The change to boost/bimap/detail/bimap_core.hpp was necessary in Library_pdfimport: > In file included from workdir/UnpackedTarball/boost/boost/bimap/bimap.hpp:61, > from external/boost/include/boost/bimap/bimap.hpp:30, > from sdext/source/pdfimport/inc/pdfiprocessor.hxx:49, > from sdext/source/pdfimport/pdfiadaptor.cxx:27: > workdir/UnpackedTarball/boost/boost/bimap/detail/bimap_core.hpp: In instantiation of ‘class boost::bimaps::detail::bimap_core<boost::bimaps::unordered_set_of<pdfi::GraphicsContext, pdfi::GraphicsContextHash>, boost::bimaps::unordered_set_of<int>, mpl_::na, mpl_::na, mpl_::na>’: > workdir/UnpackedTarball/boost/boost/bimap/bimap.hpp:133:7: required from ‘class boost::bimaps::bimap<boost::bimaps::unordered_set_of<pdfi::GraphicsContext, pdfi::GraphicsContextHash>, boost::bimaps::unordered_set_of<int> >’ > sdext/source/pdfimport/inc/pdfiprocessor.hxx:190:44: required from here > workdir/UnpackedTarball/boost/boost/bimap/detail/bimap_core.hpp:410:7: error: no class template named ‘rebind’ in ‘boost::bimaps::detail::manage_additional_parameters<mpl_::na, mpl_::na, mpl_::na>::case_NNN::allocator’ {aka ‘class std::allocator<void>’} > 410 | > core_type; > | ^~~~~~~~~ [...] The change to boost/format/alt_sstream_impl.hpp was necessary in ExternalProject_libpagemaker: > In file included from libpagemaker_utils.h:22, > from geometry.h:20, > from OutputShape.h:17, > from OutputShape.cpp:10: > external/boost/include/boost/cstdint.hpp:30:2: warning: #include_next is a GCC extension > 30 | #include_next <boost/cstdint.hpp> > | ^~~~~~~~~~~~ > In file included from workdir/UnpackedTarball/boost/boost/format/alt_sstream.hpp:174, > from workdir/UnpackedTarball/boost/boost/format/internals.hpp:24, > from workdir/UnpackedTarball/boost/boost/format.hpp:38, > from PMDExceptions.h:15, > from OutputShape.h:16, > from OutputShape.cpp:10: > workdir/UnpackedTarball/boost/boost/format/alt_sstream_impl.hpp: In instantiation of ‘boost::io::basic_altstringbuf<Ch, Tr, Alloc>::int_type boost::io::basic_altstringbuf<Ch, Tr, Alloc>::overflow(boost::io::basic_altstringbuf<Ch, Tr, Alloc>::int_type) [with Ch = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>; boost::io::basic_altstringbuf<Ch, Tr, Alloc>::int_type = int]’: > workdir/UnpackedTarball/boost/boost/format/alt_sstream_impl.hpp:227:9: required from here > workdir/UnpackedTarball/boost/boost/format/alt_sstream_impl.hpp:261:45: error: no matching function for call to ‘std::allocator<char>::allocate(std::size_t&, char*)’ > 261 | newptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0); > | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > In file included from gcc/trunk/inst/include/c++/10.0.0/memory:64, > from OutputShape.h:13, > from OutputShape.cpp:10: > gcc/trunk/inst/include/c++/10.0.0/bits/allocator.h:164:7: note: candidate: ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = char; std::size_t = long unsigned int]’ > 164 | allocate(size_t __n) > | ^~~~~~~~ > gcc/trunk/inst/include/c++/10.0.0/bits/allocator.h:164:7: note: candidate expects 1 argument, 2 provided Change-Id: Id423f7597fe2e84e57df1d48a2ecc4d636c4a913 Reviewed-on: https://gerrit.libreoffice.org/81584 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-28external/breakpad: Adapt to std::allocator parts removed in C++20Stephan Bergmann
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html#4.2> "Deprecating Vestigial Library Parts in C++17" deprecated, among others, std::allocator::pointer, and <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0619r4.html#3.9> "Reviewing Deprecated Facilities of C++17 for C++20" removed it completely. (And <https://gcc.gnu.org/git/?p=gcc.git;a=commit; h=954026a7a4e6a1affd1ac5db237ccd75a3316760> "Remove redundant std::allocator members for C++20" removed it from libstdc++ now for -std=c++2a.) The change to src/common/memory.h was necessary in Library_crashreport: > In file included from workdir/UnpackedTarball/breakpad/src/client/linux/dump_writer_common/thread_info.h:37, > from workdir/UnpackedTarball/breakpad/src/client/linux/minidump_writer/linux_dumper.h:51, > from workdir/UnpackedTarball/breakpad/src/client/linux/minidump_writer/minidump_writer.h:41, > from workdir/UnpackedTarball/breakpad/src/client/linux/handler/exception_handler.h:42, > from desktop/source/app/crashreport.cxx:29: > workdir/UnpackedTarball/breakpad/src/common/memory.h: In instantiation of ‘struct google_breakpad::PageStdAllocator<int>’: > gcc/trunk/inst/include/c++/10.0.0/bits/stl_vector.h:84:21: required from ‘struct std::__cxx1998::_Vector_base<int, google_breakpad::PageStdAllocator<int> >’ > gcc/trunk/inst/include/c++/10.0.0/bits/stl_vector.h:386:11: required from ‘class std::__cxx1998::vector<int, google_breakpad::PageStdAllocator<int> >’ > gcc/trunk/inst/include/c++/10.0.0/debug/vector:118:11: required from ‘class std::__debug::vector<int, google_breakpad::PageStdAllocator<int> >’ > workdir/UnpackedTarball/breakpad/src/common/memory.h:197:7: required from ‘class google_breakpad::wasteful_vector<int>’ > workdir/UnpackedTarball/breakpad/src/client/linux/minidump_writer/linux_dumper.h:187:26: required from here > workdir/UnpackedTarball/breakpad/src/common/memory.h:165:47: error: no type named ‘pointer’ in ‘class std::allocator<int>’ > 165 | typedef typename std::allocator<T>::pointer pointer; > | ^~~~~~~ Change-Id: Id7559456cc75311837aaa9f3a531f8820d5f593d Reviewed-on: https://gerrit.libreoffice.org/81585 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-24Removed executable bits on patch fileAndrea Gelmini
Change-Id: If4bed7d12570ff126bec8638480430796f0e89f8 Reviewed-on: https://gerrit.libreoffice.org/81462 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-10-24external/glm: Avoid -std=c++2a -Werror,-Wdeprecated-volatileStephan Bergmann
...as seen with recent Clang 10 trunk clang-cl: > In file included from vcl/source/gdi/salgdilayout.cxx:24: > In file included from vcl/inc\openglgdiimpl.hxx:31: > In file included from vcl/inc/opengl/RenderList.hxx:16: > In file included from workdir/UnpackedTarball/glm\glm/glm.hpp:98: > In file included from workdir/UnpackedTarball/glm\glm/./core/type.hpp:32: > In file included from workdir/UnpackedTarball/glm\glm/core/type_half.hpp:116: > workdir/UnpackedTarball/glm\glm/core/type_half.inl(43,6): error: compound assignment to object of volatile-qualified type 'volatile float' is deprecated [-Werror,-Wdeprecated-volatile] > f *= f; // this will overflow before > ^ Change-Id: I97fdfc0650344db1401cdce126f6755df00c5a0e Reviewed-on: https://gerrit.libreoffice.org/81427 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-23external/harfbuzz: Avoid UBSan nullptr-with-nonzero-offsetStephan Bergmann
...(new with Clang 10 trunk), as seen during CppunitTest_emfio_emf: > hb-ot-layout-gsubgpos.hh:390:20: runtime error: applying non-zero offset 2 to null pointer > #0 in OT::hb_ot_apply_context_t::skipping_iterator_t::next() at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:390:20 > #1 in OT::PairPosFormat1::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gpos-table.hh:910:22 > #2 in bool OT::hb_get_subtables_context_t::apply_to<OT::PairPosFormat1>(void const*, OT::hb_ot_apply_context_t*) at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:625:23 > #3 in OT::hb_get_subtables_context_t::hb_applicable_t::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:643:62 > #4 in OT::hb_ot_layout_lookup_accelerator_t::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:2624:24 > #5 in apply_forward(OT::hb_ot_apply_context_t*, OT::hb_ot_layout_lookup_accelerator_t const&) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1811:24 > #6 in void apply_string<GPOSProxy>(OT::hb_ot_apply_context_t*, GPOSProxy::Lookup const&, OT::hb_ot_layout_lookup_accelerator_t const&) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1864:11 > #7 in void hb_ot_map_t::apply<GPOSProxy>(GPOSProxy const&, hb_ot_shape_plan_t const*, hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1910:7 > #8 in hb_ot_map_t::position(hb_ot_shape_plan_t const*, hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1933:3 > #9 in hb_ot_shape_plan_t::position(hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:266:9 > #10 in hb_ot_position_complex(hb_ot_shape_context_t const*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:951:12 > #11 in hb_ot_position(hb_ot_shape_context_t const*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:994:3 > #12 in hb_ot_shape_internal(hb_ot_shape_context_t*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:1065:3 > #13 in _hb_ot_shape at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:1088:3 > #14 in hb_shape_plan_execute at workdir/UnpackedTarball/harfbuzz/src/./hb-shaper-list.hh:42:1 > #15 in hb_shape_full at workdir/UnpackedTarball/harfbuzz/src/hb-shape.cc:139:19 > #16 in GenericSalLayout::LayoutText(ImplLayoutArgs&, SalLayoutGlyphs const*) at vcl/source/gdi/CommonSalLayout.cxx:463:23 > #17 in OutputDevice::ImplLayout(rtl::OUString const&, int, int, Point const&, long, long const*, SalLayoutFlags, vcl::TextLayoutCache const*, SalLayoutGlyphs const*) const at vcl/source/outdev/text.cxx:1312:36 > #18 in OutputDevice::GetTextBoundRect(tools::Rectangle&, rtl::OUString const&, int, int, int, unsigned long, long const*, SalLayoutGlyphs const*) const at vcl/source/outdev/text.cxx:2334:18 > #19 in drawinglayer::primitive2d::TextLayouterDevice::getTextBoundRect(rtl::OUString const&, unsigned int, unsigned int) const at drawinglayer/source/primitive2d/textlayoutdevice.cxx:297:26 > #20 in drawinglayer::primitive2d::TextSimplePortionPrimitive2D::getB2DRange(drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/textprimitive2d.cxx:305:63 > #21 in drawinglayer::primitive2d::getB2DRangeFromPrimitive2DReference(com::sun::star::uno::Reference<com::sun::star::graphic::XPrimitive2D> const&, drawinglayer::geometry::ViewInformation2D const&) at drawinglayer/source/primitive2d/baseprimitive2d.cxx:175:48 > #22 in drawinglayer::primitive2d::Primitive2DContainer::getB2DRange(drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/baseprimitive2d.cxx:199:36 > #23 in drawinglayer::primitive2d::MetafilePrimitive2D::create2DDecomposition(drawinglayer::primitive2d::Primitive2DContainer&, drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/metafileprimitive2d.cxx:51:67 > #24 in drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at drawinglayer/source/primitive2d/baseprimitive2d.cxx:126:17 > #25 in drawinglayer::tools::Primitive2dXmlDump::decomposeAndWrite(drawinglayer::primitive2d::Primitive2DContainer const&, tools::XmlWriter&) at drawinglayer/source/tools/primitive2dxmldump.cxx:332:38 > #26 in drawinglayer::tools::Primitive2dXmlDump::dumpAndParse(drawinglayer::primitive2d::Primitive2DContainer const&, rtl::OUString const&) at drawinglayer/source/tools/primitive2dxmldump.cxx:130:5 > #27 in (anonymous namespace)::Test::checkRectPrimitive(com::sun::star::uno::Sequence<com::sun::star::uno::Reference<com::sun::star::graphic::XPrimitive2D> > const&) at emfio/qa/cppunit/emf/EmfImportTest.cxx:80:34 > #28 in (anonymous namespace)::Test::testWorking() at emfio/qa/cppunit/emf/EmfImportTest.cxx:94:5 and similarly during CppunitTest_vcl_complextext: > hb-ot-layout-gsubgpos.hh:417:20: runtime error: applying non-zero offset 2 to null pointer > #0 in OT::hb_ot_apply_context_t::skipping_iterator_t::prev() at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:417:20 > #1 in OT::MarkMarkPosFormat1::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gpos-table.hh:1541:22 > #2 in bool OT::hb_get_subtables_context_t::apply_to<OT::MarkMarkPosFormat1>(void const*, OT::hb_ot_apply_context_t*) at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:625:23 > #3 in OT::hb_get_subtables_context_t::hb_applicable_t::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:643:62 > #4 in OT::hb_ot_layout_lookup_accelerator_t::apply(OT::hb_ot_apply_context_t*) const at workdir/UnpackedTarball/harfbuzz/src/./hb-ot-layout-gsubgpos.hh:2624:24 > #5 in apply_forward(OT::hb_ot_apply_context_t*, OT::hb_ot_layout_lookup_accelerator_t const&) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1811:24 > #6 in void apply_string<GPOSProxy>(OT::hb_ot_apply_context_t*, GPOSProxy::Lookup const&, OT::hb_ot_layout_lookup_accelerator_t const&) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1864:11 > #7 in void hb_ot_map_t::apply<GPOSProxy>(GPOSProxy const&, hb_ot_shape_plan_t const*, hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1910:7 > #8 in hb_ot_map_t::position(hb_ot_shape_plan_t const*, hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-layout.cc:1933:3 > #9 in hb_ot_shape_plan_t::position(hb_font_t*, hb_buffer_t*) const at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:266:9 > #10 in hb_ot_position_complex(hb_ot_shape_context_t const*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:951:12 > #11 in hb_ot_position(hb_ot_shape_context_t const*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:994:3 > #12 in hb_ot_shape_internal(hb_ot_shape_context_t*) at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:1065:3 > #13 in _hb_ot_shape at workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:1088:3 > #14 in hb_shape_plan_execute at workdir/UnpackedTarball/harfbuzz/src/./hb-shaper-list.hh:42:1 > #15 in hb_shape_full at workdir/UnpackedTarball/harfbuzz/src/hb-shape.cc:139:19 > #16 in GenericSalLayout::LayoutText(ImplLayoutArgs&, SalLayoutGlyphs const*) at vcl/source/gdi/CommonSalLayout.cxx:463:23 > #17 in OutputDevice::ImplLayout(rtl::OUString const&, int, int, Point const&, long, long const*, SalLayoutFlags, vcl::TextLayoutCache const*, SalLayoutGlyphs const*) const at vcl/source/outdev/text.cxx:1312:36 > #18 in OutputDevice::GetTextArray(rtl::OUString const&, long*, int, int, vcl::TextLayoutCache const*, SalLayoutGlyphs const*) const at vcl/source/outdev/text.cxx:961:45 > #19 in VclComplexTextTest::testArabic() at vcl/qa/cppunit/complextext.cxx:81:32 I have no idea whether this even remotely resembles a useful fix, though. Change-Id: I7671b84374cf119e173406bc60f6631a64dfc794 Reviewed-on: https://gerrit.libreoffice.org/81400 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-22external/lpsolve: Avoid UBSan nullptr-with-nonzero-offsetStephan Bergmann
...(new with Clang 10 trunk), as seen during CppunitTest_sccomp_solver: > ../lp_presolve.c:171:34: runtime error: applying non-zero offset 8 to null pointer > #0 in presolve_rebuildUndo at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_presolve.c:171:34 > #1 in postsolve at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_presolve.c:5673:5 > #2 in spx_solve at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_simplex.c:2067:9 > #3 in lin_solve at workdir/UnpackedTarball/lpsolve/lpsolve55/../lp_simplex.c:2159:12 > #4 in LpsolveSolver::solve() at sccomp/source/solver/LpsolveSolver.cxx:295:19 > #5 in (anonymous namespace)::LpSolverTest::testSolver(rtl::OUString const&) at sccomp/qa/unit/solver.cxx:106:14 > #6 in (anonymous namespace)::LpSolverTest::testLpSolver() at sccomp/qa/unit/solver.cxx:69:5 I have no idea whether this even remotely resembles a useful fix, though. Change-Id: I1a2796d3849967576f400737082e7377566aece9 Reviewed-on: https://gerrit.libreoffice.org/81321 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-22Pass ENABLE_DEBUG into ExternalProject_redlandStephan Bergmann
Change-Id: Ifaacb82478b16e102108d32488a2807489c46901 Reviewed-on: https://gerrit.libreoffice.org/81320 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-22external/redland: Avoid UBSan nullptr-with-nonzero-offsetStephan Bergmann
...(new with Clang 10 trunk), as seen during CppunitTest_sw_ooxmlexport: > raptor_rfc2396.c:389:23: runtime error: applying non-zero offset 2 to null pointer > #0 in raptor_uri_normalize_path at workdir/UnpackedTarball/raptor/src/raptor_rfc2396.c:389:23 > #1 in raptor_uri_resolve_uri_reference at workdir/UnpackedTarball/raptor/src/raptor_rfc2396.c:617:21 > #2 in raptor_new_uri_relative_to_base_counted at workdir/UnpackedTarball/raptor/src/raptor_uri.c:293:19 > #3 in raptor_new_uri_relative_to_base at workdir/UnpackedTarball/raptor/src/raptor_uri.c:319:10 > #4 in raptor_rdfxml_end_element_grammar at workdir/UnpackedTarball/raptor/src/raptor_rdfxml.c:2613:32 > #5 in raptor_rdfxml_end_element_handler at workdir/UnpackedTarball/raptor/src/raptor_rdfxml.c:850:5 > #6 in raptor_sax2_end_element at workdir/UnpackedTarball/raptor/src/raptor_sax2.c:867:7 > #7 in xmlParseTryOrFinish at workdir/UnpackedTarball/libxml2/parser.c:11386:8 > #8 in xmlParseChunk__internal_alias at workdir/UnpackedTarball/libxml2/parser.c:12244:13 > #9 in raptor_sax2_parse_chunk at workdir/UnpackedTarball/raptor/src/raptor_sax2.c:534:10 > #10 in raptor_rdfxml_parse_chunk at workdir/UnpackedTarball/raptor/src/raptor_rdfxml.c:1169:8 > #11 in raptor_parser_parse_chunk at workdir/UnpackedTarball/raptor/src/raptor_parse.c:482:10 > #12 in librdf_parser_raptor_parse_as_stream_common at <null> (instdir/program/librdf-lo.so.0 +0x11ee39) > #13 in librdf_parser_raptor_parse_counted_string_as_stream at <null> (instdir/program/librdf-lo.so.0 +0x117ca4) > #14 in librdf_parser_parse_counted_string_as_stream at <null> (instdir/program/librdf-lo.so.0 +0x111967) > #15 in (anonymous namespace)::librdf_Repository::importGraph(short, com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, com::sun::star::uno::Reference<com::sun::star::rdf::XURI> const&, com::sun::star::uno::Reference<com::sun::star::rdf::XURI> const&) at unoxml/source/rdf/librdf_repository.cxx:1048:9 > #17 in sfx2::readStream(sfx2::DocumentMetadataAccess_Impl&, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&, rtl::OUString const&, rtl::OUString const&) at sfx2/source/doc/DocumentMetadataAccess.cxx:606:36 > #18 in sfx2::initLoading(sfx2::DocumentMetadataAccess_Impl&, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&, com::sun::star::uno::Reference<com::sun::star::rdf::XURI> const&, com::sun::star::uno::Reference<com::sun::star::task::XInteractionHandler> const&) at sfx2/source/doc/DocumentMetadataAccess.cxx:763:9 > #19 in sfx2::DocumentMetadataAccess::loadMetadataFromStorage(com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&, com::sun::star::uno::Reference<com::sun::star::rdf::XURI> const&, com::sun::star::uno::Reference<com::sun::star::task::XInteractionHandler> const&) at sfx2/source/doc/DocumentMetadataAccess.cxx:1126:5 > #20 in SfxBaseModel::loadMetadataFromStorage(com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&, com::sun::star::uno::Reference<com::sun::star::rdf::XURI> const&, com::sun::star::uno::Reference<com::sun::star::task::XInteractionHandler> const&) at sfx2/source/doc/sfxbasemodel.cxx:4411:15 > #21 in XMLReader::Read(SwDoc&, rtl::OUString const&, SwPaM&, rtl::OUString const&) at sw/source/filter/xml/swxml.cxx:810:19 > #22 in SwReader::Read(Reader const&) at sw/source/filter/basflt/shellio.cxx:188:22 > #23 in SwDocShell::Load(SfxMedium&) at sw/source/uibase/app/docshini.cxx:546:37 > #24 in SfxObjectShell::LoadOwnFormat(SfxMedium&) at sfx2/source/doc/objstor.cxx:3040:20 > #25 in SfxObjectShell::DoLoad(SfxMedium*) at sfx2/source/doc/objstor.cxx:696:40 > #26 in SfxBaseModel::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1851:36 > #27 in (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) at sfx2/source/view/frmload.cxx:691:28 > #28 in framework::LoadEnv::impl_loadContent() at framework/source/loadenv/loadenv.cxx:1157:37 > #29 in framework::LoadEnv::startLoading() at framework/source/loadenv/loadenv.cxx:390:20 > #30 in framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at framework/source/loadenv/loadenv.cxx:171:14 > #31 in framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at framework/source/services/desktop.cxx:621:12 > #32 in non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at framework/source/services/desktop.cxx > #33 in unotest::MacrosTest::loadFromDesktop(rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at unotest/source/cpp/macros_test.cxx:48:62 > #34 in SwModelTestBase::loadURL(rtl::OUString const&, char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:765:23 > #35 in SwModelTestBase::load(rtl::OUString const&, char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:720:16 > #36 in SwModelTestBase::executeImportExportImportTest(char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:290:9 > #37 in testTdf118393::Import_Export_Import() at sw/qa/extras/ooxmlexport/ooxmlexport.cxx:84:1 Presumably, `cur` can legitimately be null there and the `s == (cur+2)` check was intended to always be false when `cur` is null? Change-Id: I0e3b762d5868933e586eb8f2255148f88a54e908 Reviewed-on: https://gerrit.libreoffice.org/81318 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-22exernal/icu: Various C++20 comparison operator fixesStephan Bergmann
There are three patterns here: * Missing const (source/common/uvector.cpp, source/common/uvector.h): Overload resolution ambiguities when a synthesized canditate of operator == for a reversed-argument rewrite conflicts with the actual operator ==, due to the asymmetric const-ness of the implicit object parameter and the RHS parameter: > uniset.cpp:360:18: error: use of overloaded operator '!=' is ambiguous (with operand types 'icu_63::UVector' and 'icu_63::UVector') > if (*strings != *o.strings) return FALSE; > ~~~~~~~~ ^ ~~~~~~~~~~ > ./uvector.h:385:23: note: candidate function > inline UBool UVector::operator!=(const UVector& other) { > ^ > ./uvector.h:116:11: note: candidate function > UBool operator==(const UVector& other); > ^ > ./uvector.h:116:11: note: candidate function (with reversed parameter order) * UBool -> bool (source/i18n/tzrule.cpp, source/i18n/unicode/tzrule.h): [over.match.oper]/9 (of the current C++20 draft) states: "If a rewritten operator== candidate is selected [...], its return type shall be cv bool": > basictz.cpp:411:37: error: return type 'UBool' (aka 'signed char') of selected 'operator==' function for rewritten '==' comparison is not 'bool' > if (*(tzt0.getTo()) == *tar) { > ~~~~~~~~~~~~~~~ ^ ~~~~ > ./unicode/tzrule.h:675:19: note: declared here > virtual UBool operator==(const TimeZoneRule& that) const; > ^ * Additional operator != (source/i18n/unicode/rbtz.h, source/i18n/unicode/simpletz.h, source/i18n/unicode/smpdtfmt.h, source/i18n/unicode/stsearch.h, source/i18n/unicode/tzrule.h, source/i18n/unicode/vtzone.h): Similar to the previous pattern, but here the original operator used was !=, so an alternative fix (that reqires fewer changes to the code overall) is to add specific operator != overloads: > rbtz.cpp:79:15: error: use of overloaded operator '!=' is ambiguous (with operand types 'icu_63::RuleBasedTimeZone' and 'const icu_63::RuleBasedTimeZone') > if (*this != right) { > ~~~~~ ^ ~~~~~ > ./unicode/rbtz.h:87:19: note: candidate function > virtual UBool operator!=(const TimeZone& that) const; > ^ > ./unicode/rbtz.h:77:19: note: candidate function > virtual UBool operator==(const TimeZone& that) const; > ^ > ./unicode/rbtz.h:77:19: note: candidate function (with reversed parameter order) > rbtz.cpp:101:23: error: use of overloaded operator '!=' is ambiguous (with operand types 'icu_63::InitialTimeZoneRule' and 'icu_63::InitialTimeZoneRule') > if (*fInitialRule != *(rbtz->fInitialRule)) { > ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~ > ./unicode/tzrule.h:257:19: note: candidate function > virtual UBool operator!=(const TimeZoneRule& that) const; > ^ > ./unicode/tzrule.h:248:18: note: candidate function > virtual bool operator==(const TimeZoneRule& that) const; > ^ > ./unicode/tzrule.h:248:18: note: candidate function (with reversed parameter order) > rbtz.cpp:535:23: error: use of overloaded operator '!=' is ambiguous (with operand types 'icu_63::InitialTimeZoneRule' and 'icu_63::InitialTimeZoneRule') > if (*fInitialRule != *(that.fInitialRule)) { > ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~ > ./unicode/tzrule.h:257:19: note: candidate function > virtual UBool operator!=(const TimeZoneRule& that) const; > ^ > ./unicode/tzrule.h:248:18: note: candidate function > virtual bool operator==(const TimeZoneRule& that) const; > ^ > ./unicode/tzrule.h:248:18: note: candidate function (with reversed parameter order) > > olsontz.cpp:630:69: error: return type 'UBool' (aka 'signed char') of selected 'operator==' function for rewritten '!=' comparison is not 'bool' > || (finalZone != NULL && z->finalZone != NULL && *finalZone != *z->finalZone)) { > ~~~~~~~~~~ ^ ~~~~~~~~~~~~~ > ./unicode/simpletz.h:112:19: note: declared here > virtual UBool operator==(const TimeZone& that) const; > ^ > dtitvfmt.cpp:223:62: error: return type 'UBool' (aka 'signed char') of selected 'operator==' function for rewritten '!=' comparison is not 'bool' > if (fDateFormat && fmt->fDateFormat && (*fDateFormat != *fmt->fDateFormat)) {return FALSE;} > ~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~ > ./unicode/smpdtfmt.h:876:19: note: declared here > virtual UBool operator==(const Format& other) const; > ^ > stsearch.cpp:187:17: error: return type 'UBool' (aka 'signed char') of selected 'operator==' function for rewritten '!=' comparison is not 'bool' > if ((*this) != that) { > ~~~~~~~ ^ ~~~~ > ./unicode/stsearch.h:299:19: note: declared here > virtual UBool operator==(const SearchIterator &that) const; > ^ > vtzone.cpp:1003:15: error: use of overloaded operator '!=' is ambiguous (with operand types 'icu_63::VTimeZone' and 'const icu_63::VTimeZone') > if (*this != right) { > ~~~~~ ^ ~~~~~ > ./unicode/vtzone.h:83:19: note: candidate function > virtual UBool operator!=(const TimeZone& that) const; > ^ > ./unicode/vtzone.h:73:19: note: candidate function > virtual UBool operator==(const TimeZone& that) const; > ^ > ./unicode/vtzone.h:73:19: note: candidate function (with reversed parameter order) Change-Id: I38e01143d1ea0df3f43de53303fd710e41bae027 Reviewed-on: https://gerrit.libreoffice.org/81306 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-22external/libxml2: Simplify UBSan nullptr-with-offset fixStephan Bergmann
...that had been added with fcb2d8a87ad696f7f2fe069f0ed68a88803e1b54 "external/libxml2: Avoid UBSan nullptr-with-offset" Change-Id: I7ee234c8c6a868ed825a8ed3fa0dcdc69decb7ba Reviewed-on: https://gerrit.libreoffice.org/81299 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-22external/libxml2: Avoid UBSan nullptr-with-offsetStephan Bergmann
...(new with Clang 10 trunk), where adding even an offset of 0 to a null pointer is UB in C. Seen when building UIConfig_modules/schart: > [UIL] chart2/uiconfig/ui/3dviewdialog > xpath.c:14532:5: runtime error: applying zero offset to null pointer > #0 in xmlXPathTryStreamCompile at workdir/UnpackedTarball/libxml2/xpath.c:14532:5 > #1 in xmlXPathCtxtCompile__internal_alias at workdir/UnpackedTarball/libxml2/xpath.c:14634:12 > #2 in xsltXPathCompileFlags at workdir/UnpackedTarball/libxslt/libxslt/xsltutils.c:2323:11 > #3 in xsltValueOfComp at workdir/UnpackedTarball/libxslt/libxslt/preproc.c:1258:18 > #4 in xsltStylePreCompute at workdir/UnpackedTarball/libxslt/libxslt/preproc.c:2225:6 > #5 in xsltParseTemplateContent at workdir/UnpackedTarball/libxslt/libxslt/xslt.c:4916:13 > #6 in xsltParseStylesheetTemplate at workdir/UnpackedTarball/libxslt/libxslt/xslt.c:5467:5 > #7 in xsltParseStylesheetTop at workdir/UnpackedTarball/libxslt/libxslt/xslt.c:6205:6 > #8 in xsltParseStylesheetProcess at workdir/UnpackedTarball/libxslt/libxslt/xslt.c:6461:2 > #9 in xsltParseStylesheetImportedDoc at workdir/UnpackedTarball/libxslt/libxslt/xslt.c:6675:9 > #10 in xsltParseStylesheetDoc at workdir/UnpackedTarball/libxslt/libxslt/xslt.c:6714:11 > #11 in main at workdir/UnpackedTarball/libxslt/xsltproc/xsltproc.c:888:9 Change-Id: I016ca8d24315385bcfeafca56dda44d9be10f517 Reviewed-on: https://gerrit.libreoffice.org/81285 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-22external/expat: Avoid -fsanitizenullptr-with-offsetStephan Bergmann
...(new with Clang 10 trunk), where adding even an offset of 0 to a null pointer is UB in C. Seen when building CustomTarget_writerfilter/source: > [PY ] CustomTarget/writerfilter/source/ooxml/resourceids.hxx > workdir/UnpackedTarball/expat/lib/xmlparse.c:6488:23: runtime error: applying zero offset to null pointer > #0 in hashTableIterInit at workdir/UnpackedTarball/expat/lib/xmlparse.c:6488:23 > #1 in dtdDestroy at workdir/UnpackedTarball/expat/lib/xmlparse.c:6130:3 > #2 in XML_ParserFree at workdir/UnpackedTarball/expat/lib/xmlparse.c:1368:5 > #3 in xmlparse_dealloc at workdir/UnpackedTarball/python3/Modules/pyexpat.c:1222:9 > #4 in insertdict at workdir/UnpackedTarball/python3/Objects/dictobject.c:807:9 > #5 in _PyObjectDict_SetItem at workdir/UnpackedTarball/python3/Objects/dictobject.c:3927:19 > #6 in _PyObject_GenericSetAttrWithDict at workdir/UnpackedTarball/python3/Objects/object.c:1159:19 > #7 in PyObject_SetAttr at workdir/UnpackedTarball/python3/Objects/object.c:930:15 > #8 in PyEval_EvalFrameEx at workdir/UnpackedTarball/python3/Python/ceval.c:2310:19 [...] Change-Id: I152ddb20c726dbeb638c5fab4403423f5c6da7b5 Reviewed-on: https://gerrit.libreoffice.org/81284 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-21iexternal/libstaroffice: Fix equality operator argumentsStephan Bergmann
see commit message of external/libstaroffice/0001-Fix-equality-operator-arguments.patch.1 for details Change-Id: Iff882eb1e8b7a71e659a4513772e9049645812fb Reviewed-on: https://gerrit.libreoffice.org/81256 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>