summaryrefslogtreecommitdiff
path: root/compilerplugins
AgeCommit message (Collapse)Author
2023-08-22tdf#146619 Remove unused includes from sal/qaGabor Kelemen
also drop now-unused osl_Condition_Const.h Change-Id: I40beb5b1ad49c126a126bb444d5f66703664d56d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155820 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-08-19loplugin: new global analysis locking2Noel Grandin
look for methods where we don't need to guard access to the field, because the field is never modified Change-Id: I62c33cc3f52881557515765d3733c4afc78547aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155836 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-08loplugin:unnecessarygetstr fix false +Noel Grandin
encountering when we need to pass a std::string to an OString Change-Id: I91d2aa1f20e7c2407c708c9ce4ae82fb52934c85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152526 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-04Avoid "function 'testDynamicCast()::S1::~S1' has internal linkage...Stephan Bergmann
...but is not defined" Change-Id: Ib1350d5d34eef0d544ca8f436ae63c693b7d2f5d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155354 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-08-03move SwVirtPageNumInfo to SfxHintBjoern Michaelsen
- also remove now obsolete GetInfo overrides Change-Id: Iaac75ed2e53daead06242ce4620fd2b879909e02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155061 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2023-07-31loplugin:stringconstant: Catch some O[U]String::getStr anti-patternsStephan Bergmann
Change-Id: I36bc86fcffc3c10fe44e60d779c9aa48eeed00f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154749 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-07-27vcl gtk3: Introduce AT-SPI2 tests for the GTK3 accessibility layerColomban Wendling
Add tests for the GTK3 accessibility platform layer. These tests compare the internal LO representation with what is visible to the platform, and thus the user's accessibility tools. In most cases the tests are fairly trivial as LO's internals are not far off AT-SPI2's expectations. There are however notable exceptions like for example the text attributes, that have a wildly different representation and require more complex checks matching what LO's platform layer does, the other way around. These tests use libatspi2 directly, but as the C API is awful to work with regarding resource management, there are wrappers to handle the complexity using RAII. The resulting API is fairly trivial to use. As these tests require using the GTK3 VCL plugin and for the a11y tree to be visible to AT-SPI2, they are run under XVFB using a separate dbus session through dbus-launch. Working on this has already lead to reporting and/or solving some issues: * https://gerrit.libreoffice.org/c/core/+/151303 * https://gerrit.libreoffice.org/c/core/+/151650 * https://gerrit.libreoffice.org/c/core/+/152456 * https://gerrit.libreoffice.org/c/core/+/152457 * https://bugs.documentfoundation.org/show_bug.cgi?id=155625 * https://bugs.documentfoundation.org/show_bug.cgi?id=155705 * https://gerrit.libreoffice.org/c/core/+/152748 Only a subset of the a11y APIs are covered for the moment, but the current state should make it easy to extend upon. Change-Id: I1a047864ce8dc1f1bc3056ad00159f7fd5e5b7d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153069 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-25loplugin:unusedfieldsNoel Grandin
Change-Id: If9c76b9c500a5bee0fbf20a44597a250b7fa2af0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154808 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-23Drop --enable-float-device-pixel configure optionKhaled Hosny
This does nothing now, as we are now always using doubles for VCL glyph coordinates. Change-Id: I87e4e3057dbc54a2ecf0924d3d6a408cf519f842 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154631 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-21loplugin:unusedmethodsNoel Grandin
Change-Id: Id2bbe63ca8d4255fd883798581ac7fa1fda7dba9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154723 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-21loplugin:unusedfieldsNoel Grandin
Change-Id: Ic2e9de67a00bb9ca8ab4d0f7528b22c58d0cc360 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154721 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-21loplugin:redundantcast small improvementNoel Grandin
Change-Id: I2c96b367138b94d6178a3c4a0f83049f13a04f82 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154679 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-05loplugin:unusedenumconstantsNoel Grandin
Change-Id: I53817a6b017203d8694032320869d11412c57ee9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154027 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-04loplugin:unusedvarsglobalNoel Grandin
Change-Id: Ia86c8bd0bdc85c375eb3837ba97f9e171d9dac6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153974 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-30loplugin:unusedmethodsNoel Grandin
Change-Id: I8d3402a69237b665462e04440ad73fe29e2133db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153807 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-29loplugin:unusedmethodsNoel Grandin
Change-Id: I95ab7581dec35b113cb657ce8e5ee27c89c73593 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153746 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-29loplugin:unusedfields make it a little smarterNoel Grandin
around dealing with operator[] on map data-types Change-Id: Idd6654948ae2d03d634fcf30a8d98530a78ab4ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153740 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-27loplugin:stringstatic look for more stringsNoel Grandin
that can be initialised at compile-time instead of runtime Change-Id: I08d516fdc13a3a79f93c079f89ac44cbc7a1ed71 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153620 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-26new loplugin:constexprliteralNoel Grandin
OUStringLiteral should be declared constexpr, to enforce that it is initialised at compile-time and not runtime. This seems to make a different at least on Visual Studio Change-Id: I1698f5fa22ddb480347c2f4d444530c2e0e88d92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153499 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-06add unit test for loplugin:staticmethodsNoel Grandin
Change-Id: Ied72c83dbc364f96e5b78a3cb915b23a1751ac0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152646 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-05Adapt compilerplugins to Clang 17 trunk "Remove llvm::Optional"Stephan Bergmann
(<https://github.com/llvm/llvm-project/commit/397f2e9ebee8d8e45547e90dd05228d7f965df67>) Change-Id: I51acda5951f8250d1a1b47e1c2612199ae7338a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152618 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-06-04Remove unused starmathdatabase::Identify_Color_HTMLJulien Nabet
Seems to be unused since 88c343b50a1de197394e3e22bf82ff455386a80b "Corrected my previous mess on mathml export with color export 2. Now only exports HTML4 colors and others are treated as #RRGGBB. Now mathml can import #RGB colors. " in 2020 Change-Id: Iac006383146afaa62775e6e76fa203925dce51d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152585 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2023-06-03Remove unused SmStructureNode::SetSubNodesBinMo with plain pointers (starmath)Julien Nabet
and keep the remaining one which uses unique_ptr Change-Id: I0e4e4aff5c202897a27dfef97750c14c3c5736bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152581 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-06-03Styles preview cache cleanup on exitSzymon Kłos
Change-Id: I28929d4137008ebcca1733837d0b2112b6859a89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152563 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152576 Tested-by: Jenkins
2023-06-03Styles preview widget should cache imagesSzymon Kłos
Change-Id: I3ee370e5d3ef4227681c4a973ac6f24f9aa241e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152556 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152575
2023-05-20loplugin:unusedmethodsNoel Grandin
Change-Id: Ief95f111350808f010539bb733a553007d30a9df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152006 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-19loplugin:unnecessaryvirtualNoel Grandin
Change-Id: I3a3d4debd83f1a6452721ce704b6b88622b38109 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152004 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-19loplugin:virtualdeadNoel Grandin
Change-Id: I089fd6b9281cc35768462e83a7e18588f357df4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152003 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-09merge GalleryFileStorage with GalleryBinaryEngineNoel Grandin
Change-Id: Id948627873db9c646d1a81784dd16f6aa1c2063b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151553 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-09merge GalleryFileStorageEntry with GalleryBinaryEngineEntryNoel Grandin
Change-Id: I21b3f49cdf04b021931ab9e1171bfffa5cd76e1f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151552 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-09merge GalleryStorageLocations with GalleryBinaryStorageLocationsNoel Grandin
Change-Id: Icf9a942047f212132d7b543cd1b1a857f8f95223 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151551 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-06update loplugin:stringview* for o3tl::iterateCodePointsNoel Grandin
And change o3tl::iterateCodePoints to use sal_Int32 for its second param, to integrate better with places where the parameter comes from an UNO API, which cannot use std::size_t Change-Id: I7b9dd2c9bc7f48e6c4a912f039f1b5dae7beae69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151421 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-05Adapt loplugin:unnecessarygetstr to libc++Stephan Bergmann
> [CPT] compilerplugins/clang/test/unnecessarygetstr.cxx > error: 'error' diagnostics expected but not seen: > File compilerplugins/clang/test/unnecessarygetstr.cxx Line 119 (directive at compilerplugins/clang/test/unnecessarygetstr.cxx:118): unnecessary call to 'getStr' when passing to string constructor [loplugin:unnecessarygetstr] because libcxx's <string> declares > template <__enable_if_t<__is_allocator<_Allocator>::value, int> = 0> > _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s) and > template <__enable_if_t<__is_allocator<_Allocator>::value, int> = 0> > _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, const _Allocator& __a) instead of single > basic_string(const charT* s, const Allocator& a = Allocator()) Change-Id: I8d64b140618337adfba01c02d5d02fda093628f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151392 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-05-04Adapt loplugin:randedforcopy to libc++ std::vector<bool>Stephan Bergmann
Seen unhelpful > sc/source/core/data/dpoutput.cxx:882:10: error: Loop variable passed by value, pass by reference instead, e.g. 'const const reference&' [loplugin:rangedforcopy] > for (const auto bCompact: aRowCompactFlags) > ^~~~~~~~~~~~~~~~~~~~ on macOS Change-Id: I9854e2498950951efc640bf31741229631e00e87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151393 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-05-01replace SwFrameFormats with sw::FrameFormats<SwFrameFormat*>Bjoern Michaelsen
- SwFrameFormats is now completely replaced by stronger typed sw::FrameFormats<>, thus remove it Change-Id: I7e655a83ba8cf01d1e68dccd1804c167e8daca9c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150455 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
2023-04-24loplugin:unnecessarygetstr extend to more std::string checkingNoel Grandin
suggested by mike kaganski Change-Id: I5f5f254142767aca45a6101abdd84a0163ca6a34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150936 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-24loplugin:unnecessarygetstr extend to createFromAsciiNoel Grandin
idea from mike kaganski Change-Id: I0ecb9cad091d7a048d2ddae73165bf22748f3872 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150907 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-21loplugin:unnecessarygetstr extend to checking std::string::c_strNoel Grandin
Change-Id: I17398e2a6a31a2c98ba8e54b5c8045f22aee8759 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150749 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-17loplugin:stringadd: Adapt O[U]StringBuffer ctor detection for WindowsStephan Bergmann
...where sal_Int32 is not int, so a literal argument like 16 actually calls the O[U]StringBuffer(T length, std::enable_if_t<std::is_integral_v<T>, int> = 0) overload Change-Id: I1d151efbc723cbfa76690e02491b05a9a4147e91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150473 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-04-17Adapt expected diagnostics to WindowsStephan Bergmann
...where std::size_t is unsigned long long Change-Id: Icfe3927deaf4ffe57ac218ec109864852913cf31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150474 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-04-14loplugin:stringviewparam improvementsNoel Grandin
improve the check by checking for methods that exclude using string_view, rather than checking for methods that __can__ use string_view, which leads to exposing some holes in our o3tl/string_view.hxx coverage. Change-Id: Ic9dd60441c671f502692f9cd2a1bb67301c4b960 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150277 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-12loplugin:stringview whitelist getLength and isEmptyNoel Grandin
Change-Id: I38f3410c0b25ff579879b9de1f266af4d8fd51e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150256 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-12loplugin:stringview and stringviewparam, whitelist equalsAsciiLNoel Grandin
since we have a o3tl::equalsAscii that can handle that Change-Id: I0ae3b81cd5b4d97a0aef92cb6586cf365ee042b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150239 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-11loplugin:unnecessarygetstr check for OUString::number facilitiesNoel Grandin
These were fixed by mike kaganski, but add to the plugin to prevent future mistakes Change-Id: I09b4b094a74e02399e017ccf5631c0d68052344a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150215 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-10Drop SvStream::WriteCharPtrMike Kaganski
WriteOString is a better replacement Change-Id: Ic431b9aeb98d19fe61cff71360eee555105cc2bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150192 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-04-09new loplugin:unnecessarygetstrNoel Grandin
which prevents constructing unnecessary temporaries via getStr() Change-Id: I9ca70893a10e954b5ee0e6ad6098660ee24c2bef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150170 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-06loplugin:stringadd also check O[U]StringBuffersNoel Grandin
For similar code sequences that can be improved. Also move containsComment from collapseif plugin code to plugin.cxx so we can use it from stringadd. Change-Id: Ie07d9aedf2c31cb0b2080e1b8584294d7046a8e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149217 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-05Adapt expected test output to recent ClangStephan Bergmann
...after 90c590812eecb3a0eb2748a132e304fa6c0ea0ad "Simplify O(U)String::number implementation" Change-Id: I3f5d7b1ff41a6d55293f15f15fd67bd5d2e69d69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150045 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-04-05Simplify O(U)String::number implementationMike Kaganski
Change-Id: I059f0324597a90aee01c95170a48ac5578f3caee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150037 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-03-23loplugin:stringview: Constructing O[U]String from O[U]StringLiteral is cheapStephan Bergmann
...so don't warn about those, as requested in the comment at <https://gerrit.libreoffice.org/c/core/+/149254/8#message-6430dc5397ab7b60bf4e78e6856b44ab6cd72c97> "tdf#154319: fix TOC field codes parsing" Change-Id: I25989cd4b42bc3fe9062a8a0d6896d32a18635d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149417 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>