summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2019-11-11Don't compile cpuid test with INTRINSICS_CXXFLAGSTomaž Vajngerl2-20/+1
This will compile test with maximal supported instruction set supported by the compiler, but the CPU might not support the instructions sets. As this tests some aspects of runtime CPU detection only we actually don't need to compile it with the INTRINSICS_CXXFLAGS flags. Change-Id: I612785949b42efbd08d1961a746025f66e99aebc Reviewed-on: https://gerrit.libreoffice.org/82422 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-11-03size some stringbuffer to prevent re-allocNoel Grandin2-5/+5
I started with 32 and kept doubling the size until the site did not need re-alloc, but clamped it at 512. Change-Id: I55fe36b31cd3d40f86e5729337a927cf920f2af6 Reviewed-on: https://gerrit.libreoffice.org/81960 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-26size some stringbuffer to prevent re-allocNoel Grandin2-4/+6
I started with 32 and kept doubling the size until the site did not need re-alloc, but clamped it at 512 (e.g. in emfio/). Change-Id: Ib7caf35a1b7e42b0e4ed8aa812493449e3eefc8f Reviewed-on: https://gerrit.libreoffice.org/81540 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-23size some stringbuffer to prevent re-allocNoel Grandin1-1/+1
Change-Id: I385587a922c555c320a45dcc6d644315b72510e9 Reviewed-on: https://gerrit.libreoffice.org/81278 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-21-fsanitize=nullptr-with-nonzero-offsetStephan Bergmann1-1/+8
...(new with Clang 10 trunk), as seen during CppunitTest_emfio_wmf: > tools/source/stream/stream.cxx:808:32: runtime error: applying non-zero offset 10 to null pointer > #0 in SvStream::SeekRel(long) at tools/source/stream/stream.cxx:808:32 > #1 in (anonymous namespace)::ImplReadDIBFileHeader(SvStream&, unsigned long&) at vcl/source/gdi/dibtools.cxx:1085:19 > #2 in (anonymous namespace)::ImplReadDIB(Bitmap&, AlphaMask*, SvStream&, bool, bool, bool) at vcl/source/gdi/dibtools.cxx:1656:12 > #3 in ReadDIB(Bitmap&, SvStream&, bool, bool) at vcl/source/gdi/dibtools.cxx:1738:12 > #4 in emfio::EmfReader::ReadEnhWMF() at emfio/source/reader/emfreader.cxx:1507:33 > #5 in emfio::emfreader::XEmfParser::getDecomposition(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at emfio/source/emfuno/xemfparser.cxx:148:72 > #6 in non-virtual thunk to emfio::emfreader::XEmfParser::getDecomposition(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at emfio/source/emfuno/xemfparser.cxx > #7 in VectorGraphicData::ensureSequenceAndRange() at vcl/source/gdi/vectorgraphicdata.cxx:172:137 > #8 in VectorGraphicData::getPrimitive2DSequence() const at vcl/source/gdi/vectorgraphicdata.cxx:279:45 > #9 in ImpGraphic::ImplGetGDIMetaFile() const at vcl/source/gdi/impgraph.cxx:844:110 > #10 in Graphic::GetGDIMetaFile() const at vcl/source/gdi/graph.cxx:365:26 > #11 in ReadWindowMetafile(SvStream&, GDIMetaFile&) at vcl/source/filter/wmf/wmf.cxx:62:25 > #12 in WmfTest::testEmfProblem() at emfio/qa/cppunit/wmf/wmfimporttest.cxx:116:5 An invariant of SvStream appears to be that m_pRWBuf can be null and that m_pBufPos is null iff m_pRWBuf is null. So don't update m_pBufPos here when m_pRWBuf is null. (And assert the assumed invariant.) Change-Id: Iad2eb2723394f5564d43dfa8a3a1a8b8de79158d Reviewed-on: https://gerrit.libreoffice.org/81237 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-21size some stringbuffer to prevent re-allocNoel Grandin3-14/+17
found by the simple expidient of putting asserts in the resize routine. Where an explicit const size is used, I started with 32 and kept doubling until that site did not need resizing anymore. Change-Id: I998787edc940d0a3ba23b5ac37131ab9ecd300f4 Reviewed-on: https://gerrit.libreoffice.org/81138 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-18make bin/update_pch.s always include code in trivial #if'sLuboš Luňák1-2/+3
E.g. #ifdef LIBO_INTERNAL_ONLY is always true for code that builds with our PCHs. Change-Id: I3cf311ea3621b909105754cfea2cb0116b8b67f5 Reviewed-on: https://gerrit.libreoffice.org/80961 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-10-17Remove some memset callsMike Kaganski1-9/+2
Replace them with default initialization or calloc Change-Id: I747f53c2ced2d0473fd5a5ede4f8520a0633dcc1 Reviewed-on: https://gerrit.libreoffice.org/80805 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-16loplugin:bufferadd loosen some constraintsNoel Grandin1-10/+6
and extend O*StringView to have a constructor that takes a pointer and a length Change-Id: I6120e96280f030757e855a6596efdae438b7e1e8 Reviewed-on: https://gerrit.libreoffice.org/80872 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-11ofz#14989 Z_NEED_DICT related infinite loopCaolán McNamara1-1/+1
Change-Id: I31c0d004d717564063c36862f9eef661d18768a9 Reviewed-on: https://gerrit.libreoffice.org/80648 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-11drop PZSTREAM defineCaolán McNamara1-60/+70
Change-Id: Ia0ac30fc8441f446977270c96dd2430647dfa2d7 Reviewed-on: https://gerrit.libreoffice.org/80647 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-10convert WriteCharPtr..getStr to WriteOStringNoel Grandin1-2/+2
and improve the WriteOString method, we can avoid the strlen here, we already have the length One change in behaviour to be noted - if the string contains trailing zero bytes, which ARE INCLUDED IN THE STRING LENGTH, i.e. I'm not talking about the normal terminating zero, then this patch changes behaviour because we will now write those zeros to the stream. Change-Id: I4668b9b9eb877f820b1dc70d6cd10ba2623bc0a2 Reviewed-on: https://gerrit.libreoffice.org/80597 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-09tools: don't leave SvStream::m_nBufFilePos pointing beyond the endMichael Stahl1-0/+4
... of the stream in SvStream::SetStreamSize(); this caused SvMemoryStream with SetStreamSize(0) and subsequent write to be pre-filled with 0 bytes. Change-Id: I0de704b319f5087bc6c1914881e38018212afbf2 Reviewed-on: https://gerrit.libreoffice.org/80478 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-10-08loplugin:redundantpointerops simplify *p.get()Noel Grandin2-2/+2
Change-Id: I12517651fb3f777fd08e384992bb3e84b340ad85 Reviewed-on: https://gerrit.libreoffice.org/80382 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-05ofz#17212 Floating point exceptionCaolán McNamara1-0/+4
deploy a workaround, bug logged against boost as: https://github.com/boostorg/boost/issues/335 Change-Id: I9791133e926dd474ddc5960a33fd90592ce3dcb3 Reviewed-on: https://gerrit.libreoffice.org/80304 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-04always use gb_LinkTarget__get_cxxflags for cxxobjectsLuboš Luňák1-2/+2
E.g. gb_LinkTarget_add_exception_object adds it explicitly, but gb_LinkTarget_add_cxxobject itself does not, even though other variants (c,objc,objcxx) do it. This means that when compiling tools/qa/cppunit/test_cpuid.cxx it doesn't get the correct -O/-g flags, because CppunitTest_tools_test.mk uses gb_CppunitTest_add_cxxobjects to add $(INTRINSICS_CXXFLAGS). And that in its own actually should use the add_exception_objects variant, it didn't presumably because that one used to have cxxflags passing broken until I fixed it in 4bbdab901eb3c7d32d28910fb830f4b0422eee91. The usage in Library_cpp_uno.mk even explicitly works around the lack of debug symbols. Change-Id: Idc794e95bb817cd2ba2942b8e1f04f80d6722f97 Reviewed-on: https://gerrit.libreoffice.org/80119 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-10-02loplugin:stringadd in tools..unotoolsNoel Grandin1-99/+106
Change-Id: I441a5ccef6adc8be8029178e304ff3044e812e2a Reviewed-on: https://gerrit.libreoffice.org/79986 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-29Move Rectangle,Point,Size serialization to GenericTypeSerializerTomaž Vajngerl4-44/+183
Change-Id: Iae489fc31b13b836e1df5327ba2fa07e0325907a Reviewed-on: https://gerrit.libreoffice.org/79793 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-09-24support O(U)String::number() for fast string concatenationLuboš Luňák1-1/+2
When I did the fast string concatenation, I didn't add any support for number(), which simply returned a O(U)String, and so it did the extra allocation/deallocation, although that could be avoided. In order to support this, number() now returns a special temporary return type, similarly to O(U)StringConcat, which allows delaying the concatenation the same way. Also similarly, the change of the return type in some cases requires explicit cast to the actual string type. Usage of OString::getStr() is so extensive in the codebase that I actually added it to the helper class, after that it's only relatively few cases. Change-Id: Iba6e158010e1e458089698c426803052b6f46031 Reviewed-on: https://gerrit.libreoffice.org/78873 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-09-23do not require $(SRCDIR) in every gb_Library_set_precompiled_headerLuboš Luňák1-1/+1
Change-Id: I7b3a22584bb2e4d501f509ffcd80929feed23a4c Reviewed-on: https://gerrit.libreoffice.org/79360 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-09-18remove unused crc functionality from ZCodecNoel Grandin1-32/+3
Change-Id: I3e57e815b538ad5749b4bab3d4ef8e295cbe116b Reviewed-on: https://gerrit.libreoffice.org/79098 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-17Use CPPUNIT_ASSERT in test codeStephan Bergmann1-4/+3
Change-Id: I0ac21995315e136ae0035aeaf0f6a6d1e5f5811a Reviewed-on: https://gerrit.libreoffice.org/79055 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-09-17Fix assertMike Kaganski1-1/+1
Change-Id: I074794bdb6cb5ab3e16d4b78174f6aff39b589bc Reviewed-on: https://gerrit.libreoffice.org/79031 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-09-01Fix '..'Andrea Gelmini2-2/+2
To complete this: https://gerrit.libreoffice.org/#/c/78312/ This is a massive replace for lines ending with ".." instead of "..." It passed "make check" on Linux. Change-Id: I07fa7b2e30ba9ea17a1f9a5e21c57216ba958efe Reviewed-on: https://gerrit.libreoffice.org/78356 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2019-08-30fix PolyPolygon move operator=Noel Grandin1-2/+7
and add move constructor, found by loplugin:noexceptmove Change-Id: I89507113b354c4ae080f7107c996b55ab1285738 Reviewed-on: https://gerrit.libreoffice.org/78285 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-30new loplugin:noexceptmoveNoel Grandin2-3/+3
idea from mike kaganski look for places where we can mark move operators as noexcept, which makes some STL operations more efficient Change-Id: Id732b89d1fcadd5ceb0ea2b9d159fed06136330f Reviewed-on: https://gerrit.libreoffice.org/78251 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-28INetURLObject::setFSysPath is unused nowStephan Bergmann2-233/+0
...after 056e1fff2ed232f2a50db933fbade1c71c0c2a65 "Simplify code removing the last segment from a URL" Change-Id: I3abe84ada119356191d8df9c0a8ee62dcf18d108 Reviewed-on: https://gerrit.libreoffice.org/78228 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-08-23loplugin:returnconstval in toolsNoel Grandin1-2/+2
Change-Id: Ic00c0a6788e65ba2b50e93d49592e67596354f96 Reviewed-on: https://gerrit.libreoffice.org/77998 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-12Fix typosAndrea Gelmini1-2/+2
Change-Id: Ica726584fe2691c9803976d23cba16d7f2a1f4bd Reviewed-on: https://gerrit.libreoffice.org/77355 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-08-12Fix typosAndrea Gelmini3-3/+3
Change-Id: Ic472270afa13d2c96a4c7ccc185d183c3b7ade2c Reviewed-on: https://gerrit.libreoffice.org/77277 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-07-31Improved loplugin:stringconstant (now that GCC 7 supports it): toolsStephan Bergmann2-6/+3
Change-Id: I6391e8caf4e344d410a31f45d391059498ebd928 Reviewed-on: https://gerrit.libreoffice.org/76635 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-18cid#1448224 Unchecked return valueCaolán McNamara1-1/+1
Change-Id: Ie13b8b8f865e44f3746fdf79bf0b1b2cec2aba1d Reviewed-on: https://gerrit.libreoffice.org/75845 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-07-15make tools::Rectangle::getBottom return 0 when emptyNoel Grandin1-0/+7
LayoutConverter::calcAbsRectangle needed to be tweaked because we now end up with a zero width/height instead of a large negative number. Change-Id: I81f04759a1d5bf6f44753a1701596796fad40567 Reviewed-on: https://gerrit.libreoffice.org/75610 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-15make tools::Rectangle::getWidth return 0 when emptyNoel Grandin1-0/+5
Change-Id: I5c7565309d380cdbe60a078d2c97f7dd1fae4274 Reviewed-on: https://gerrit.libreoffice.org/75517 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-12make tools::Rectangle::Bottom return Top when emptyNoel Grandin1-0/+6
Change-Id: Ia424b91149245907b045b43aa31a622e34e6e5bc Reviewed-on: https://gerrit.libreoffice.org/75504 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-12make tools::Rectangle::Right return Left when emptyNoel Grandin1-0/+6
I tried making this assert, but there are just too many places where we pass around empty rectangles, so rather just return the value of nLeft, in a similar fashion to methods like Rectangle::TopLeft Change-Id: I3377071ecae26f13e895ae411cd269f0bdbe0ef6 Reviewed-on: https://gerrit.libreoffice.org/75486 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-10make tools::Rectangle::SaturatingSetX/Y respect empty stateNoel Grandin1-2/+4
Change-Id: Ifef4c2ff967fdfbe122bca99e55d84e8e6c6a635 Reviewed-on: https://gerrit.libreoffice.org/75343 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-10make tools::Rectangle::setY respect empty stateNoel Grandin1-0/+6
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: I6feb94ca2f24246b96757575288c86c0b0c54227 Reviewed-on: https://gerrit.libreoffice.org/75342 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-10make tools::Rectangle::setX respect empty stateNoel Grandin1-0/+7
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: I2beae23bbdea36e91e0e367f9a94cbc35be3cd24 Reviewed-on: https://gerrit.libreoffice.org/75337 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-10make tools::Rectangle::AdjustBottom respect empty stateNoel Grandin1-0/+9
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: I9a3f7a0356ab625681419f74af0b9884624f3642 Reviewed-on: https://gerrit.libreoffice.org/75336 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-10make tools::Rectangle::AdjustRight respect empty stateNoel Grandin1-0/+8
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: I69c717be91712b73e9d3b8f9c83d26305c052bd5 Reviewed-on: https://gerrit.libreoffice.org/75300 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-09make tools::Rectangle::shrink respect empty stateNoel Grandin1-0/+11
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: Id529037e82b2fdd8c2120877a44fc7e069fc8406 Reviewed-on: https://gerrit.libreoffice.org/75298 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-09Fix Android build after commit fc0850d2784eaa79257cf1ea8c5d078c5241b5bfMike Kaganski1-1/+1
The second parameter is unused Change-Id: Iaf82ea24737a162c6aa8ce6b9e237f656a10020a Reviewed-on: https://gerrit.libreoffice.org/75283 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-07-09fix android build - fallback getCpuId only had one parameterTomaž Vajngerl1-1/+1
Change-Id: I91c679506aad727c7f536e79e79a720db860b5ae
2019-07-09CPU intrinsics detection (SSE, AVX)Tomaž Vajngerl3-26/+171
Adds CPU intrinsics detection in configure pass for compile time detection and "cpuid" runtime detection of which CPU instruction sets are available on the user device. Change-Id: I0ee4d0b22a7c51f72796d43e7383a31d03b437ad Reviewed-on: https://gerrit.libreoffice.org/75175 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-07-08make tools::Rectangle::expandBy respect empty stateNoel Grandin1-0/+15
and make non-inline so it is easy to disable this for debugging, if need be Change-Id: Ib383bb990ddcd835ff37e98893e44156287e0488 Reviewed-on: https://gerrit.libreoffice.org/75227 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-28tdf#126121: WebDAV redirection detectionMike Kaganski2-8/+27
This rewrites URI of a document opened from a WebDAV mapped UNC path on Windows (like "file://server/DavWWWRoot/Dir/Doc.odt") into HTTP URI (like "http://server/Dir/Doc.odt"). This allows using WebDAV protocol for these files, and e.g. get information about other user who locked the document to show when asking if open read-only or a copy. Change-Id: I643fa8df30d4b163783b279b1b973304fcafff37 Reviewed-on: https://gerrit.libreoffice.org/71746 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-06-25improve loplugin:simplifyconstructNoel Grandin2-4/+2
Change-Id: If863d28c6db470faa0d22273020888d4219e069e Reviewed-on: https://gerrit.libreoffice.org/74559 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-25tdf#94677 Calc is slow opening large CSV, improve tools::FractionNoel Grandin1-104/+69
Flatten the tools::Fraction class. Shaves 1s off a load time of 49s Change-Id: I7cbee9892831a1e47704a283351fa97eda262343 Reviewed-on: https://gerrit.libreoffice.org/74639 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-21Add test clarifying behavior of INetURLObject::setName on empty pathStephan Bergmann1-0/+39
...as the commit message of f270bd15fed87a9cb0f8dfa73b34c617d66f59c2 "Fix INetURLObject::setName description" observes: "But for a hierarchical URL with an empty (i.e., just "/" in the canonic form) path, setName("foo") actually returns false." (I /think/ it should work for bIgnoreFinalSlash=false, but which had been removed from setName with 359e0b47a0f96ffa595a0c38a5e5318d797812fe "loplugin:unuseddefaultparams".) Change-Id: I063000625d55c589782fe855923107719709df3a Reviewed-on: https://gerrit.libreoffice.org/74504 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>