Commit Graph

43 Commits

Author SHA1 Message Date
Stephan Bergmann
9663341f92 Bump --enable-compiler-plugins to Clang 3.8.0
<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-12-19 22:08:38 +01:00
Stephan Bergmann
b35bb38f18 Clean away temporarily added using declarations
Change-Id: I26734c13515394162d88351a1cbe2b20abdac865
2017-11-07 11:50:47 +01:00
Stephan Bergmann
419d664fb7 Adapt loplugins to clang-cl's (implicit) -fdelayed-template-parsing
...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-09-29 13:31:23 +02:00
Stephan Bergmann
e9ad1b4f2f std::string -> StringRef
Change-Id: I06145822290ae4b3690a792eb4d2ad79437fd9cc
2017-06-23 15:18:21 +02:00
Stephan Bergmann
df8d092c3a Adapt pathname checks to mixed usage of \ and / on Windows
Change-Id: I91bc89a9076c6642e06b238f65f2d31a1d20c6b5
2017-05-18 09:56:01 +02:00
Noel Grandin
994e38e336 loplugin: use TypeCheck instead of getQualifiedNameAsString
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>
2017-02-01 12:49:42 +00:00
Noel Grandin
40fd53a238 loplugins: extract some common functionality
Change-Id: If470e1d9b481c9eda0829aa985152baf8fb46d7a
2016-10-18 08:51:07 +02:00
Stephan Bergmann
3ee3b36ae0 loplugin:staticmethods: Don't be fooled by decls starting with macros
...like SAL_DLLPRIVATE coming from UNO include files.

Change-Id: I9eb64c96b7e9e2a3742a166cedcf635d98fe65a0
2016-10-07 12:07:43 +02:00
Stephan Bergmann
f1cb6a031e loplugin:staticmethods: sw
Change-Id: I2b06eb926ebc8ab04883da3272ea239a12e09436
2016-10-07 12:07:43 +02:00
Stephan Bergmann
6439d93cbe typo
Change-Id: I31053ae472f74eaf3a86159a273424174329d0bd
2016-06-29 08:54:33 +02:00
Stephan Bergmann
94cba04b33 Further clean-up
Change-Id: Id07b37629eb2a0b6d33297bffcf86d41c5d6fbe2
2016-06-29 07:31:26 +02:00
Stephan Bergmann
0d3f9667bb AllocatorTraits::size can be static after all
Change-Id: If9ce8a094af878497e980cdcfaf11604d613e5b8
2016-06-28 22:38:57 +02:00
Stephan Bergmann
0d3738a258 More Clang 3.4 "(anonymous namespace)" fixes
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-28 20:33:58 +00:00
Stephan Bergmann
c1ab6613ae More adaption to Clang 3.4
...where NmaedDecl::getQualifiedNameAsString (which is expensive and bad,
anyway) apparently returns something other than "(anonymous namespace)"

