summaryrefslogtreecommitdiff
path: root/compilerplugins/clang/staticmethods.cxx
AgeCommit message (Collapse)Author
2019-03-24Resolves: tdf#122114 remove support for ~/.recently-used fileArkadiy Illarionov
Change-Id: Ie91f0bf21e6f5c3f7a7aa4ae3d1dff6cc8e15a86 Reviewed-on: https://gerrit.libreoffice.org/69597 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-11-16loplugin:staticmethods improvementNoel Grandin
Change-Id: I8889ce8a7d2309b54454cfe4c6421282e1c6e755 Reviewed-on: https://gerrit.libreoffice.org/63434 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-14filter out some of the AST in the pluginsNoel Grandin
by checking if the current namespace decl is in our code, so we have to scan less stuff, which results in a 10% perf improvement for me Change-Id: Idf0e30d57b6d0dcd13daa9ed679c28b9d233d387 Reviewed-on: https://gerrit.libreoffice.org/58942 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-10Avoid -Werror=deprecated-declarations with recent Clang trunkStephan Bergmann
...which first added alternative names to and then deprecated getLocBegin/End Change-Id: Iaefb8ce259057abfa6cd20f0b63c0ef2949a96b2 Reviewed-on: https://gerrit.libreoffice.org/58820 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-06compilerplugins: try to make these work with icecreamMichael Stahl
There are some problems here, this should fix one of them: the getFilename function returns "<stdin>" for spelling locations, because the input to clang is sort of preprocessed via -frewrite-includes if icecream is used and the file is built on a remote host (whereas it's apparently not preprocessed if the file is compiled locally by icecream). Using getPresumedLoc() uses the #line directives in the preprocessed input, which avoids the problem but is more expensive, so try to use it only when necessary. The getFileEntry(getMainFileID())->getName() pattern will also result in "<stdin>", but fortunately icecream passes -main-file-name, which oddly enough isn't used by the SourceManager's spelling locations, but is available separately via CodeGenOptions. This builds everything successfully with clang version 6.0.0: ICECC_PREFERRED_HOST=myremote make check gb_SUPPRESS_TESTS=t Change-Id: Ic121511683e5302d7b9d85186c8b9c4a5443fa1b Reviewed-on: https://gerrit.libreoffice.org/54993 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-03-27Let prefix arguments to hasPathnamePrefix end in slashStephan Bergmann
...for better precision Change-Id: I5f273b7c66ba931647805c415622b5ac767ff987
2017-12-19Bump --enable-compiler-plugins to Clang 3.8.0Stephan Bergmann
<https://lists.freedesktop.org/archives/libreoffice/2017-December/079107.html> "Clang baseline bump" Change-Id: I18fca8794ea34118fc6308458064d0c28cf5caf7 Reviewed-on: https://gerrit.libreoffice.org/46557 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-07Clean away temporarily added using declarationsStephan Bergmann
Change-Id: I26734c13515394162d88351a1cbe2b20abdac865
2017-09-29Adapt loplugins to clang-cl's (implicit) -fdelayed-template-parsingStephan Bergmann
...which is there for MSVC compatibility, but can cause getBody() to return null even when doesThisDeclarationHaveABody() is true. And in staticmethods.cxx we need to check doesThisDeclarationHaveABody() instead of hasBody(): For some class template member functions that are only defined outside their class definition, as is the case for OSequenceIterator::hasMoreElements in include/comphelper/sequence.hxx, hasBody() may be true for the original member function declaration inside the class (as there is some later definition that does have a body), but isLateTemplateParsed() is not (it is only true for the later definition). So just skip any such declarations that are not definitions (which is sane anyway, as otherwise such functions could pointlessly be inspected multiple times). Change-Id: I724f652a8f060a931f8b5fc3e4feb5f307a922bf Reviewed-on: https://gerrit.libreoffice.org/42914 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2017-06-23std::string -> StringRefStephan Bergmann
Change-Id: I06145822290ae4b3690a792eb4d2ad79437fd9cc
2017-05-18Adapt pathname checks to mixed usage of \ and / on WindowsStephan Bergmann
Change-Id: I91bc89a9076c6642e06b238f65f2d31a1d20c6b5
2017-02-01loplugin: use TypeCheck instead of getQualifiedNameAsStringNoel Grandin
since the latter is rather slow Change-Id: Ib73cdb923585580777c2265b561c1808e93b2baa Reviewed-on: https://gerrit.libreoffice.org/33585 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-18loplugins: extract some common functionalityNoel Grandin
Change-Id: If470e1d9b481c9eda0829aa985152baf8fb46d7a
2016-10-07loplugin:staticmethods: Don't be fooled by decls starting with macrosStephan Bergmann
...like SAL_DLLPRIVATE coming from UNO include files. Change-Id: I9eb64c96b7e9e2a3742a166cedcf635d98fe65a0
2016-10-07loplugin:staticmethods: swStephan Bergmann
Change-Id: I2b06eb926ebc8ab04883da3272ea239a12e09436
2016-06-29typoStephan Bergmann
Change-Id: I31053ae472f74eaf3a86159a273424174329d0bd
2016-06-29Further clean-upStephan Bergmann
Change-Id: Id07b37629eb2a0b6d33297bffcf86d41c5d6fbe2
2016-06-28AllocatorTraits::size can be static after allStephan Bergmann
Change-Id: If9ce8a094af878497e980cdcfaf11604d613e5b8
2016-06-28More Clang 3.4 "(anonymous namespace)" fixesStephan Bergmann
Change-Id: I7cb43f915565dadd611b90ee30373e472f97efb5 Reviewed-on: https://gerrit.libreoffice.org/26748 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-06-28More adaption to Clang 3.4Stephan Bergmann
...where NmaedDecl::getQualifiedNameAsString (which is expensive and bad, anyway) apparently returns something other than "(anonymous namespace)" Change-Id: I05ef96665c48f8f596dd0d317388e91a75b8307b
2016-06-28Adapt to Clang 3.4 (in preparation of a buildbot on CentOS 7)Stephan Bergmann
Change-Id: Ie2859f03b31c57deb7fd0deba3285f782e33b239
2016-03-11tdf#97966: Remove 'static' keywordsWastack
Change-Id: Id991cead4f01830eafd9cf8dd63b519ef07c9451 Reviewed-on: https://gerrit.libreoffice.org/23134 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-02-26These version checks are about the Clang the plugins are built /against/Stephan Bergmann
...not the (Clang) compiler they are being built /with/. (Also simplifies the checking #if code.) Change-Id: I416321be4ef4478785be40571f81500fd3b6feb8
2016-01-07Fix typosAndrea Gelmini
Change-Id: I90b04b8eda6fc3d530c9db72052720cbe9de0343 Reviewed-on: https://gerrit.libreoffice.org/21197 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-10-25tdf#39440: fix several warnings reported by cppcheckSerge Krot
Change-Id: I560d28b7cc67740c6479494d0e5aa62d2ac6ffae Reviewed-on: https://gerrit.libreoffice.org/19587 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2015-09-21tdf#94389 compilerplugins: clang 3.7.0Daniel Robertson
Fix errors that occur in build with clang 3.7.0 Change-Id: I0e8743f2b6a288d10b4e78e884ce34cfca4dd77c Reviewed-on: https://gerrit.libreoffice.org/18738 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2015-08-04fix crash in refcounting pluginNoel Grandin
introduced by commit c15b4cf39a74176cee64795129d76f411d2c0a69 "Adapt to current Clang trunk towards 3.7" Change-Id: I00f58d3bc79e641df9bba4e9b1d5c8463b87dc42
2015-08-04Adapt to current Clang trunk towards 3.7Stephan Bergmann
Change-Id: Ibb2c641d49a1773be789c9259f53a040db6f605f
2015-05-08lopluign:staticmethods: Handle DECL_LINKStephan Bergmann
Change-Id: Ib27854a8470f3ff5b208cb949a7bd02f2a86c969
2015-05-08lopluign:staticmethods: Improve diagnosticsStephan Bergmann
Change-Id: I6079f387a697c5fe794655e455a19d0cb44b96bc
2015-05-08Enable loplugin:staticmethodsStephan Bergmann
Change-Id: Ic0062eddebf9225d298569bb4900047a0ee0b112
2015-05-05loplugin:staticmethodsNoel Grandin
Change-Id: I4d19f868a618cb135aa7a949222972dc35b47d2a
2015-05-05loplugin:staticmethodsNoel Grandin
Change-Id: I97160fc51dc16ff92b06d44570298eeec637e132
2015-05-05loplugin:staticmethodsNoel Grandin
Change-Id: I90dd921077bbfc57200e398e7959306f26c65cfe
2015-05-05loplugin:staticmethodsNoel Grandin
Change-Id: I60678dfd1bd0d2e4754dbbe6ba053e90d5870780
2015-05-05loplugin:staticmethodsNoel Grandin
Change-Id: I384a5e60f4b7b2f479c89ef97630519059ab720f
2015-05-05loplugin:staticmethodsNoel Grandin
Change-Id: Iea68c4e466dd8e1cb7164959a680e5e52542166b
2015-04-23loplugin:staticmethodsNoel Grandin
Change-Id: Iab2f10b000ef41fb090e0034785d4ed0bda4cf43
2015-04-23loplugin:staticmethodsNoel Grandin
Change-Id: I2ee91d07cf9d46cdc385a4db8473550b05e2f0ad
2015-04-23loplugin:staticmethodsNoel Grandin
Change-Id: I6207b475127099872c6f3764331006688129b673
2015-04-23loplugin:staticmethodsNoel Grandin
Change-Id: Ib0c0841e48814d1a6e13bcd4575725d86ffa5e5e
2015-04-23loplugin:staticmethodsNoel Grandin
Change-Id: I200fdb2e193127f0c9e8cec4859845d3ec19cea0
2015-04-13loplugin:staticmethodsNoel Grandin
Change-Id: If97f01a05294fa7efd59a8934c7b6f65cda5084a
2015-04-13loplugin:staticmethodsNoel Grandin
Change-Id: I33a8ca28b0c3bf1c31758d93238e74927bebde9c
2015-04-09loplugin:staticmethodsNoel Grandin
Change-Id: I715374b531da2850434b2436633b6042ecb9ebe0
2015-04-09loplugin:staticmethodsNoel Grandin
Change-Id: Ie348778ea666c24e95e048386547f301083a0017
2015-04-02loplugin:staticmethodsNoel Grandin
Change-Id: Ibf0c73ac17ec19ed672f66907db47057920babca
2015-03-28Clean up isMacroBodyExpansionStephan Bergmann
Change-Id: I745b320dd5f44d54371d8a0b961c49793e3e0ad6
2015-03-27new clang plugin: staticmethodsNoel Grandin
Genius suggestion from Tor Lillqvist, write a clang plugin that finds methods that can be static. Change-Id: Ie6684cc95d088e8750b300a028b49f763da00345