Change-Id: I05ef96665c48f8f596dd0d317388e91a75b8307b
2016-06-28 17:48:22 +02:00
Stephan Bergmann
9308f35318 Adapt to Clang 3.4 (in preparation of a buildbot on CentOS 7)
Change-Id: Ie2859f03b31c57deb7fd0deba3285f782e33b239
2016-06-28 16:26:33 +02:00
Wastack
9a13cff647 tdf#97966: Remove 'static' keywords
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-03-11 08:57:51 +00:00
Stephan Bergmann
01f3b95884 These version checks are about the Clang the plugins are built /against/
...not the (Clang) compiler they are being built /with/.  (Also simplifies the
checking #if code.)

Change-Id: I416321be4ef4478785be40571f81500fd3b6feb8
2016-02-26 14:34:29 +01:00
Andrea Gelmini
597e694e7e Fix typos
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>
2016-01-07 12:29:04 +00:00
Serge Krot
0b018d202d tdf#39440: fix several warnings reported by cppcheck
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-10-25 22:31:44 +00:00
Daniel Robertson
ef779d339e tdf#94389 compilerplugins: clang 3.7.0
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-09-21 13:53:47 +00:00
Noel Grandin
3d5dc80b07 fix crash in refcounting plugin
introduced by commit c15b4cf39a
"Adapt to current Clang trunk towards 3.7"

Change-Id: I00f58d3bc79e641df9bba4e9b1d5c8463b87dc42
2015-08-04 10:25:48 +02:00
Stephan Bergmann
c15b4cf39a Adapt to current Clang trunk towards 3.7
Change-Id: Ibb2c641d49a1773be789c9259f53a040db6f605f
2015-08-04 09:36:32 +02:00
Stephan Bergmann
5eb6bd4db7 lopluign:staticmethods: Handle DECL_LINK
Change-Id: Ib27854a8470f3ff5b208cb949a7bd02f2a86c969
2015-05-08 19:15:32 +02:00
Stephan Bergmann
e6fa865b4d lopluign:staticmethods: Improve diagnostics
Change-Id: I6079f387a697c5fe794655e455a19d0cb44b96bc
2015-05-08 19:15:31 +02:00
Stephan Bergmann
aa50b1c03f Enable loplugin:staticmethods
Change-Id: Ic0062eddebf9225d298569bb4900047a0ee0b112
2015-05-08 16:57:49 +02:00
Noel Grandin
0a442d3815 loplugin:staticmethods
Change-Id: I4d19f868a618cb135aa7a949222972dc35b47d2a
2015-05-05 14:05:20 +02:00
Noel Grandin
7d426e6fd6 loplugin:staticmethods
Change-Id: I97160fc51dc16ff92b06d44570298eeec637e132
2015-05-05 14:05:20 +02:00
Noel Grandin
259820af71 loplugin:staticmethods
Change-Id: I90dd921077bbfc57200e398e7959306f26c65cfe
2015-05-05 09:30:41 +02:00
Noel Grandin
e95b073790 loplugin:staticmethods
Change-Id: I60678dfd1bd0d2e4754dbbe6ba053e90d5870780
2015-05-05 09:30:40 +02:00
Noel Grandin
f304a7a14a loplugin:staticmethods
Change-Id: I384a5e60f4b7b2f479c89ef97630519059ab720f
2015-05-05 09:30:39 +02:00
Noel Grandin
d3b5038cbb loplugin:staticmethods
Change-Id: Iea68c4e466dd8e1cb7164959a680e5e52542166b
2015-05-05 09:30:39 +02:00
Noel Grandin
7ab8b08b6c loplugin:staticmethods
Change-Id: Iab2f10b000ef41fb090e0034785d4ed0bda4cf43
2015-04-23 13:08:48 +02:00
Noel Grandin
0a7b739cc3 loplugin:staticmethods
Change-Id: I2ee91d07cf9d46cdc385a4db8473550b05e2f0ad
2015-04-23 13:08:48 +02:00
Noel Grandin
79ed057b95 loplugin:staticmethods
Change-Id: I6207b475127099872c6f3764331006688129b673
2015-04-23 13:08:48 +02:00
Noel Grandin
12ba9e3cad loplugin:staticmethods
Change-Id: Ib0c0841e48814d1a6e13bcd4575725d86ffa5e5e
2015-04-23 13:08:48 +02:00
Noel Grandin
6d5ae48427 loplugin:staticmethods
Change-Id: I200fdb2e193127f0c9e8cec4859845d3ec19cea0
2015-04-23 13:08:47 +02:00
Noel Grandin
ee094bd46f loplugin:staticmethods
Change-Id: If97f01a05294fa7efd59a8934c7b6f65cda5084a
2015-04-13 09:37:12 +02:00
Noel Grandin
26ec80f47d loplugin:staticmethods
Change-Id: I33a8ca28b0c3bf1c31758d93238e74927bebde9c
2015-04-13 09:37:12 +02:00
Noel Grandin
14505bb67e loplugin:staticmethods
Change-Id: I715374b531da2850434b2436633b6042ecb9ebe0
2015-04-09 11:01:06 +02:00
Noel Grandin
35163715ea loplugin:staticmethods
Change-Id: Ie348778ea666c24e95e048386547f301083a0017
2015-04-09 10:13:18 +02:00
Noel Grandin
e9cb5577f4 loplugin:staticmethods
Change-Id: Ibf0c73ac17ec19ed672f66907db47057920babca
2015-04-02 09:38:29 +02:00
Stephan Bergmann
78ad5ecd98 Clean up isMacroBodyExpansion
Change-Id: I745b320dd5f44d54371d8a0b961c49793e3e0ad6
2015-03-28 19:16:47 +01:00
Noel Grandin
c4a9241f72 new clang plugin: staticmethods
Genius suggestion from Tor Lillqvist, write a clang plugin that finds
methods that can be static.

Change-Id: Ie6684cc95d088e8750b300a028b49f763da00345
2015-03-27 10:51:08 +02:00